Llançament del sistema operatiu ToaruOS 1.14 i el llenguatge de programació Kuroko 1.1

El llançament del projecte ToaruOS 1.14 està disponible, desenvolupant un sistema operatiu semblant a Unix escrit des de zero amb el seu propi nucli, carregador d'arrencada, biblioteca C estàndard, gestor de paquets, components d'espai d'usuari i una interfície gràfica amb un gestor de finestres compost. En l'etapa actual de desenvolupament, les capacitats del sistema són suficients per executar Python 3 i GCC. El codi del projecte està escrit en C i distribuït sota la llicència BSD. S'ha preparat una imatge en directe de 14 MB per a la seva descàrrega, que es pot provar a QEMU, VMware o VirtualBox.

Llançament del sistema operatiu ToaruOS 1.14 i el llenguatge de programació Kuroko 1.1

El projecte va començar l'any 2010 a la Universitat d'Illinois i es va desenvolupar inicialment com a treball de recerca en el camp de la creació de noves interfícies gràfiques compostes. Des del 2012, el desenvolupament s'ha transformat en el sistema operatiu ToaruOS, que es va desenvolupar inicialment com un projecte d'estudiant, i després es va convertir en un hobby de cap de setmana, recollit per la comunitat que es va formar al voltant del projecte. En la seva forma actual, el sistema està equipat amb un gestor de finestres compost, admet fitxers executables enllaçats dinàmicament en format ELF, multitasca, gràfics i piles de xarxa.

El paquet inclou un port del llenguatge de programació Python 3.6, que s'utilitza en el desenvolupament d'algunes aplicacions gràfiques específiques de ToaruOS, com ara un gestor de paquets, un editor gràfic, un visualitzador de PDF, una calculadora i jocs senzills. Els programes de tercers portats a ToaruOS inclouen Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, emulador de Super Nintendo, Bochs, etc.

ToaruOS es basa en un nucli que utilitza una arquitectura modular híbrida que combina un marc monolític i eines per utilitzar mòduls carregables, que formen la majoria dels controladors de dispositius disponibles, com ara controladors de disc (PATA i ATAPI), sistemes de fitxers EXT2 i ISO9660, framebuffer. , teclats, ratolins, targetes de xarxa (AMD PCnet FAST, Realtek RTL8139 i Intel PRO/1000), xips de so (Intel AC'97), així com complements de VirtualBox per a sistemes convidats.

Les primitives proporcionades pel nucli inclouen fils Unix, TTY, sistema de fitxers virtual, multithreading, IPC, memòria compartida, multitasca i altres funcions estàndard. ext2 s'utilitza com a sistema de fitxers. Per interactuar amb el nucli, es proporciona una implementació pseudo-FS /proc, creada per analogia amb Linux.

Els plans per al 2021 inclouen treballs en l'arquitectura x64-86 de 64 bits (de moment, només es generen conjunts per a sistemes x32 de 86 bits) i suport per a sistemes multiprocessador (SMP). Altres objectius inclouen millorar la compatibilitat amb les especificacions POSIX en el camp del processament de senyals i mètodes de sincronització, portar la biblioteca C estàndard al nivell Newlib i implementar el seu propi compilador de llenguatge C i eines de desenvolupament.

El projecte també està desenvolupant el seu propi llenguatge de programació dinàmica, Kuroko, dissenyat per substituir Python quan es desenvolupen utilitats i aplicacions personalitzades per al sistema. El llenguatge admet la compilació i interpretació de bytecode, la seva sintaxi s'assembla a Python (es posiciona com un dialecte abreujat de Python amb definició explícita de variables) i té una implementació molt compacta. L'intèrpret de bytecode proporciona un col·lector d'escombraries i admet multithreading sense utilitzar el bloqueig global. El compilador i l'intèrpret es poden compilar en forma d'una petita biblioteca compartida (~500 KB), integrada amb altres programes i extensible mitjançant l'API C. A més de ToaruOS, l'idioma es pot utilitzar a Linux, macOS, Windows i executar-se en navegadors compatibles amb WebAssembly.

La nova versió de ToaruOS es va centrar en el desenvolupament de la biblioteca C estàndard i el llenguatge de programació Kuroko. Per exemple, s'han afegit a libc les funcions matemàtiques necessàries per al càlcul correcte dels paràmetres d'il·luminació al joc Quake. S'ha millorat la possibilitat d'arrencar a VirtualBox en mode EFI. La mida de la imatge iso s'ha reduït utilitzant la compressió de la imatge del disc RAM.

La nova versió del llenguatge Kuroko 1.1 afegeix suport per a asinc i espera, implementa multithreading, millora la compatibilitat amb Python 3, admet múltiples assignacions de valors, amplia les eines per escriure controladors en llenguatge C, afegeix suport per a anotacions de tipus per a funcions, afegeix el les paraules clau "yield" i "yield from", s'han integrat els mòduls os, dis, fileio i time, s'han implementat nous mètodes en str, list, dict i bytes, s'ha afegit suport per a la compilació prèvia en bytecode, la llicència s'ha afegit s'ha canviat a MIT (abans hi havia una combinació de MIT i ISC).

Font: opennet.ru

Afegeix comentari