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.

Primativat e kernelit përfshijnë fijet Unix, TTY-të, sistemet virtuale të skedarëve, shumëfijet, IPC-në, memorien e përbashkët, shumëdetyrat dhe karakteristika të tjera tipike. Përdoret sistemi i skedarëve ext2. Për bashkëveprimin me kernelin, ofrohet një implementim i sistemit pseudo-skedarësh, /proc, i ngjashëm 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 vet dinamike të programimit, Kuroko, e projektuar për të zëvendësuar Python gjatë zhvillimit të shërbimeve dhe aplikacioneve të përdoruesit për sistemin. Gjuha mbështet përpilimin dhe interpretimin e bytecode-it, është e ngjashme në sintaksë me Python (pozicionohet si një dialekt i shkurtuar i Python-it me përkufizime të qarta të variablave) dhe paraqet një zbatim shumë kompakt. Interpretuesi i bytecode-it ofron një mbledhës të mbeturinave dhe mbështet multithreading pa përdorimin e një bllokimi global. Kompiluesi dhe interpretuesi mund të përpilohen si një bibliotekë e vogël e përbashkët (~500 KB), e integruar me programe të tjera dhe e zgjerueshme nëpërmjet 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

Bleni njĂ« host tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, serverĂ« VPS VDS đŸ”„ Bleni hosting tĂ« besueshĂ«m tĂ« faqeve tĂ« internetit me mbrojtje DDoS, servera VPS VDS | ProHoster