Pagpagawas sa ToaruOS 1.14 operating system ug Kuroko 1.1 programming language

Ang pagpagawas sa proyekto sa ToaruOS 1.14 anaa, nga nagpalambo sa usa ka Unix-like nga operating system nga gisulat gikan sa scratch nga adunay kaugalingong kernel, boot loader, standard C library, package manager, user space component ug usa ka graphical interface nga adunay composite window manager. Sa kasamtangan nga yugto sa pag-uswag, ang mga kapabilidad sa sistema igo na sa pagpadagan sa Python 3 ug GCC. Ang code sa proyekto gisulat sa C ug giapod-apod ubos sa lisensya sa BSD. Ang usa ka buhi nga imahe nga 14 MB ang gidak-on giandam alang sa pag-download, nga mahimong sulayan sa QEMU, VMware o VirtualBox.

Pagpagawas sa ToaruOS 1.14 operating system ug Kuroko 1.1 programming language

Ang proyekto nagsugod sa 2010 sa Unibersidad sa Illinois ug sa sinugdan naugmad isip research work sa natad sa pagmugna og bag-ong composite graphical interfaces. Sukad sa 2012, ang pag-uswag nausab ngadto sa ToaruOS operating system, nga gimugna sa sinugdanan isip usa ka proyekto sa estudyante, ug dayon nahimong usa ka kalingawan sa katapusan sa semana, nga gikuha sa komunidad nga naporma sa palibot sa proyekto. Sa kasamtangan nga porma niini, ang sistema adunay himan nga composite window manager, nagsuporta sa dinamikong nalambigit nga mga executable nga mga file sa ELF format, multitasking, graphics ug network stacks.

Ang package naglakip sa usa ka pantalan sa Python 3.6 programming language, nga gigamit sa pagpalambo sa pipila ka ToaruOS-specific graphical nga mga aplikasyon, sama sa usa ka package manager, graphic editor, PDF viewer, calculator, ug yano nga mga dula. Ang mga programa sa ikatulo nga partido nga gi-port sa ToaruOS naglakip sa Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo emulator, Bochs, ug uban pa.

Ang ToaruOS gibase sa usa ka kernel nga naggamit ug hybrid modular nga arkitektura nga naghiusa sa usa ka monolithic nga gambalay ug mga himan alang sa paggamit sa loadable modules, nga naglangkob sa kadaghanan sa anaa nga device drivers, sama sa disk drivers (PATA ug ATAPI), EXT2 ug ISO9660 file system, framebuffer. , mga keyboard, ilaga, network card (AMD PCnet FAST, Realtek RTL8139 ug Intel PRO/1000), sound chips (Intel AC'97), ingon man mga VirtualBox add-on alang sa mga guest system.

Ang mga primitive nga gihatag sa kernel naglakip sa Unix thread, TTY, virtual file system, multithreading, IPC, shared memory, multitasking ug uban pang standard features. ext2 gigamit ingon nga file system. Aron makig-uban sa kernel, usa ka pseudo-FS / proc nga pagpatuman gihatag, nga gihimo pinaagi sa analohiya sa Linux.

Ang mga plano alang sa 2021 naglakip sa pagtrabaho sa 64-bit x86-64 nga arkitektura (sa pagkakaron, ang mga asembliya gihimo lamang alang sa 32-bit x86 nga mga sistema) ug suporta alang sa multiprocessor system (SMP). Ang uban nga mga katuyoan naglakip sa pagpauswag sa pagkaangay sa mga detalye sa POSIX sa natad sa pagproseso sa signal ug mga pamaagi sa pag-synchronize, pagdala sa standard nga librarya sa C sa lebel sa Newlib, ug pagpatuman sa kaugalingon nga C language compiler ug mga himan sa pagpauswag.

Ang proyekto nagpalambo usab sa kaugalingon nga dinamikong programming language, Kuroko, nga gidesinyo sa pag-ilis sa Python sa dihang nag-develop sa mga utilities ug custom nga mga aplikasyon alang sa sistema. Ang lengguwahe nagsuporta sa bytecode compilation ug interpretation, ang syntax niini susama sa Python (gipahimutang kini isip usa ka pinamubo nga dialect sa Python nga adunay klaro nga kahulugan sa mga variable) ug adunay usa ka compact kaayo nga pagpatuman. Ang bytecode interpreter naghatag ug garbage collector ug nagsuporta sa multithreading nga walay paggamit sa global locking. Ang compiler ug interpreter mahimong i-compile sa porma sa usa ka gamay nga shared library (~500KB), integrated uban sa ubang mga programa ug extensible pinaagi sa C API. Dugang sa ToaruOS, ang pinulongan mahimong magamit sa Linux, macOS, Windows ug modagan sa mga browser nga nagsuporta sa WebAssembly.

Ang bag-ong pagpagawas sa ToaruOS naka-focus sa pagpalambo sa standard C library ug sa Kuroko programming language. Pananglitan, ang mathematical functions nga gikinahanglan para sa saktong kalkulasyon sa mga parameter sa suga sa Quake game gidugang sa libc. Ang abilidad sa pag-boot sa VirtualBox sa EFI mode gipauswag. Ang gidak-on sa iso image gipakunhod pinaagi sa paggamit sa compression sa ram disk image.

Ang bag-ong pagpagawas sa Kuroko 1.1 nga lengguwahe nagdugang suporta alang sa async ug naghulat, nagpatuman sa multithreading, nagpalambo sa pagkaangay sa Python 3, nagsuporta sa daghang mga buluhaton sa bili, nagpalapad sa mga himan alang sa pagsulat sa mga tigdumala sa C nga pinulongan, nagdugang sa suporta alang sa tipo nga anotasyon alang sa mga gimbuhaton, nagdugang sa keywords nga β€œyield” ug β€œyield from”, ang os, dis, fileio, ug time modules na-integrate na, bag-ong mga pamaagi ang gipatuman sa str, list, dict and bytes, suporta para sa precompilation ngadto sa bytecode gidugang, ang lisensya adunay giusab ngadto sa MIT (kaniadto adunay kombinasyon sa MIT ug ISC).

Source: opennet.ru

Idugang sa usa ka comment