ToaruOS 2.3 a 2.3.1

ToaruOS 2.3 a 2.3.1 ToaruOS 2.3 a 2.3.1 ToaruOS 2.3 a 2.3.1 ToaruOS 2.3 a 2.3.1

28. dubna a 5. května se konaly vydání 2.3 a 2.3.1 unixové podobné operační soustavy ToaruOS, napsané od nuly, dodávané se svým jádrem, bootloaderem, standardní C knihovnou, balíčkovým manažerem, složkami uživatelského prostoru a grafickým rozhraním s kompozitním správou oken.

Původně projekt vznikl na Illinois University jako výzkumná práce zaměřená na vytváření nových kompozitních grafických rozhraní, ale následně se transformoval na samostatný operační systém. Kód projektu je napsán v jazyce C a distribuováno je pod licencí BSD. Pro stažení je k dispozici live obraz (2.3.1), jehož velikost je 7.4 MB, který lze vyzkoušet v QEMU, VMware nebo VirtualBox.

Za ToaruOS stojí jádro, které používá hybridní modulární architekturu, kombinující monolitickou základnu a prostředky pro využívání načítatelných modulů, v jejichž podobě jsou většinou uspořádány existující ovladače zařízení, jako jsou ovladače disků (PATA a ATAPI), FS Ext2 a ISO9660, framebuffer, klávesnice, myši, síťové karty (AMD PCnet FAST, Realtek RTL8139 a Intel PRO/1000), zvukové čipy (Intel AC’97) a také dodatky VirtualBox pro hostitelské systémy. Jádro podporuje Unixová vlákna, TTY, virtuální FS, pseudo-FS /proc, vícetrhání, IPC, ramdisk, ptrace, sdílenou paměť, multitasking a další běžné funkce.

Systém je vybaven kompozitním správcem oken, podporuje dynamicky linkované spustitelné soubory ve formátu ELF, multitasking, grafický stack, může provádět Python 3 a GCC. Jako systém souborů je používán ext2. Bootloader podporuje BIOS a EFI. Síťový stack umožňuje použití BSD-style socket API a podporuje síťové rozhraní, včetně loopback.

Mezi vlastními aplikacemi vyniká editor kódu Bim podobný Vi, který se používá posledních několik let pro vývoj specifických aplikací pro ToaruOS, jako jsou správce souborů, terminálový emulátor, grafický panel s podporou widgetů, balíčkový manažer a také knihovny pro podporu obrázků (PNG, JPEG) a písem TrueType. Pro ToaruOS bylo provedeno portování takových programů, jako jsou Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, emulátor Super Nintendo, Bochs a další.

Projekt také vyvíjí vlastní dynamický programovací jazyk Kuroko, navržený jako náhrada Pythonu při vývoji utilit a uživatelských aplikací pro systém. Jazyk má syntaxi, která připomíná Python (prezentuje se jako zjednodušený dialekt Pythonu s explicitním určením proměnných) a vyznačuje se velmi kompaktní implementací. Podporuje kompilaci a interpretaci bajtkódu. Interpret bajtkódu poskytuje garbage collector, podporuje vícerozměrnost bez použití globální blokace. Kompilátor a interpret mohou být sestaveny ve formě malé sdílené knihovny (~500KB), která je integrovatelná s jinými programy a rozšiřitelná skrze C API. Kromě ToaruOS lze jazyk používat i v Linuxu, macOS, Windows a spouštět v prohlížečích s podporou WebAssembly.

V novém vydání:

  • Do terminálového emulátoru byla přidána podpora záložek, mezi kterými lze přepínat sekvencí Alt-číslo. Byla implementována emulace tučného písma dvojitým překrytím glifů. Přidána podmenu „Stav terminálu“ pro zobrazení stavu různých režimů a „Odeslat signál“ pro posílání signálů na pozadí procesům.
  • Byl implementován prohlížeč systémových příruček, který podporuje man stránky ve formátu roff.
  • Do kontextového menu bylo přidáno podmenu pro správu mozaikového uspořádání oken.
  • V jádru byly implementovány nové systémové volání, mezi kterými jsou pread/pwrite, sigsuspend, sigqueue, lchown, pipe2, dup3, getrusage a fcntl. Přidána podpora pro flagy FD_CLOEXEC a FD_CLOFORK. Byla implementována podpora pro randomizaci adresy načítání jádra. ABI systémových volání bylo převedeno na použití instrukcí syscall/sysret.
  • Možnosti virtuální konzole (TTY) byly výrazně rozšířeny, byla zajištěna emulace textového režimu VGA na základě rámcového bufferu.
  • Ve verzi pro architekturu Aarch64 byla implementována možnost spuštění ve virtuálních strojích na bázi QEMU.
  • Do síťového zásobníku byla přidána podpora pro současnou práci s více ICMP sokety.
  • Do standardní knihovny libc byly přidány funkce getdelim, getline, scandir, telldir, rewinddir, seekdir, ftruncate, fchmod, fchown, popen, pclose, sig2str, str2sig.
  • Byly přidány nové standardní utilitky rmdir, uniq, cmp, zcat, realpath, id, nohup, cksum. Byly přidány nové možnosti do ls, grep a fgrep. Utility ps, top, pstree, killall a pidof byly přepsány, a převedeny na novou knihovnu libtoaru_procfs, která unifikuje práci s pseudo-FS /proc. Příkazový interpretátor esh byl rozšířen.
  • Byla přidána utilita check-image pro kontrolu možnosti načtení obrázku grafickou knihovnou a zobrazení velikosti obrázku.
  • Programovací jazyk Kuroko byl aktualizován na verzi 1.5rc2.
  • Textový editor byl aktualizován do verze 3.2 Bim (github.com), vytvořený s ohledem na Vim. V nové verzi byla vylepšena syntaxe zvýraznění, rozšířena podpora skriptů v jazyce Kuroko a byla přidána nová systém automatického doplňování.

Zdroj: linux.org.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster