Lansarea sistemului de operare ToaruOS 2.3

A fost publicată versiunea 2.3 a sistemului de operare Unix-like ToaruOS, dezvoltat de la zero și livrat cu propriul său kernel, bootloader, bibliotecă standard C, manager de pachete, componente pentru spațiul utilizatorului și o interfață grafică cu un manager de feronerie compozit. Inițial, proiectul a fost dezvoltat la Universitatea din Illinois ca o lucrare de cercetare în domeniul creării de noi interfețe grafice compozite, dar s-a transformat ulterior într-un sistem de operare separat. Codul proiectului este scris în limbajul C și este distribuit sub licența BSD. A fost pregătit un imagine live pentru descărcare, cu dimensiunea de 7.4 MB, care poate fi testată în QEMU, VMware sau VirtualBox. Lansarea sistemului de operare ToaruOS 2.3

La baza ToaruOS se află un kernel care utilizează o arhitectură modulară hibridă, combinând o fundație monolitică și unelte pentru utilizarea modulelor încărcabile, în care sunt formatate majoritatea driverelor de dispozitive existente, cum ar fi driverele de hard disk (PATA și ATAPI), sistemul de fișiere EXT2 și ISO9660, framebuffer, tastaturi, mouse-uri, plăci de rețea (AMD PCnet FAST, Realtek RTL8139 și Intel PRO/1000), cipuri de sunet (Intel AC’97), precum și extensii VirtualBox pentru sistemele gazdă. Kernelul suportă fire de execuție Unix, TTY, un sistem de fișiere virtual, pseudo-sistem de fișiere /proc, multi-threading, IPC, ramdisk, ptrace, memorie partajată, multitasking și alte funcții tipice.

Sistemul este echipat cu un manager de feronerie compozit, suportă fișiere executabile legate dinamic în format ELF, multitasking, un stack grafic, poate rula Python 3 și GCC. Sistemul de fișiere folosit este ext2. Bootloaderul suportă BIOS și EFI. Stack-ul de rețea permite utilizarea API-ului de sockets în stil BSD și suportă interfețele de rețea, inclusiv loopback.

Dintre aplicațiile proprii, se distinge editorul de cod Bim, asemănător cu Vi, care este folosit de câțiva ani pentru dezvoltarea de aplicații specifice pentru ToaruOS, cum ar fi managerul de fișiere, emulatorul de terminal, panoul grafic cu suport pentru widgeturi, managerul de pachete, precum și biblioteci pentru suportul imaginilor (PNG, JPEG) și fonturilor TrueType. Au fost portate pentru ToaruOS programe precum Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, emulator Super Nintendo, Bochs etc.

Proiectul dezvoltă, de asemenea, un limbaj de programare dinamic propriu, Kuroko, destinat să înlocuiască Python în dezvoltarea utilitarilor și aplicațiilor pentru sistem. Limbajul este similar cu Python din punct de vedere al sintaxei (se poziționează ca un dialect mai concis al Python-ului cu definirea explicită a variabilelor) și se distinge printr-o implementare foarte compactă. Suportă compilarea și interpretarea bytecode-ului. Interpretul bytecode-ului oferă un colector de gunoi și suportă threading fără a folosi blocarea globală. Compilatorul și interpretul pot fi construite sub forma unei biblioteci partajate de dimensiuni reduse (~500KB), integrabile cu alte programe și extensibile prin API C. În afară de ToaruOS, limbajul poate fi utilizat pe Linux, macOS, Windows și poate fi rulat în browsere care suportă WebAssembly.

În noua versiune:

  • Emulatorul de terminal a fost îmbunătățit cu suport pentru tab-uri, iar comutarea între acestea se poate realiza prin combinația Alt-tastă. A fost implementată o emulare a fonturilor cu caractere îngroșate prin suprapunerea dublă a glifelor. Au fost adăugate submeniuri "Starea terminalului" pentru a activa afișarea stării diferitelor moduri și "Trimite semnal" pentru a trimite semnale proceselor în fundal. Lansarea sistemului de operare ToaruOS 2.3
  • A fost implementat un vizualizator de manuale sistemice, care suportă paginile man în format roff. Lansarea sistemului de operare ToaruOS 2.3
  • În meniul contextual a fost adăugat un submemu pentru gestionarea compunerii mozaice a ferestrelor. Lansarea sistemului de operare ToaruOS 2.3
  • Kernelul a implementat noi apeluri de sistem, printre care pread/pwrite, sigsuspend, sigqueue, lchown, pipe2, dup3, getrusage și fcntl. A fost adăugat suport pentru flag-urile FD_CLOEXEC și FD_CLOFORK. A fost implementat suport pentru randomizarea adresei de încărcare a kernelului. ABI-ul apelurilor de sistem a fost tradus pentru a folosi instrucțiuni syscall/sysret.
  • Capacitățile consolei virtuale (TTY) au fost semnificativ extinse, oferind emularea modului text VGA pe baza frame buffer-ului.
  • În versiunea pentru arhitectura Aarch64 a fost implementată capacitatea de a rula în virtuálne mašini pe baza QEMU.
  • În stiva de rețea a fost adăugat suport pentru funcționarea simultană cu mai multe socket-uri ICMP.
  • Biblioteca standard libc a fost extinsă cu funcțiile getdelim, getline, scandir, telldir, rewinddir, seekdir, ftruncate, fchmod, fchown, popen, pclose, sig2str, str2sig.
  • Au fost adăugate noi utilitare standard rmdir, uniq, cmp, zcat, realpath, id, nohup, cksum. Au fost adăugate noi opțiuni în ls, grep și fgrep. Utilitarele ps, top, pstree, killall și pidof au fost rescrise și au fost migrate pe noua bibliotecă libtoaru_procfs, unificând interacțiunea cu pseudo-FS /proc. Interpretul de comandă esh a fost extins.
  • A fost adăugată aplicația check-image pentru a verifica dacă biblioteca grafică poate încărca o imagine și pentru a afișa dimensiunea imaginii.
  • Limbajul de programare Kuroko a fost actualizat la versiunea 1.5rc2.
  • La versiunea 3.2, editorul textual Bim a fost actualizat, fiind creat cu referire la Vim. În noua versiune, iluminarea sintaxei a fost îmbunătățită, suportul pentru scripturile în limbajul Kuroko a fost extins, iar un nou sistem de completare automată a fost adăugat.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster