Uitgave van ToaruOS 2.1-besturingssysteem

De release van het Unix-achtige besturingssysteem ToaruOS 2.1 is gepubliceerd, helemaal opnieuw geschreven en geleverd met een eigen kernel, bootloader, standaard C-bibliotheek, pakketbeheerder, gebruikersruimtecomponenten en een grafische interface met een samengestelde vensterbeheerder. Het project ontwikkelde zich aanvankelijk aan de Universiteit van Illinois als onderzoekswerk op het gebied van het creëren van nieuwe samengestelde grafische interfaces, maar werd vervolgens omgezet in een afzonderlijk besturingssysteem. De projectcode is geschreven in C en gedistribueerd onder de BSD-licentie. Er is een live-image van 14.4 MB groot voorbereid om te downloaden, die kan worden getest in QEMU, VMware of VirtualBox.

Uitgave van ToaruOS 2.1-besturingssysteem

ToaruOS is gebaseerd op een kernel die een hybride modulaire architectuur gebruikt die een monolithisch raamwerk en tools combineert voor het gebruik van laadbare modules, die het merendeel van de beschikbare apparaatstuurprogramma's vormen, zoals schijfstuurprogramma's (PATA en ATAPI), EXT2- en ISO9660-bestandssystemen, framebuffer , toetsenborden, muizen, netwerkkaarten (AMD PCnet FAST, Realtek RTL8139 en Intel PRO/1000), geluidschips (Intel AC'97), evenals VirtualBox add-ons voor gastsystemen. De kernel ondersteunt Unix-threads, TTY, virtueel bestandssysteem, pseudo-bestandssysteem /proc, multithreading, IPC, ramdisk, ptrace, gedeeld geheugen, multitasking en andere standaardfuncties.

Het systeem is uitgerust met een samengestelde vensterbeheerder, ondersteunt dynamisch gekoppelde uitvoerbare bestanden in ELF-formaat, multitasking, een grafische stapel, kan Python 3 en GCC draaien en als bestandssysteem wordt Ext2 gebruikt. De bootloader ondersteunt BIOS en EFI. De netwerkstack maakt het gebruik van socket-API's in BSD-stijl mogelijk en ondersteunt netwerkinterfaces, inclusief loopback.

Onder de native applicaties valt de Vi-achtige code-editor Bim op, die de afgelopen jaren is gebruikt om ToaruOS-specifieke applicaties te ontwikkelen, zoals een bestandsbeheerder, terminalemulator, grafisch paneel met widgetondersteuning, pakketbeheerder en ook als bibliotheken voor het ondersteunen van afbeeldingen (PNG, JPEG) en TrueType-lettertypen. Programma's zoals Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo-emulator, Bochs, etc. zijn geporteerd naar ToaruOS.

Het project ontwikkelt ook zijn eigen dynamische programmeertaal, Kuroko, ontworpen om Python te vervangen bij het ontwikkelen van hulpprogramma's en aangepaste toepassingen voor het systeem. De taal doet qua syntaxis denken aan Python (gepositioneerd als een verkort dialect van Python met expliciete definitie van variabelen) en heeft een zeer compacte implementatie. Compilatie en interpretatie van bytecode wordt ondersteund. De bytecode-interpreter biedt een garbage collector en ondersteunt multithreading zonder gebruik te maken van globale vergrendeling. De compiler en tolk kunnen worden gecompileerd in de vorm van een kleine gedeelde bibliotheek (~500 KB), geïntegreerd met andere programma's en uitbreidbaar via de C API. Naast ToaruOS kan de taal worden gebruikt op Linux, macOS, Windows en worden uitgevoerd in browsers die WebAssembly ondersteunen.

In de nieuwe uitgave:

  • Initiële ondersteuning toegevoegd voor de AArch64 (ARMv8)-architectuur, inclusief de experimentele mogelijkheid om ToaruOS te gebruiken op het Raspberry Pi 400-bord en in de QEMU-emulator.
  • De verwerking en overdracht van signalen naar processen in de gebruikersruimte is opnieuw ontworpen. Geïmplementeerde sigaction, sigprocmask, sigwait en sigsuspend oproepen.
  • Verbeterd geheugenbeheer in de gebruikersruimte. Munmap-systeemaanroep toegevoegd.
  • De samengestelde manager implementeert een vervagingseffect en herwerkt de afhandeling van gebeurtenissen wanneer de venstergrootte wordt gewijzigd.
  • De terminalweergave is verbeterd, de luie weergave is geïmplementeerd en er is een glyph-cache toegevoegd voor TrueType-lettertypen.
  • De mogelijkheden voor componisten zijn uitgebreid.
  • Mechanismen voor het instellen van de klok zijn toegevoegd, waaronder de systeemoproep voor het instellen van de dagtijd en uitgebreide mogelijkheden van het datumhulpprogramma.
  • Verbeterde netwerkstack. Het ifconfig-hulpprogramma heeft ondersteuning toegevoegd voor het instellen van IPv4-adressen en routeringsinstellingen. Ingeschakelde werking van ICMP-sockets. Ondersteuning toegevoegd voor de recvfrom-functie voor UDP- en ICMP-sockets.
  • De bootloader heeft de mogelijkheid toegevoegd om met USB-toetsenborden te werken.
  • Er is een item voor het verwijderen van bestanden toegevoegd aan het contextmenu van bestandsbeheer.
  • Verbeterde weergave van grafieken in de systeemmonitor.
  • Grep-hulpprogramma toegevoegd met ondersteuning voor reguliere expressies.
  • Verbeterde ps-opdrachtuitvoer (extra kolommen toegevoegd).

Uitgave van ToaruOS 2.1-besturingssysteem


Bron: opennet.ru

Voeg een reactie