Uitgave van ToaruOS 2.3-besturingssysteem

De release van het Unix-achtige besturingssysteem ToaruOS 2.3 is gepubliceerd. Het is helemaal opnieuw geschreven en beschikt over een eigen kernel, bootloader, standaard C-bibliotheek, pakketbeheerder, gebruikerscomponenten en een grafische interface met een samengestelde windowmanager. Het project werd aanvankelijk ontwikkeld aan de Universiteit van Illinois als onderzoeksproject op het gebied van het creΓ«ren van nieuwe samengestelde grafische interfaces, maar is vervolgens omgezet naar een apart besturingssysteem. De projectcode is geschreven in C en wordt gedistribueerd onder de BSD-licentie. Een live image van 7.4 MB is beschikbaar om te downloaden en kan worden getest in QEMU, VMware of VirtualBox.

 Uitgave van ToaruOS 2.3-besturingssysteem

ToaruOS is gebaseerd op een kernel die gebruikmaakt van een hybride modulaire architectuur. Deze combineert een monolithische basis met middelen voor het gebruik van ladbare modules. Dit zijn de meeste beschikbare apparaatstuurprogramma's, zoals schijfstuurprogramma's (PATA en ATAPI), EXT2- en ISO9660-bestandssystemen, framebuffer, toetsenbord, muis, netwerkkaarten (AMD PCnet FAST, Realtek RTL8139 en Intel PRO/1000), geluidschips (Intel AC'97) en VirtualBox-add-ons voor gastsystemen. De kernel ondersteunt Unix-threads, TTY, virtueel FS, pseudo-FS /proc, multithreading, IPC, ramdisk, ptrace, gedeeld geheugen, multitasking en andere typische functies.

CистСма снабТСна ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½Ρ‹ΠΌ ΠΎΠΊΠΎΠ½Π½Ρ‹ΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠΌ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ динамичСски связываСмыС исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ELF, ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ, графичСский стСк, ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Python 3 ΠΈ GCC. Π’ качСствС Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы примСняСтся ext2. Π—Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ BIOS ΠΈ EFI. Π‘Π΅Ρ‚Π΅Π²ΠΎΠΉ стСк позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ API сокСтов Π² стилС BSD-систСм ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ сСтСвыС интСрфСйсы, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ 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, een terminalemulator, een grafisch paneel met widgetondersteuning, een pakketbeheerder en bibliotheken voor de ondersteuning van afbeeldingen (PNG, JPEG) en TrueType-lettertypen. Programma's zoals Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo-emulator, Bochs, enz. zijn geporteerd naar ToaruOS.

Het project ontwikkelt ook een eigen dynamische programmeertaal, Kuroko, die Python moet vervangen bij het ontwikkelen van hulpprogramma's en gebruikersapplicaties voor het systeem. De taal is qua syntaxis vergelijkbaar met Python (het wordt gepositioneerd als een verkort dialect van Python met expliciete definities van variabelen) en onderscheidt zich door een zeer compacte implementatie. Compilatie en interpretatie van bytecode worden ondersteund. De bytecode-interpreter biedt een garbage collector en ondersteunt multithreading zonder gebruik te maken van een globale vergrendeling. De compiler en interpreter kunnen worden gecompileerd als 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 in browsers die WebAssembly ondersteunen.

In de nieuwe uitgave:

  • Π’ эмулятор Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²ΠΊΠ»Π°Π΄ΠΎΠΊ, ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ Alt-Ρ†ΠΈΡ„Ρ€Π°. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° эмуляция ΠΆΠΈΡ€Π½ΠΎΠ³ΠΎ начСртания ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· Π΄Π²ΠΎΠΉΠ½ΠΎΠ΅ Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π³Π»ΠΈΡ„ΠΎΠ². Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ подмСню Β«Terminal stateΒ» для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΠΎΠΊΠ°Π·Π° состояния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² ΠΈ Β«Send signalΒ» для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ сигналов Ρ„ΠΎΠ½ΠΎΠ²Ρ‹ΠΌ процСссам.
     Uitgave van ToaruOS 2.3-besturingssysteem
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ просмотрщик систСмных руководств, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ man-страницы Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ roff.
     Uitgave van ToaruOS 2.3-besturingssysteem
  • Π’ контСкстноС мСню Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ подмСню для управлСния ΠΌΠΎΠ·Π°ΠΈΡ‡Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΎΠΉ ΠΎΠΊΠΎΠ½.
     Uitgave van ToaruOS 2.3-besturingssysteem
  • Π’ ядрС Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ систСмныС Π²Ρ‹Π·ΠΎΠ²Ρ‹, срСди ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… pread/pwrite, sigsuspend, sigqueue, lchown, pipe2, dup3, getrusage ΠΈ fcntl. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„Π»Π°Π³ΠΎΠ² FD_CLOEXEC ΠΈ FD_CLOFORK. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π½Π΄ΠΎΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ адрСса Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ядра. ABI систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½ΠΎ Π½Π° использованиС инструкций syscall/sysret.
  • Π—Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Ρ‹ возмоТности Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ консоли (TTY), обСспСчСна эмуляция тСкстового Ρ€Π΅ΠΆΠΈΠΌΠ° VGA Π½Π° Π±Π°Π·Π΅ Ρ„Ρ€Π΅ΠΉΠΌΠ±ΡƒΡ„Π΅Ρ€Π°.
  • Π’ вСрсии для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Aarch64 Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ запуска Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ°ΡˆΠΈΠ½Π°Ρ… Π½Π° Π±Π°Π·Π΅ QEMU.
  • Π’ сСтСвой стСк Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с нСсколькими сокСтами ICMP.
  • Π’ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ libc Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ getdelim, getline, scandir, telldir, rewinddir, seekdir, ftruncate, fchmod, fchown, popen, pclose, sig2str, str2sig.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ стандартныС ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ rmdir, uniq, cmp, zcat, realpath, id, nohup, cksum. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΡ†ΠΈΠΈ Π² ls, grep ΠΈ fgrep. ΠŸΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Π½Ρ‹ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ps, top, pstree, killall ΠΈ pidof, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Ρ‹ Π½Π° Π½ΠΎΠ²ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ libtoaru_procfs, ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ с псСвдо-Π€Π‘ /proc. Π Π°ΡΡˆΠΈΡ€Π΅Π½ ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ esh.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° check-image для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ возмоТности Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ изобраТСния графичСской Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π° изобраТСния.
  • Π―Π·Ρ‹ΠΊ программирования Kuroko ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½ Π΄ΠΎ вСрсии 1.5rc2.
  • Π”ΠΎ вСрсии 3.2 ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½ тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Bim, созданный с оглядкой Π½Π° Vim. Π’ Π½ΠΎΠ²ΠΎΠΉ вСрсии ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π° подсвСтка синтаксиса, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° скриптов Π½Π° языкС Kuroko ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° новая систСма автодополнСния Π²Π²ΠΎΠ΄Π°.

Bron: opennet.ru