A ToaruOS 1.14 operációs rendszer és a Kuroko 1.1 programozási nyelv kiadása

Elérhető a ToaruOS 1.14 projekt kiadása, amely a nulláról írt Unix-szerű operációs rendszert fejleszti saját kernellel, rendszertöltővel, szabványos C könyvtárral, csomagkezelővel, felhasználói terület-összetevőkkel és kompozit ablakkezelővel ellátott grafikus felülettel. A fejlesztés jelenlegi szakaszában a rendszer képességei elegendőek a Python 3 és a GCC futtatásához. A projekt kódja C nyelven íródott, és a BSD licenc alatt kerül terjesztésre. Letöltésre készült egy 14 MB méretű élőkép, amely QEMU-ban, VMware-ben vagy VirtualBoxban tesztelhető.

A ToaruOS 1.14 operációs rendszer és a Kuroko 1.1 programozási nyelv kiadása

A projekt 2010-ben indult az Illinoisi Egyetemen, és kezdetben új, kompozit grafikus interfészek létrehozásával kapcsolatos kutatómunkaként fejlesztették ki. 2012 óta a fejlesztés ToaruOS operációs rendszerré alakult át, amelyet eleinte diákprojektként fejlesztettek, majd hétvégi hobbivá nőtte ki magát, amelyet a projekt körül kialakult közösség felkapott. A rendszer jelenlegi formájában kompozit ablakkezelővel van felszerelve, támogatja a dinamikusan linkelt futtatható fájlokat ELF formátumban, a multitaskingot, a grafikát és a hálózati veremeket.

A csomag tartalmazza a Python 3.6 programozási nyelv portját, amelyet néhány ToaruOS-specifikus grafikus alkalmazás, például csomagkezelő, grafikus szerkesztő, PDF-nézegető, számológép és egyszerű játékok fejlesztéséhez használnak. A ToaruOS-re portolt, harmadik féltől származó programok közé tartozik a Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo emulátor, Bochs stb.

A ToaruOS egy hibrid moduláris architektúrát használó kernelen alapul, amely egy monolitikus keretrendszert és a betölthető modulok használatára szolgáló eszközöket egyesít, amelyek a rendelkezésre álló eszközmeghajtók többségét alkotják, például lemezmeghajtók (PATA és ATAPI), EXT2 és ISO9660 fájlrendszerek, framebuffer. , billentyűzetek, egerek, hálózati kártyák (AMD PCnet FAST, Realtek RTL8139 és Intel PRO/1000), hangchipek (Intel AC'97), valamint VirtualBox kiegészítők vendégrendszerekhez.

A kernel által biztosított primitívek közé tartoznak a Unix szálak, a TTY, a virtuális fájlrendszer, a többszálú feldolgozás, az IPC, az osztott memória, a többfeladatos és egyéb szabványos szolgáltatások. Az ext2 fájlrendszert használja. A kernellel való interakcióhoz egy pszeudo-FS /proc implementáció biztosított, amelyet a Linuxhoz hasonló módon hoztak létre.

A 2021-es tervek között szerepel a 64 bites x86-64 architektúra (egyelőre csak a 32 bites x86 rendszerekhez készülnek összeállítások) és a többprocesszoros rendszerek (SMP) támogatása. További célok között szerepel a POSIX specifikációkkal való kompatibilitás javítása a jelfeldolgozás és szinkronizálási módszerek területén, a szabványos C könyvtár Newlib szintre hozása, valamint saját C nyelvű fordító és fejlesztőeszközök bevezetése.

A projekt saját dinamikus programozási nyelvét, a Kuroko-t is fejleszti, amely a Python helyettesítésére szolgál a rendszerhez szükséges segédprogramok és egyedi alkalmazások fejlesztése során. A nyelv támogatja a bájtkód-összeállítást és -értelmezést, szintaxisa a Pythonhoz hasonlít (a Python rövidített dialektusaként van elhelyezve, a változók explicit definíciójával), és nagyon kompakt megvalósítása van. A bájtkód értelmező szemétgyűjtőt biztosít, és támogatja a többszálú feldolgozást globális zárolás használata nélkül. A fordító és az értelmező egy kis megosztott könyvtár formájában (~500 KB) fordítható, más programokkal integrálva és C API-n keresztül bővíthető. A nyelv a ToaruOS mellett Linuxon, macOS-en és Windowson is használható, és a WebAssembly-t támogató böngészőkben is futtatható.

A ToaruOS új kiadása a szabványos C könyvtár és a Kuroko programozási nyelv fejlesztésére összpontosított. Például a Quake játékban a világítási paraméterek helyes kiszámításához szükséges matematikai függvények hozzáadásra kerültek a libc-hez. Javult a VirtualBox EFI módban történő rendszerindításának lehetősége. Az iso kép mérete csökkentve lett a ram lemez képének tömörítésével.

A Kuroko 1.1 nyelv új kiadása támogatja az async and await funkciót, többszálat valósít meg, javítja a Python 3-mal való kompatibilitást, támogatja a többszörös érték-hozzárendelést, kibővíti a C nyelvű íráskezelők eszközeit, hozzáadja a függvények típusjegyzeteinek támogatását, hozzáadja a a „hozam” és a „hozam from” kulcsszavak, az os, dis, fileio és time modulok integrálása megtörtént, új metódusok kerültek implementálásra str, list, dict és byte-ban, hozzáadásra került a bájtkódba való előfordítás támogatása, a licenc MIT-re változtatták (korábban az MIT és az ISC kombinációja volt).

Forrás: opennet.ru

Hozzászólás