Հրապարակվել է Unix-ի նման ToaruOS 2.1 օպերացիոն համակարգի թողարկումը, որը գրվել է զրոյից և մատակարարվել է իր սեփական միջուկով, բեռնիչով, ստանդարտ C գրադարանով, փաթեթի կառավարիչով, օգտագործողի տարածքի բաղադրիչներով և գրաֆիկական ինտերֆեյսով՝ կոմպոզիտային պատուհանների կառավարիչով: Նախագիծն ի սկզբանե զարգանում էր Իլինոյսի համալսարանում որպես հետազոտական աշխատանք նոր կոմպոզիտային գրաֆիկական ինտերֆեյսերի ստեղծման ոլորտում, բայց հետո վերածվեց առանձին օպերացիոն համակարգի: Ծրագրի կոդը գրված է C-ով և տարածվում է BSD լիցենզիայի ներքո: Ներբեռնման համար պատրաստվել է 14.4 ՄԲ չափի կենդանի պատկեր, որը կարելի է փորձարկել QEMU, VMware կամ VirtualBox-ում։
ToaruOS-ը հիմնված է միջուկի վրա, որն օգտագործում է հիբրիդային մոդուլային ճարտարապետություն, որը միավորում է մոնոլիտ շրջանակը և գործիքները բեռնվող մոդուլների օգտագործման համար, որոնք կազմում են սարքի հասանելի դրայվերների մեծ մասը, ինչպիսիք են սկավառակի դրայվերները (PATA և ATAPI), EXT2 և ISO9660 ֆայլային համակարգերը, շրջանակային բուֆերը: , ստեղնաշարեր, մկնիկներ, ցանցային քարտեր (AMD PCnet FAST, Realtek RTL8139 և Intel PRO/1000), ձայնային չիպեր (Intel AC'97), ինչպես նաև VirtualBox հավելումներ հյուր համակարգերի համար։ Միջուկն աջակցում է Unix threads, TTY, վիրտուալ ֆայլային համակարգ, կեղծ ֆայլային համակարգ /proc, multithreading, IPC, ramdisk, ptrace, համօգտագործվող հիշողություն, բազմաֆայլեր և այլ ստանդարտ գործառույթներ:
Համակարգը հագեցած է կոմպոզիտային պատուհանների կառավարիչով, աջակցում է դինամիկ կապակցված գործարկվող ֆայլեր ELF ձևաչափով, բազմաբնույթ առաջադրանքների կատարում, գրաֆիկական փաթեթ, կարող է գործարկել Python 3 և GCC: Ext2-ն օգտագործվում է որպես ֆայլային համակարգ: Բեռնախցիկը աջակցում է BIOS-ին և EFI-ին: Ցանցային կույտը թույլ է տալիս օգտագործել BSD ոճի վարդակների API-ներ և աջակցում է ցանցային ինտերֆեյսներին, ներառյալ շրջադարձը:
Բնական հավելվածներից առանձնանում է Vi-ի նման կոդերի խմբագրիչը Bim-ը, որն օգտագործվել է վերջին մի քանի տարիներին ToaruOS-ին հատուկ հավելվածներ մշակելու համար, ինչպիսիք են ֆայլերի կառավարիչը, տերմինալի էմուլյատորը, վիդջեթների աջակցությամբ գրաֆիկական վահանակը, փաթեթների կառավարիչը, ինչպես նաև: որպես պատկերների (PNG, JPEG) և TrueType տառատեսակներ աջակցող գրադարաններ: Ծրագրեր, ինչպիսիք են Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo emulator, Bochs և այլն, տեղափոխվել են ToaruOS:
Նախագիծը նաև մշակում է իր սեփական դինամիկ ծրագրավորման լեզուն՝ Kuroko-ն, որը նախատեսված է փոխարինելու Python-ին համակարգի համար կոմունալ ծառայություններ և մաքսային հավելվածներ մշակելիս: Լեզուն շարահյուսության մեջ հիշեցնում է Python-ը (տեղադրված է որպես Python-ի կրճատված բարբառ՝ փոփոխականների հստակ սահմանմամբ) և ունի շատ կոմպակտ իրականացում։ Աջակցվում է բայթկոդի կազմումը և մեկնաբանումը: Բայթկոդերի թարգմանիչն ապահովում է աղբահանող սարք և աջակցում է բազմաշերտ առանց գլոբալ կողպման օգտագործման: Կազմողն ու թարգմանիչը կարող են կազմվել փոքր ընդհանուր գրադարանի տեսքով (~500KB), ինտեգրվել այլ ծրագրերի հետ և ընդարձակվել C API-ի միջոցով: Բացի ToaruOS-ից, լեզուն կարող է օգտագործվել Linux-ի, macOS-ի, Windows-ի վրա և աշխատել բրաուզերներում, որոնք աջակցում են WebAssembly-ին:
Նոր թողարկումում.
- Ավելացվել է նախնական աջակցություն AArch64 (ARMv8) ճարտարապետությանը, ներառյալ Raspberry Pi 400 տախտակի վրա և QEMU էմուլատորում ToaruOS-ի օգտագործման փորձարարական հնարավորությունը:
- Վերանախագծվել է օգտատերերի տարածքում ազդանշանների մշակումն ու փոխանցումը: Իրականացված sigaction, sigprocmask, sigwait և sigsuspend զանգեր:
- Բարելավված հիշողության կառավարում օգտագործողի տարածքում: Ավելացվեց munmap համակարգի զանգ:
- Կոմպոզիտային կառավարիչն իրականացնում է մշուշման էֆեկտ և վերամշակում է իրադարձությունների մշակումը, երբ պատուհանի չափը փոխվում է:
- Բարելավվել է տերմինալների մատուցումը, իրականացվել է ծույլ արտապատկերումը և TrueType տառատեսակների համար ավելացվել է հոլովակի քեշ:
- Ընդլայնվել են կոմպոզիտորի հնարավորությունները։
- Ավելացվել են ժամացույցը կարգավորելու մեխանիզմներ, ներառյալ settimeofday համակարգային զանգը և ամսաթիվը օգտակար ծառայության ընդլայնված հնարավորությունները:
- Բարելավված ցանցային փաթեթ: Ifconfig կոմունալն աջակցություն է ավելացրել IPv4 հասցեների և երթուղային կարգավորումների տեղադրման համար: Միացված է ICMP վարդակների շահագործումը: Ավելացվել է recvfrom ֆունկցիայի աջակցություն UDP և ICMP վարդակների համար:
- Bootloader-ն ավելացրել է USB ստեղնաշարի հետ աշխատելու հնարավորություն։
- Ֆայլերի կառավարչի համատեքստի ընտրացանկում ավելացվել է ֆայլեր ջնջելու տարր:
- Համակարգի մոնիտորում գրաֆիկների բարելավված ցուցադրում:
- Ավելացվեց grep-ի օգտակարությունը՝ կանոնավոր արտահայտությունների աջակցությամբ:
- Բարելավված ps հրամանի ելք (ավելացվել են լրացուցիչ սյունակներ):
Source: opennet.ru