ToaruOS 1.14 օպերացիոն համակարգի և Kuroko 1.1 ծրագրավորման լեզվի թողարկում

Հասանելի է ToaruOS 1.14 նախագծի թողարկումը՝ զրոյից գրված Unix-ի նման օպերացիոն համակարգ՝ սեփական միջուկով, բեռնիչով, ստանդարտ C գրադարանով, փաթեթի կառավարիչով, օգտագործողի տարածքի բաղադրիչներով և գրաֆիկական ինտերֆեյսով՝ կոմպոզիտային պատուհանների կառավարիչով: Զարգացման ներկա փուլում համակարգի հնարավորությունները բավարար են Python 3-ը և GCC-ն գործարկելու համար: Ծրագրի կոդը գրված է C-ով և տարածվում է BSD լիցենզիայի ներքո: Ներբեռնման համար պատրաստվել է 14 ՄԲ չափի կենդանի պատկեր, որը կարելի է փորձարկել QEMU, VMware կամ VirtualBox-ում։

ToaruOS 1.14 օպերացիոն համակարգի և Kuroko 1.1 ծրագրավորման լեզվի թողարկում

Ծրագիրը սկսվել է 2010 թվականին Իլինոյսի համալսարանում և սկզբում զարգացել որպես հետազոտական ​​աշխատանք նոր կոմպոզիտային գրաֆիկական ինտերֆեյսերի ստեղծման ոլորտում: 2012 թվականից մշակումը վերածվել է ToaruOS օպերացիոն համակարգի, որը սկզբում մշակվել է որպես ուսանողական նախագիծ, այնուհետև վերածվել է հանգստյան օրերի հոբբիի, որն ընտրվել է նախագծի շուրջ ձևավորված համայնքի կողմից: Իր ներկայիս ձևով համակարգը հագեցած է կոմպոզիտային պատուհանների կառավարիչով, աջակցում է դինամիկ կապակցված գործարկվող ֆայլեր ELF ձևաչափով, բազմաֆունկցիոնալ, գրաֆիկական և ցանցային ստեկեր:

Փաթեթը ներառում է Python 3.6 ծրագրավորման լեզվի մի նավահանգիստ, որն օգտագործվում է ToaruOS-ին հատուկ գրաֆիկական հավելվածների մշակման համար, ինչպիսիք են փաթեթի կառավարիչը, գրաֆիկական խմբագրիչը, PDF դիտիչը, հաշվիչը և պարզ խաղերը: ToaruOS-ում տեղափոխված երրորդ կողմի ծրագրերը ներառում են Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo emulator, Bochs և այլն:

ToaruOS-ը հիմնված է միջուկի վրա, որն օգտագործում է հիբրիդային մոդուլային ճարտարապետություն, որը միավորում է մոնոլիտ շրջանակը և գործիքները բեռնվող մոդուլների օգտագործման համար, որոնք կազմում են սարքի հասանելի դրայվերների մեծ մասը, ինչպիսիք են սկավառակի դրայվերները (PATA և ATAPI), EXT2 և ISO9660 ֆայլային համակարգերը, շրջանակի բուֆերը: , ստեղնաշարեր, մկնիկներ, ցանցային քարտեր (AMD PCnet FAST, Realtek RTL8139 և Intel PRO/1000), ձայնային չիպեր (Intel AC'97), ինչպես նաև VirtualBox հավելումներ հյուր համակարգերի համար։

Միջուկի կողմից տրամադրվող պրիմիտիվները ներառում են Unix threads, TTY, վիրտուալ ֆայլային համակարգ, multithreading, IPC, ընդհանուր հիշողություն, բազմաֆունկցիոնալ գործառույթներ և այլ ստանդարտ գործառույթներ: ext2 օգտագործվում է որպես ֆայլային համակարգ: Միջուկի հետ փոխազդելու համար տրամադրվում է կեղծ-FS/proc իրականացում, որը ստեղծվել է Linux-ի անալոգիայով:

2021 թվականի պլանները ներառում են 64-բիթանոց x86-64 ճարտարապետության վրա աշխատանքը (այժմ հավաքները ստեղծվում են միայն 32-բիթանոց x86 համակարգերի համար) և բազմապրոցեսորային համակարգերի (SMP) աջակցություն: Մյուս նպատակները ներառում են POSIX-ի առանձնահատկությունների հետ համատեղելիության բարելավումը ազդանշանի մշակման և համաժամացման մեթոդների ոլորտում, ստանդարտ C գրադարանը Newlib մակարդակի հասցնելը և սեփական C լեզվի կոմպիլյատորի և մշակման գործիքների ներդրումը:

Նախագիծը նաև մշակում է իր սեփական դինամիկ ծրագրավորման լեզուն՝ Kuroko-ն, որը նախատեսված է փոխարինելու Python-ին համակարգի համար կոմունալ և մաքսային հավելվածներ մշակելիս: Լեզուն աջակցում է բայթ կոդի կազմմանը և մեկնաբանմանը, նրա շարահյուսությունը նման է Python-ին (այն դիրքավորված է որպես Python-ի կրճատված բարբառ՝ փոփոխականների հստակ սահմանմամբ) և ունի շատ կոմպակտ իրականացում։ Բայթկոդերի թարգմանիչն ապահովում է աղբահանող սարք և աջակցում է բազմաթելային՝ առանց գլոբալ կողպման օգտագործման: Կազմողն ու թարգմանիչը կարող են կազմվել փոքր ընդհանուր գրադարանի տեսքով (~500 ԿԲ), ինտեգրվել այլ ծրագրերի հետ և ընդարձակվել C API-ի միջոցով: Բացի ToaruOS-ից, լեզուն կարող է օգտագործվել Linux-ի, macOS-ի, Windows-ի վրա և աշխատել բրաուզերներում, որոնք աջակցում են WebAssembly-ին:

ToaruOS-ի նոր թողարկումը կենտրոնացած էր ստանդարտ C գրադարանի և Kuroko ծրագրավորման լեզվի զարգացման վրա: Օրինակ՝ Quake խաղում լուսավորության պարամետրերի ճիշտ հաշվարկման համար անհրաժեշտ մաթեմատիկական ֆունկցիաները ավելացվել են libc-ին։ Բարելավվել է EFI ռեժիմով VirtualBox-ում բեռնելու հնարավորությունը: Իզո պատկերի չափը կրճատվել է խոյ սկավառակի պատկերի սեղմման միջոցով:

Kuroko 1.1 լեզվի նոր թողարկումն ավելացնում է աջակցություն async-ի և await-ի համար, իրականացնում է բազմաշերտություն, բարելավում է Python 3-ի հետ համատեղելիությունը, աջակցում է բազմաթիվ արժեքների նշանակումներ, ընդլայնում է C լեզվով մշակիչներ գրելու գործիքները, ավելացնում է գործառույթների տիպի ծանոթագրությունների աջակցություն, ավելացնում է. հիմնաբառեր «բերքատվություն» և «բերքատվություն» հիմնաբառեր, os, dis, fileio և ժամանակի մոդուլները ինտեգրվել են, ներդրվել են նոր մեթոդներ str, list, dict և բայթերում, ավելացվել է բայթկոդի նախնական կոմպիլյացիայի աջակցություն, լիցենզիան. փոխվել է MIT-ի (նախկինում կար MIT-ի և ISC-ի համադրություն):

Source: opennet.ru

Добавить комментарий