ToaruOS 2.3 og 2.3.1

ToaruOS 2.3 og 2.3.1 ToaruOS 2.3 og 2.3.1 ToaruOS 2.3 og 2.3.1 ToaruOS 2.3 og 2.3.1

28. april og 5. maj var der afholdt udgivelserne 2.3 og 2.3.1 af det Unix-lignende operativsystem ToaruOS, der er skrevet fra bunden og leveres med sin egen kerne, bootloader, standard C-bibliotek, pakkehåndtering, brugerplads komponenter og et grafisk interface med en sammensat vindueshåndterer.

Projektet blev oprindeligt udviklet ved University of Illinois som et forskningsarbejde inden for oprettelse af nye sammensatte grafiske brugerflader, men blev derefter transformeret til et selvstændigt operativsystem. Koden til projektet er skrevet i C og distribueres licenseret under BSD. Der er forberedt en live-udgave (2.3.1), der har en størrelse på 7,4 MB og kan testes i QEMU, VMware eller VirtualBox.

ToaruOS bygger på en kerne, der anvender en hybrid modulær arkitektur, som kombinerer en monolitisk base med midler til at bruge lastbare moduler, i hvilke de fleste eksisterende enhedsdrivere er udformet, såsom diskdrivere (PATA og ATAPI), filsystemet Ext2 og ISO9660, framebuffer, tastaturer, mus, netværkskort (AMD PCnet FAST, Realtek RTL8139 og Intel PRO/1000), lydchips (Intel AC’97) samt VirtualBox-udvidelser til gæstesystemer. Kernen understøtter Unix-tråde, TTY, virtuel FS, pseudo-FS /proc, multitrådning, IPC, ramdisk, ptrace, delt hukommelse, multitasking og andre typiske funktioner.

Systemet er udstyret med en sammensat vindueshåndterer, understøtter dynamisk linkede eksekverbare filer i ELF-format, multitasking, grafisk stack, kan køre Python 3 og GCC. Filsystemet der bruges er ext2. Bootloaderen understøtter BIOS og EFI. Netværksstakken tillader brug af BSD-lignende socket-API'er og understøtter netværksgrænseflader, inklusive loopback.

Blandt de egne applikationer findes en kode-editor, der ligner Vi, kaldet Bim, som i de seneste år er blevet brugt til at udvikle ToaruOS-specifikke applikationer, såsom filhåndtering, terminalemulator, grafisk panel med widget-support, pakkehåndtering samt biblioteker til understøttelse af billeder (PNG, JPEG) og TrueType-skrifter. For ToaruOS er der portet programmer som Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo-emulator, Bochs mv.

Projektet udvikler også sit eget dynamiske programmeringssprog Kuroko, designet til at erstatte Python ved udvikling af værktøjer og brugerapplikationer til systemet. Sproget ligner Python i syntax (positioneret som en forkortet dialekt af Python med tydelig variabeldefinition) og har en meget kompakt implementering. Kompilation og fortolkning af bytecode understøttes. Bytecode-fortolkeren har en garbage collector, understøtter multitrådning uden at anvende global lås. Kompilatoren og fortolkeren kan samles som et lille delt bibliotek (~500KB), der kan integreres med andre programmer og udvides via C API. Foruden ToaruOS kan sproget anvendes på Linux, macOS, Windows og køres i browsere med støtte for WebAssembly.

I den nye udgivelse:

  • Terminal emulatoren har fået tilføjet support for faner, som kan skiftes mellem via Alt-tast + nummer. Emulering af fed skrift er blevet implementeret ved hjælp af dobbelt lag af glyphs. Undermenuerne "Terminal state" for at aktivere visning af tilstanden for forskellige tilstande og "Send signal" til at sende signaler til baggrundsprocesser er blevet tilføjet.
  • Der er implementeret en systemmanualvisning, som understøtter man-sider i roff-format.
  • Der er tilføjet en undermenu til kontekstmenuen til styring af mosaikvinduessystem.
  • I kernen er der implementeret nye systemopkald, herunder pread/pwrite, sigsuspend, sigqueue, lchown, pipe2, dup3, getrusage og fcntl. Support til flags FD_CLOEXEC og FD_CLOFORK er blevet tilføjet. Der er implementeret understøttelse af randomisering af kernelens indlæsningsadresse. ABI for systemopkald er oversat til brugen af instruktionerne syscall/sysret.
  • Mulighederne for den virtuelle konsol (TTY) er betydeligt udvidet, og der er sikret emulering af teksttilstand VGA baseret på framebufferen.
  • I versionen for Aarch64-arkitekturen er det blevet muligt at køre i virtuelle maskiner baseret på QEMU.
  • Netværksstakken har fået tilføjet støtte til samtidig drift med flere ICMP-sockets.
  • Funktionerne getdelim, getline, scandir, telldir, rewinddir, seekdir, ftruncate, fchmod, fchown, popen, pclose, sig2str, str2sig er blevet tilføjet til den standard libc-bibliotek.
  • Nye standardværktøjer rmdir, uniq, cmp, zcat, realpath, id, nohup, cksum er blevet tilføjet. Nye muligheder i ls, grep og fgrep er blevet tilføjet. Værktøjerne ps, top, pstree, killall og pidof er blevet omskrevet og oversat til det nye bibliotek libtoaru_procfs, der standardiserer arbejdet med pseudo-FS /proc. Kommandofortolkeren esh er blevet udvidet.
  • Værktøjet check-image er tilføjet for at kontrollere, om et billede kan indlæses af grafikbiblioteket og for at vise størrelsen på billedet.
  • Programmeringssproget Kuroko er opdateret til version 1.5rc2.
  • Teksteditoren er opdateret til version 3.2 Bim (github.com), der er bygget med henblik på Vim. I den nye version er syntaksfremhævningen forbedret, støtten til scripts skrevet i Kuroko-sproget er udvidet, og et nyt system til automatisk fuldførelse af input er blevet tilføjet.

Kilde: linux.org.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster