ToaruOS 1.14 ááá±á¬áá»ááºááᯠáááºážáááá¯ááºááá¯áẠkernelá boot loaderá standard C libraryá package managerá user space components ááŸáá·áº composite window manager ááŒáá·áº graphical interface ááŒáá·áº áá±ážáá¬ážáá¬ážáá±á¬ Unix-like operating system ááᯠáá®ááœááºáá¯ááºáá¯ááºááá¯ááºááŒá®ááŒá áºáááºá áááºááŸá ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯ á¡ááá·áºááœááºá Python 3 ááŸáá·áº GCC ááᯠá¡áá¯á¶ážááŒá¯ááẠá áá áºá á áœááºážáá±á¬ááºááẠáá¯á¶áá±á¬ááºáá«áááºá ááá±á¬áá»ááºáá¯ááºááᯠC ááŒáá·áºáá±ážáá¬ážáá¬ážááŒá®áž BSD ááá¯ááºá ááºá¡á±á¬ááºááœáẠááŒáá·áºáá±áá¬ážáááºá QEMUá VMware ááá¯á·ááá¯áẠVirtualBox ááœáẠá ááºážáááºááá¯ááºááá·áº 14 MB á¡ááœááºá¡á á¬ážááŸá ááá¯ááºááá¯ááºáá¯ááºáá¯á¶áá áºáá¯á¶ááᯠáá±á«ááºážáá¯ááºáá¯ááºááẠááŒááºáááºáá¬ážáá«áááºá
á¡ááá¯áá«ááá±á¬áá»ááºááᯠIllinois ááá¹áááá¯ááºááœáẠ2010 áá¯ááŸá áºááœáẠá áááºáá²á·ááŒá®áž áá±á«ááºážá ááºááááºáá áºá¡ááºáá¬áá±á·á áºá¡áá áºáá»á¬ážáááºáá®ážááŒááºážáááºáááºááœáẠáá¯áá±áááá¯ááºáááºážá¡ááŒá ẠáááŠážáá®ááœááºáá²á·áááºá 2012 áá¯ááŸá áºááŸá áááºá ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯ááẠáá»á±á¬ááºážáá¬ážááá±á¬áá»ááºáá áºáá¯á¡áá±ááŒáá·áº áááŠážáá®ááœááºáá²á·áá±á¬ ToaruOS áááºáááºááŸá¯á áá áºá¡ááŒá áºááá¯á· ááŒá±á¬ááºážáá²áá²á·ááŒá®ážá ááá¯á·áá±á¬áẠááá±á¬áá»ááºáá áºááá¯ááºááŸá á¡ááá¯ááºážá¡ááá¯ááºážá០áá±á¬ááºáá°áá²á·áá±á¬ áá®áááºážáááºáá¯áẠáá«ááá¬áá áºáá¯á¡ááŒá ẠááŒá®ážááœá¬ážáá¬áá²á·áááºá áááºážá áááºááŸááá¯á¶á á¶ááœááºá á áá áºááœáẠáá±á«ááºážá ááºáááºážááá¯ážáááºáá±áá»á¬ áááºáááºáá¬ážááŒá®ážá ELF áá±á¬áºáááºá áá¯ááºáá±á¬ááºá áá¬áá»á¬ážá áœá¬á ááááºáá áºááŸáá·áº ááœááºáááºá áááºáá»á¬ážááœáẠááá¯ááºážááá áºáá»áááºáááºáá¬ážáá±á¬ ááá¯ááºáá»á¬ážááᯠáá¶á·ááá¯ážáá±ážáá«áááºá
áááºáá±á·áá»áºááœáẠáááºáá±á·áá»áºáááºáá±áá»á¬á ááááºáá áºáááºážááŒááºáá°á PDF ááŒáá·áºááŸá¯áá°á ááááºážáá±á«ááºážá ááºááŸáá·áº ááá¯ážááŸááºážáá±á¬ááááºážáá»á¬ážáá²á·ááá¯á·áá±á¬ ToaruOS áá®ážááá·áºááááºáá áºá¡ááºááºáá®áá±ážááŸááºážáá»á¬áž ááœá¶á·ááŒáá¯ážááá¯ážáááºáá±ážááœáẠá¡áá¯á¶ážááŒá¯ááá·áº Python 3.6 áááá¯ááááºáá¬áá¬á áá¬ážá ááááºáááºážáá áºáᯠáá«áááºáááºá ToaruOS ááá¯á· áá±ážááá¯á·áá¬ážáá±á¬ ááŒááºáá¡ááœá²á·á¡á ááºáž áááá¯ááááºáá»á¬ážááœáẠVimá GCCá Binutilsá FreeTypeá MuPDFá SDLá Cairoá Doomá Quakeá Super Nintendo emulatorá Bochs á¡á ááŸááááºááá¯á· áá«áááºáááºá
ToaruOS ááẠáá áºáá áºáááá¯ááºáááá¯ááºáá»á¬áž (PATA ááŸáá·áº ATAPI), EXT2 ááŸáá·áº ISO9660 ááá¯ááºá áá áºáá»á¬ážá áá±á¬ááºááá¬áá»á¬ážáá²á·ááá¯á·áá±á¬ á ááºáá á¹á ááºážáááá¯ááºáá¬áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áááºá¡ááœáẠáá±á«ááºážá ááºáá¬ážáá±á¬ áá±á¬áºáá»á°áá¬áááá¯áá¬ááŸáá·áº áá°ážááºáá»á¬ážááᯠáá±á«ááºážá ááºáá¬ážááá·áº ToaruOS ááá¯á¡áá¯á¶ážááŒá¯ááá·áº kernel áá áºáá¯á¡áá±á«áº á¡ááŒá±áá¶áá¬ážáááºá áá®ážáá¯ááºáá»á¬ážá ááŒáœááºáá»á¬ážá ááœááºáááºáááºáá»á¬áž (AMD PCnet FASTá Realtek RTL8139 ááŸáá·áº Intel PRO/1000)á á¡áá¶áá»á áºááºáá»á¬áž (Intel AC'97) ááŸáá·áº á§áá·áºáááºá áá áºáá»á¬ážá¡ááœáẠVirtualBox á¡ááá¯áááá¯ááááºáá»á¬ážá
kernel á០áá¶á·ááá¯ážáá±ážáá±á¬ primitives áá»á¬ážááœáẠUnix threadsá TTYá virtual file systemá multithreadingá IPCá shared memoryá multitasking ááŸáá·áº á¡ááŒá¬ážáá±á¬ standard features áá»á¬áž áá«áááºáááºá ext2 ááᯠááá¯ááºá áá áºá¡ááŒá Ạá¡áá¯á¶ážááŒá¯áááºá kernel ááŸáá·áº á¡ááŒááºá¡ááŸááºáá¯á¶á·ááŒááºáááºá¡ááœáẠLinux ááŸáá·áº ááŸááºááœá²áááºáá®ážáá¬ážáá±á¬ pseudo-FS /proc á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯ááᯠáá¶á·ááá¯ážáá±ážáá«áááºá
2021 áá¯ááŸá áºá¡ááœáẠá¡á á®á¡á ááºáá»á¬ážááœáẠ64-bit x86-64 áááá¯áá¬áááºáá¬áá»á¬áž (ááá¯á¡áá»áááºááœááºá á ááºážáá±ážááœá²áá»á¬ážááᯠ32-bit x86 á áá áºáá»á¬ážá¡ááœááºáᬠáá¯ááºáá¯ááºáá¬ážáááº) ááŸáá·áº multiprocessor á áá áºáá»á¬áž (SMP) á¡ááœáẠáá¶á·ááá¯ážááŸá¯áá»á¬áž áá«áááºáááºá á¡ááŒá¬ážáááºážááá¯ááºáá»á¬ážááœáẠá¡áá»ááºááŒáá¯ááºáá±á¬ááºááŒááºážááŸáá·áº áááºáá°ááŒá¯ááŒááºážáááºážáááºážáá»á¬ážáááºáááºááœáẠPOSIX áááºááŸááºáá»ááºáá»á¬ážááŸáá·áº ááá¯ááºáááºáá®ááŸá¯ááŸáá¡á±á¬áẠááŒáŸáá·áºáááºááŒááºážá á ᶠC á á¬ááŒáá·áºááá¯ááºááᯠNewlib á¡ááá·áºááá¯á· áá°áá±á¬ááºáá¬ááŒááºážááŸáá·áº áááºážáááá¯ááºááá¯áẠC language compiler ááŸáá·áº ááœá¶á·ááŒáá¯ážááá¯ážáááºáá±ážáááááá¬áá»á¬ážááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááŒááºážááá¯á· áá«áááºáááºá
ááá±á¬áá»ááºááẠá áá áºá¡ááœáẠá¡áá¯á¶ážáááºááŸá¯áá»á¬ážááŸáá·áº á áááºááŒáá¯ááºá¡ááºááºáá®áá±ážááŸááºážáá»á¬ážááᯠáááºáá®ážááá·áºá¡áá« Python áá±áá¬ááœáẠá¡á á¬ážááá¯ážáááºá¡ááœáẠáááºážáááá¯ááºááá¯áẠdynamic programming language, Kuroko ááᯠáá®ááœááºáá»ááºááŸááááºá áá¬áá¬á áá¬ážááẠbytecode á á¯á ááºážááŸá¯ááŸáá·áº á¡áááá¹áá¬ááºááœáá·áºááá¯ááŒááºážááᯠáá¶á·ááá¯ážáá±ážáááºá áááºážá syntax ááẠPython ááŸáá·áº áááºáá°ááẠ(áááºážááᯠááááºážááŸááºáá»á¬ážá ááŸááºážáááºážááŒááºáá¬ážáá±á¬ á¡áááá¹áá«ááºááœáá·áºááá¯áá»ááºáá»á¬ážááŸáá·áº Python á á¡ááá¯áá±á¬ááºá áá¬ážáá¯á¶ážá¡ááŒá Ạáá±áá¬áá»áá¬ážáááº) ááŸáá·áº á¡ááœááºáá»á áºáá»á áºáá±á¬ á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯ááŸááááºá bytecode á áá¬ážááŒááºááẠá¡ááŸáá¯ááºá á¯áá±á¬ááºážáá°á¡á¬áž áá¶á·ááá¯ážáá±ážáᬠáááá¯áááºáá±á¬á·ááºáá»ááŒááºážááᯠá¡áá¯á¶ážáááŒá¯áá² multithreading ááᯠáá¶á·ááá¯ážáá±ážáááºá á á¯á ááºážááŸá¯ ááŸáá·áº á áá¬ážááŒááºááᯠáá±ážáááºáá±á¬ áá»áŸáá±á á¬ááŒáá·áºááá¯áẠ(~500KB) áá¯á¶á á¶ááŒáá·áº á á¯á ááºážááá¯ááºááŒá®áž á¡ááŒá¬ážáááá¯ááááºáá»á¬ážááŸáá·áº áá±á«ááºážá ááºáᬠC API ááŸáááá·áº ááá¯ážáá»á²á·ááá¯ááºáááºá ToaruOS á¡ááŒááºá áá¬áá¬á áá¬ážááᯠLinuxá macOSá Windows ááœááºá¡áá¯á¶ážááŒá¯ááá¯ááºááŒá®áž WebAssembly ááá¯áá¶á·ááá¯ážááá·áºááá±á¬ááºáá¬áá»á¬ážááœááºáá¯á¶ážááá¯ááºáááºá
ToaruOS áá¡áá áºááœááºááŸáááŸá¯ááẠá ᶠC á á¬ááŒáá·áºááá¯ááºááŸáá·áº Kuroko áááá¯ááááºážáááºážáá¬áá¬á áá¬ážáááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯á¡áá±á«áºá¡á¬áá¯á¶á áá¯ááºáá²á·áááºá á¥ááá¬á¡á¬ážááŒáá·áºá Quake ááááºážááŸá á¡áááºážáá±á¬ááºáá±á¬ááºáá»á¬ážááᯠááŸááºáááºá áœá¬ ááœááºáá»ááºáááºá¡ááœáẠááá¯á¡ááºáá±á¬ áááºá¹áá»á¬áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠlibc ááœáẠááá·áºááœááºážáá¬ážáááºá EFI áá¯ááºááœáẠVirtualBox ááá¯á· boot áá¯ááºááá¯ááºá áœááºážááᯠááŒáŸáá·áºáááºáá¬ážáááºá ram disk áá¯á¶á¡á¬áž ááááááºáá¬ážááŒááºážááŒáá·áº iso áá¯ááºáá¯á¶á á¡ááœááºá¡á á¬ážááᯠáá»áŸá±á¬á·áá»áá¬ážáááºá
Kuroko 1.1 áá¬áá¬á
áá¬ážá á¡áá
áºááœááºááŸáááŸá¯ááœáẠasync ááŸáá·áº á
á±á¬áá·áºáá»áŸá±á¬áºááŒááºážá¡ááœáẠá¡áá±á¬ááºá¡áá¶á·ááᯠáá±á«ááºážááá·áºáááºá multithreading ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáááºá Python 3 ááŸáá·áº ááá¯ááºáááºáá®ááŸá¯ááᯠááá¯ááá¯áá±á¬ááºážááœááºá
á±áááºá áááºááá¯ážáá»á¬ážá
áœá¬ááᯠáá¶á·ááá¯ážáá±ážáááºá C language ááœáẠá
á¬áá±ážáááááá¬áá»á¬ážááᯠáá»á²á·ááœááºáááºá áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážá¡ááœáẠááŸááºáá»ááºá¡áá»áá¯ážá¡á
á¬ážáá»á¬ážá¡ááœáẠá¡áá±á¬ááºá¡áá¶á·ááᯠáá±á«ááºážááá·áºáá¬ážáááºá âyieldâ ááŸáá·áº âyield fromâ áá±á¬á·áá»ááºá
á¬áá¯á¶ážáá»á¬ážá os, dis, fileio, ááŸáá·áº time modules áá»á¬ážááᯠáá±á«ááºážá
ááºáá¬ážááŒá®ážá áááºážáááºážá¡áá
áºáá»á¬ážááᯠstrá listá dict ááŸáá·áº bytes ááœáẠá¡áá±á¬ááºá¡áááºáá±á¬áºáá¬ážááŒá®ážá bytecode ááá¯á· ááŒáá¯áááºá
á¯á
ááºážááŸá¯á¡ááœáẠáá¶á·ááá¯ážááŸá¯ááᯠááá·áºááœááºážáá¬ážááŒá®ážá ááá¯ááºá
ááºáá«ááŸááááºá MIT ááá¯á· ááŒá±á¬ááºážáá²áá²á·ááẠ(ááááºá MIT ááŸáá·áº ISC áá±á«ááºážá
ááºááŸá¯ ááŸááá²á·áááº)á
source: opennet.ru