28 Prill dhe 5 Maj u zhvilluan lëshimet 2.3 dhe 2.3.1 të sistemit operativ Unix-podob ToaruOS, i shkruar nga fillimi dhe i pajisur me bërthamën e tij, bootloaderin, bibliotekën standarde të 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 si një punim kërkimor në fushën e krijimit të ndërfaqeve grafike të reja me kompozim, por pastaj u transformua në një sistem operativ të veçantë. Kodi i projektit është shkruar në gjuhën C dhe shpërndahet në përputhje me 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.
BĂ«rthama e ToaruOS pĂ«rdor njĂ« arkitekturĂ« hibrid modulare, e cila kombinon njĂ« bazĂ« monolitike dhe mjete pĂ«r pĂ«rdorimin e moduleve tĂ« ngarkueshme, nĂ« formatin e tĂ« cilave janĂ« formuar shumica e drejtuesve tĂ« pajisjeve ekzistuese, si drejtuesit e disqeve (PATA dhe ATAPI), sistemeve tĂ« skedarĂ«ve Ext2 dhe ISO9660, framebuffer, tastierĂ«s, miceve, kartave rrjetore (AMD PCnet FAST, Realtek RTL8139 dhe Intel PRO/1000), çipave tĂ« zĂ«rit (Intel ACâ97), si dhe shtesave tĂ« VirtualBox pĂ«r sistemet mysafir. BĂ«rthama mbĂ«shtet rrjedhat Unix, TTY, sistemin virtual tĂ« skedarĂ«ve, sistemin virtual tĂ« skedarĂ«ve /proc, shumĂ«proçesorin, IPC, ramdisk, ptrace, memorjen e ndarĂ«, multitasking dhe karakteristika tĂ« tjera tĂ« zakonshme.
Sistemi është i pajisur me menaxherin e dritareve me kompozim, mbështet skedarë ekzekutivë të lidhur dinamikisht në formatin ELF, shumëproçesorin, grumbullin grafik, mund të ekzekutojë Python 3 dhe GCC. Si sistem skedari përdoret ext2. Bootloaderi mbështet BIOS dhe EFI. Grumbulli rrjetor lejon përdorimin e API-ve të soketëve në stilin e sistemeve BSD dhe mbështet ndërfaqet rrjetore, duke përfshirë loopback.
Nga aplikacionet e tij, spikat një redaktues kodi që ngjan 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-e, menaxheri i paketave, si dhe bibliotekat për mbështetje të imazheve (PNG, JPEG) dhe fontet TrueType. Për ToaruOS është kryer portimi i programeve si Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, emuluesi i Super Nintendo, Bochs etj.
Projekti gjithashtu zhvillon një gjuhë programimi dinamike të vetën Kuroko, i cili është i dizajnuar për të zëvendësuar Python në zhvillimin e mjeteve dhe aplikacioneve të përdoruesve për sistemin. Gjuha, në sintaksën e saj, i ngjan Python (pozicionohet si një dialekt të shkurtuar të Python me shpallje të qarta të variablave) dhe dallohet për implementimin e saj shumë kompakt. Përkrah kompilimin dhe interpretimin e bytecode. Interpreteri i bytecode ofron një mbledhës plehrash, mbështet shumë-threading pa përdorimin e bllokimit global. Kompilatori dhe interpreti mund të përpunohen në formën e një biblioteke të vogël të ndarë (~500KB), e cila integrohet me programe të tjera dhe zgjeron përmes C API. Përveç ToaruOS, gjuha mund të përdoret në Linux, macOS, Windows dhe të ekzekutohet në shfletues me mbështetje për WebAssembly.
Në lëshimin e ri:
- Emulatori i terminalit ka shtuar mbĂ«shtetje pĂ«r skedat, tĂ« cilat mund tĂ« ndĂ«rrohen me sekuencĂ«n Alt-numĂ«r. ĂshtĂ« realizuar emulimi i stilit tĂ« trashĂ« tĂ« shkronjave pĂ«rmes mbivendosjes sĂ« dyfishtĂ« tĂ« glyph-Ă«ve. ĂshtĂ« shtuar njĂ« nĂ«ndategori "Terminal state" pĂ«r tĂ« aktivizuar shfaqjen e gjendjes sĂ« mĂ«nyrave tĂ« ndryshme dhe "Send signal" pĂ«r dĂ«rgimin e sinjalĂ«ve procesĂ«ve nĂ« prapavijĂ«.
- ĂshtĂ« realizuar njĂ« shikues i udhĂ«zimeve tĂ« sistemit, qĂ« mbĂ«shtet faqet man nĂ« formatin roff.
- Në menunë e kontekstit është shtuar një nëmeny për menaxhimin e kompozitës mozaiku të dritareve.
- NĂ« bĂ«rthamĂ« janĂ« realizuar thirrje tĂ« reja sistemore, ndĂ«r tĂ« cilat pread/pwrite, sigsuspend, sigqueue, lchown, pipe2, dup3, getrusage dhe fcntl. ĂshtĂ« shtuar mbĂ«shtetje pĂ«r flamujt FD_CLOEXEC dhe FD_CLOFORK. MbĂ«shtetje pĂ«r randomizimin e adresĂ«s sĂ« ngarkesĂ«s sĂ« bĂ«rthamĂ«s Ă«shtĂ« realizuar. ABI e thirrjeve sistemore Ă«shtĂ« ndĂ«rruar pĂ«r pĂ«rdorimin e instruksioneve syscall/sysret.
- Kapacitetet e konsolës virtuale (TTY) janë zgjeruar ndjeshëm, duke siguruar emulimin e modit tekstual VGA mbi bazën e frame buffer.
- Në versionin për arkitekturën Aarch64 është realizuar mundësia për ekzekutimin në makina virtuale mbi bazën e QEMU.
- Në strukturën rrjetore është shtuar mbështetje për funksionimin e shumë soketeve ICMP në të njëjtën kohë.
- Në bibliotekën standarde libc janë shtuar funksionet getdelim, getline, scandir, telldir, rewinddir, seekdir, ftruncate, fchmod, fchown, popen, pclose, sig2str, str2sig.
- Shtohen utilitetet standart të reja rmdir, uniq, cmp, zcat, realpath, id, nohup, cksum. Shtohen opsione të reja në ls, grep dhe fgrep. Utilitetet ps, top, pstree, killall dhe pidof janë rishkruar dhe janë transferuar në bibliotekën e re libtoaru_procfs, e cila unifikon punën me FS-në pseudo \/proc. Interpretuese e komandave esh është zgjeruar.
- Utiliteti check-image është shtuar për të kontrolluar mundësinë e ngarkimit të një imazhi nga biblioteka grafike dhe për të shfaqur madhësinë e imazhit.
- Gjuha e programimit Kuroko është azhurnuar në versionin 1.5rc2.
- Teksti i redaktorit të tekstit është azhurnuar deri në versionin 3.2 Bim (github.com), e krijuar në përputhje me Vim. Në versionin e ri, është përmirësuar ndriçimi i sintaksës, është zgjeruar mbështetja për skriptet në gjuhën Kuroko dhe është shtuar një sistem i ri për përfundimin automatik të futjes.
Burimi: linux.org.ru
