Liberasyon sistèm operasyon ToaruOS 1.14 ak lang pwogramasyon Kuroko 1.1

Liberasyon pwojè ToaruOS 1.14 la disponib, devlope yon sistèm operasyon tankou Unix ekri nan grafouyen ak pwòp nwayo li yo, loader bòt, bibliyotèk C estanda, manadjè pake, eleman espas itilizatè yo ak yon koòdone grafik ak yon manadjè fenèt konpoze. Nan etap devlopman aktyèl la, kapasite sistèm nan ase pou kouri Python 3 ak GCC. Kòd pwojè a ekri an C epi distribye anba lisans BSD. Yo prepare yon imaj ap viv nan gwosè 14 MB pou telechaje, ki ka teste nan QEMU, VMware oswa VirtualBox.

Liberasyon sistèm operasyon ToaruOS 1.14 ak lang pwogramasyon Kuroko 1.1

Pwojè a te kòmanse an 2010 nan University of Illinois e li te devlope okòmansman kòm travay rechèch nan domèn kreye nouvo entèfas grafik konpoze. Depi 2012, devlopman an te transfòme nan sistèm nan operasyon ToaruOS, ki te devlope okòmansman kòm yon pwojè elèv, ak Lè sa a, te grandi nan yon plezi nan wikenn, ranmase pa kominote a ki te fòme alantou pwojè a. Nan fòm li ye kounye a, sistèm nan ekipe ak yon manadjè fenèt konpoze, sipòte dosye ègzèkutabl ki lye dinamik nan fòma ELF, multitech, grafik ak pile rezo.

Pake a gen ladan yon pò langaj pwogramasyon Python 3.6, ki itilize nan devlopman kèk aplikasyon grafik espesifik ToaruOS, tankou yon manadjè pake, editè grafik, visualiseur PDF, kalkilatris, ak jwèt senp. Twazyèm pati pwogram pòtab pou ToaruOS gen ladan Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo Emulator, Bochs, elatriye.

ToaruOS baze sou yon nwayo ki sèvi ak yon achitekti ibrid modilè ki konbine yon kad monolitik ak zouti pou itilize modil chaje, ki fòme majorite chofè aparèy ki disponib, tankou chofè disk (PATA ak ATAPI), sistèm fichye EXT2 ak ISO9660, framebuffer. , klavye, sourit , kat rezo (AMD PCnet FAST, Realtek RTL8139 ak Intel PRO/1000), chips son (Intel AC'97), osi byen ke VirtualBox ajoute-ons pou sistèm envite.

Primitif yo bay nan nwayo a gen ladan fil Unix, TTY, sistèm dosye vityèl, multithreading, IPC, memwa pataje, multitach ak lòt karakteristik estanda. ext2 yo itilize kòm sistèm dosye a. Pou kominike avèk nwayo a, yo bay yon aplikasyon pseudo-FS /proc, ki te kreye pa analoji ak Linux.

Plan pou 2021 gen ladan travay sou achitekti 64-bit x86-64 (pou kounye a, asanble yo ap pwodwi sèlman pou sistèm 32-bit x86) ak sipò pou sistèm miltiprosesè (SMP). Lòt objektif yo enkli amelyore konpatibilite ak espesifikasyon POSIX nan domèn pwosesis siyal ak metòd senkronizasyon, pote bibliyotèk estanda C nan nivo Newlib, epi mete ann aplikasyon pwòp C lang du ak zouti devlopman.

Pwojè a ap devlope tou pwòp langaj pwogramasyon dinamik li yo, Kuroko, ki fèt pou ranplase Python lè y ap devlope sèvis piblik ak aplikasyon koutim pou sistèm nan. Langaj la sipòte konpilasyon bytecode ak entèpretasyon, sentaks li sanble ak Python (li pozisyone kòm yon dyalèk pi kout nan Python ak definisyon klè nan varyab) epi li gen yon aplikasyon trè kontra enfòmèl ant. Entèprèt bytecode a bay yon pèseptè fatra epi li sipòte multithreading san yo pa itilize bloke global. Konpile a ak entèprèt la ka konpile sou fòm yon ti bibliyotèk pataje (~500KB), entegre ak lòt pwogram ak ekstansibl atravè C API la. Anplis ToaruOS, lang lan ka itilize sou Linux, macOS, Windows epi kouri nan navigatè ki sipòte WebAssembly.

Nouvo lage ToaruOS konsantre sou devlopman bibliyotèk C estanda ak lang pwogramasyon Kuroko. Pou egzanp, fonksyon matematik ki nesesè pou kalkil kòrèk nan paramèt ekleraj nan jwèt la Quake yo te ajoute nan libc. Kapasite nan bòt nan VirtualBox nan mòd EFI te amelyore. Gwosè a nan imaj la ISO te redwi lè l sèvi avèk konpresyon nan imaj la ki gen kapasite ram.

Nouvo lage lang Kuroko 1.1 la ajoute sipò pou async ak tann, aplike multithreading, amelyore konpatibilite ak Python 3, sipòte plizyè devwa valè, elaji zouti pou ekri moun kap okipe yo nan lang C a, ajoute sipò pou tip annotations pou fonksyon, ajoute la. mo kle "sede" ak "sede nan", os, dis, fileio, ak modil tan yo te entegre, nouvo metòd yo te aplike nan str, lis, dict ak bytes, sipò pou prekonpilasyon nan bytecode te ajoute, lisans lan te ajoute. te chanje an MIT (anvan te gen yon konbinezon de MIT ak ISC).

Sous: opennet.ru

Add nouvo kòmantè