Lëshimi i sistemit operativ ToaruOS 1.14 dhe gjuhës programuese Kuroko 1.1

Lëshimi i projektit ToaruOS 1.14 është i disponueshëm, duke zhvilluar një sistem operativ të ngjashëm me Unix-in, të shkruar nga e para me kernelin e tij, ngarkuesin e vet, bibliotekën standarde C, menaxherin e paketave, komponentët e hapësirës së përdoruesit dhe një ndërfaqe grafike me një menaxher të përbërë të dritareve. Në fazën aktuale të zhvillimit, aftësitë e sistemit janë të mjaftueshme për të ekzekutuar Python 3 dhe GCC. Kodi i projektit është shkruar në C dhe shpërndahet nën licencën BSD. Është përgatitur për shkarkim një imazh i drejtpërdrejtë me madhësi 14 MB, i cili mund të testohet në QEMU, VMware ose VirtualBox.

Lëshimi i sistemit operativ ToaruOS 1.14 dhe gjuhës programuese Kuroko 1.1

Projekti filloi në vitin 2010 në Universitetin e Illinois dhe fillimisht u zhvillua si punë kërkimore në fushën e krijimit të ndërfaqeve të reja grafike të përbërë. Që nga viti 2012, zhvillimi është transformuar në sistemin operativ ToaruOS, i cili u zhvillua fillimisht si një projekt studentor, dhe më pas u shndërrua në një hobi fundjave, i zgjedhur nga komuniteti që u formua rreth projektit. Në formën e tij aktuale, sistemi është i pajisur me një menaxher të përbërë të dritareve, mbështet skedarë të ekzekutueshëm të lidhur dinamikisht në formatin ELF, multitasking, grafikë dhe grupe rrjeti.

Paketa përfshin një port të gjuhës së programimit Python 3.6, e cila përdoret në zhvillimin e disa aplikacioneve grafike specifike të ToaruOS, të tilla si menaxher paketash, redaktues grafik, shikues PDF, kalkulator dhe lojëra të thjeshta. Programet e palëve të treta të transferuara në ToaruOS përfshijnë Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, emulator Super Nintendo, Bochs, etj.

ToaruOS bazohet në një kernel që përdor një arkitekturë modulare hibride që kombinon një kornizë monolit dhe mjete për përdorimin e moduleve të ngarkueshme, të cilat formojnë shumicën e drejtuesve të disponueshëm të pajisjes, si drejtuesit e diskut (PATA dhe ATAPI), sistemet e skedarëve EXT2 dhe ISO9660, framebuffer , tastierë, miu, karta rrjeti (AMD PCnet FAST, Realtek RTL8139 dhe Intel PRO/1000), çipa zanore (Intel AC'97), si dhe shtesa VirtualBox për sistemet e ftuar.

Primitivët e ofruar nga kerneli përfshijnë threads Unix, TTY, sistemin virtual të skedarëve, multithreading, IPC, memorie të përbashkët, multitasking dhe veçori të tjera standarde. ext2 përdoret si sistem skedari. Për të bashkëvepruar me kernelin, ofrohet një implementim pseudo-FS /proc, i krijuar në analogji me Linux.

Planet për vitin 2021 përfshijnë punën në arkitekturën 64-bit x86-64 (për momentin, asambletë po krijohen vetëm për sistemet 32-bit x86) dhe mbështetje për sistemet multiprocesorike (SMP). Qëllime të tjera përfshijnë përmirësimin e përputhshmërisë me specifikimet e POSIX në fushën e metodave të përpunimit dhe sinkronizimit të sinjalit, sjelljen e bibliotekës standarde C në nivelin Newlib dhe zbatimin e përpiluesit të saj të gjuhës C dhe mjeteve të zhvillimit.

Projekti po zhvillon gjithashtu gjuhën e tij dinamike të programimit, Kuroko, e krijuar për të zëvendësuar Python gjatë zhvillimit të shërbimeve dhe aplikacioneve të personalizuara për sistemin. Gjuha mbështet përpilimin dhe interpretimin e bytekodit, sintaksa e saj i ngjan Python-it (është pozicionuar si një dialekt i shkurtuar i Python me përcaktim të qartë të variablave) dhe ka një zbatim shumë kompakt. Përkthyesi i bytekodit siguron një grumbullues mbeturinash dhe mbështet multithreading pa përdorur bllokimin global. Përpiluesi dhe interpretuesi mund të kompilohen në formën e një biblioteke të vogël të përbashkët (~ 500 KB), të integruar me programe të tjera dhe të zgjerueshme përmes C API. Përveç ToaruOS, gjuha mund të përdoret në Linux, macOS, Windows dhe të ekzekutohet në shfletues që mbështesin WebAssembly.

Publikimi i ri i ToaruOS u fokusua në zhvillimin e bibliotekës standarde C dhe gjuhën e programimit Kuroko. Për shembull, në libc janë shtuar funksionet matematikore të nevojshme për llogaritjen e saktë të parametrave të ndriçimit në lojën Quake. Aftësia për të nisur në VirtualBox në modalitetin EFI është përmirësuar. Madhësia e imazhit iso është zvogëluar duke përdorur kompresimin e imazhit të diskut të ram.

Publikimi i ri i gjuhës Kuroko 1.1 shton mbështetje për asinkronizimin dhe pritjen, implementon multithreading, përmirëson përputhshmërinë me Python 3, mbështet caktime të shumëfishta vlerash, zgjeron mjetet për shkrimin e mbajtësve në gjuhën C, shton mbështetje për shënimet e tipit për funksionet, shton fjalë kyçe "yield" dhe "yield from", modulet os, dis, fileio dhe time janë integruar, metoda të reja janë implementuar në str, list, dict dhe bytes, është shtuar mbështetja për parapërpilimin në bytecode, licenca ka është ndryshuar në MIT (më parë kishte një kombinim të MIT dhe ISC).

Burimi: opennet.ru

Shto një koment