28 prill dhe 5 maj u zhvilluan lëshimet 2.3 dhe 2.3.1 të sistemit operativ Unix-podobë ToaruOS, e shkruar nga zero dhe e pajisur me bërthamën e saj, ngarkuesin, bibliotekën standarde C, menaxherin e paketave, komponentët e hapësirës së përdoruesit dhe ndërfaqen grafike me menaxherin e dritareve me kompozim.
Fillimisht, projekti u zhvillua në Universitetin e Illinois-it si një punim kërkimor në fushën e krijimit të ndërfaqeve grafike kompozite të reja, por më pas u transformua në një sistem operativ të veçantë. Kodi i projektit është shkruar në gjuhën C dhe distribuohet nën licencën BSD. Për shkarkim është përgatitur imazhi live (2.3.1), me madhësi 7.4 MB, i cili mund të testohet në QEMU, VMware ose VirtualBox.
NĂ« thelb tĂ« ToaruOS Ă«shtĂ« njĂ« bĂ«rthamĂ« qĂ« pĂ«rdor njĂ« arkitekturĂ« hibridĂ« modulare, e cila bashkon njĂ« bazĂ« monolitike me mjete pĂ«r pĂ«rdorimin e moduleve tĂ« ngarkueshĂ«m, nĂ« tĂ« cilat janĂ« formuluar shumica e drejtpĂ«rdrejtĂ«sve tĂ« pajisjeve, siç janĂ« drejtpĂ«rdrejtĂ«sit e disqeve (PATA dhe ATAPI), Sistemi i Files Ext2 dhe ISO9660, framebuffer, tastiera, miu, kartat e rrjetit (AMD PCnet FAST, Realtek RTL8139 dhe Intel PRO/1000), çipet e tingullit (Intel ACâ97), si dhe shtesat VirtualBox pĂ«r sistemet mysafir. BĂ«rthama mbĂ«shtet rrjedhat Unix, TTY, sistemin virtual tĂ« skedarĂ«ve, pseudo-FS /proc, shumĂ«fishtĂ«si, IPC, ramdisk, ptrace, memorien e ndarĂ«, shumĂ«pĂ«rdorimshmĂ«rinĂ« dhe mundĂ«si tĂ« tjera standarde.
Sistemi është i furnizuar me menaxherin e dritareve kompozit, mbështet skedarët ekzekutues që lidhin dinamik në formatin ELF, shumëpërdorimshmërinë, grumbullin grafik, mund të ekzekutojë Python 3 dhe GCC. Si sistem skedarësh përdoret ext2. Ngarkuesi mbështet BIOS dhe EFI. Grumbulli rrjetëson lejon përdorimin e API-ve të soketeve në stilin e sistemeve BSD dhe mbështet ndërfaqet rrjetësh, duke përfshirë loopback.
Midis aplikacioneve të veta është një redaktor kodi i ngjashëm me Vi, Bim, i cili është përdorur për disa vite për zhvillimin e aplikacioneve specifike për ToaruOS, si menaxheri i skedarëve, emulatori i terminalit, paneli grafik me mbështetje për widgetët, menaxheri i paketave, si dhe bibliotekat për mbështetje të imazheve (PNG, JPEG) dhe fontet TrueType. Janë portuar për ToaruOS programe të tilla si Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, emulatori i Super Nintendo, Bochs etj.
Projektin gjithashtu zhvillon një gjuhë dinamike programimi të vetën. Kuroko, i dizajnuar për të zëvendësuar Python në zhvillimin e mjeteve dhe aplikacioneve për përdoruesi në sistem. Gjuha ka sintaksë të ngjashme me Python (pozicionohet si një dialekt i shkurtuar i Python me definimin e qartë të variablave) dhe ndodhet me një implementim shumë kompakt. Mbështetet kompilimi dhe interpretimi i kodit të bajtëve. Interpreteri i kodit të bajtëve ofron mbledhës të mbetjeve dhe mbështet shumë-fishimin pa përdorur bllokimin global. Kompajleri dhe interpreti mund të mblidhen në formën e një biblioteke të vogël të ndarë (~500KB), e cila mund të integrohet me programe të tjera dhe të zgjerohet përmes C API. Përveç ToaruOS, gjuha mund të përdoret në Linux, macOS, Windows dhe të ekzekutohet në shfletuesit me mbështetje për WebAssembly.
Në në lëshimin e ri:
- NĂ« emulatorin e terminalit Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r skedat, tĂ« cilat mund tĂ« ndĂ«rroni me njĂ« sekuencĂ« tĂ« Alt-numrit. ĂshtĂ« realizuar emulimi i shkronjave tĂ« trasha pĂ«rmes mbivendosjes sĂ« dyfishtĂ« tĂ« glifĂ«ve. JanĂ« shtuar submenu «Gjendja e terminalit» pĂ«r aktivizimin e shfaqjes sĂ« gjendjeve tĂ« ndryshme dhe «DĂ«rgo sinjal» pĂ«r dĂ«rgimin e sinjaleve nĂ« proceset e prapme.
- ĂshtĂ« realizuar njĂ« shfletues i manualeve sistemore, qĂ« mbĂ«shtet faqet man nĂ« formatin roff.
- Një nënmeny është shtuar në menu për të menaxhuar kompozitën mozaik të dritareve.
- NĂ« bĂ«rthamĂ« janĂ« realizuar thirrje tĂ« reja sistemore, mes tĂ« cilave pread/pwrite, sigsuspend, sigqueue, lchown, pipe2, dup3, getrusage dhe fcntl. ĂshtĂ« shtuar mbĂ«shtetje pĂ«r flamujt FD_CLOEXEC dhe FD_CLOFORK. ĂshtĂ« realizuar mbĂ«shtetje pĂ«r randomizimin e adresĂ«s sĂ« ngarkesĂ«s sĂ« bĂ«rthamĂ«s. ABI i thirrjeve sistemore Ă«shtĂ« transferuar nĂ« pĂ«rdorimin e instruksioneve syscall/sysret.
- Aftësitë e konsolës virtuale (TTY) janë zgjeruar ndjeshëm, duke siguruar emulimin e modit tekstual VGA mbi bazën e framebuffer-it.
- Në versionin për arkitekturën Aarch64 është realizuar mundësia e ekzekutimit në makina virtuale bazuar në QEMU.
- Në stakun e rrjetit është shtuar mbështetje për funksionimin e njëkohshëm me disa socket-e ICMP.
- Në bibliotekën standarde libc janë shtuar funksionet getdelim, getline, scandir, telldir, rewinddir, seekdir, ftruncate, fchmod, fchown, popen, pclose, sig2str, str2sig.
- Shtuar utilitetet e reja standarde rmdir, uniq, cmp, zcat, realpath, id, nohup, cksum. Shtuar opsione të reja në ls, grep dhe fgrep. Riparuar utilitetet ps, top, pstree, killall dhe pidof, të cilat janë të ridizajnuara në bibliotekën e re libtoaru_procfs, e cila unifikon punën me pseudo-FS /proc. Zgjeruar interpretoni komandave esh.
- Shtuar utilitetin check-image për të kontrolluar aftësinë e ngarkimit të një imazhi nga biblioteka grafike dhe për të nxjerrë madhësinë e imazhit.
- Gjuha e programimit Kuroko është përditësuar në versionin 1.5rc2.
- Përditësuar redaktorin e tekstit në versionin 3.2 Bim (github.com), i krijuar me referencë në Vim. Në versionin e ri është përmirësuar ndriçimi sintaksor, është zgjeruar mbështetje për skenarët në gjuhën Kuroko dhe është shtuar një sistem i ri për plotësimin automatik të hyrjes.
Burimi: linux.org.ru
