ΠΠ±ΡΠ°Π²Π΅Π½ΠΎ Π΅ ΠΎΠ±ΡΠ°Π²ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ ToaruOS 2.3 ΡΠ»ΠΈΡΠ΅Π½ Π½Π° Unix, Π½Π°ΠΏΠΈΡΠ°Π½ ΠΎΠ΄ Π½ΡΠ»Π° ΠΈ ΡΠ½Π°Π±Π΄Π΅Π½ ΡΠΎ ΡΠΎΠΏΡΡΠ²Π΅Π½ΠΎ ΡΠ°Π΄ΡΠΎ, ΠΏΠΎΠ΄ΠΈΠ³Π½ΡΠ²Π°Ρ, ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° C, ΠΌΠ΅Π½Π°ΡΠ΅Ρ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π·Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈ ΠΏΡΠΎΡΡΠΎΡ ΠΈ Π³ΡΠ°ΡΠΈΡΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡ ΡΠΎ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ΅Π½ ΠΌΠ΅Π½Π°ΡΠ΅Ρ Π½Π° ΠΏΡΠΎΠ·ΠΎΡΡΠΈ. ΠΡΠΎΠ΅ΠΊΡΠΎΡ ΠΏΡΠ²ΠΈΡΠ½ΠΎ ΡΠ΅ ΡΠ°Π·Π²ΠΈ Π½Π° Π£Π½ΠΈΠ²Π΅ΡΠ·ΠΈΡΠ΅ΡΠΎΡ Π²ΠΎ ΠΠ»ΠΈΠ½ΠΎΠΈΡ ΠΊΠ°ΠΊΠΎ ΠΈΡΡΡΠ°ΠΆΡΠ²Π°ΡΠΊΠ° ΡΠ°Π±ΠΎΡΠ° Π½Π° ΠΏΠΎΠ»Π΅ΡΠΎ Π½Π° ΡΠΎΠ·Π΄Π°Π²Π°ΡΠ΅ Π½ΠΎΠ²ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ½ΠΈ Π³ΡΠ°ΡΠΈΡΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΈ, Π½ΠΎ ΠΏΠΎΡΠΎΠ° ΡΠ΅ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠΈΡΠ° Π²ΠΎ ΠΏΠΎΡΠ΅Π±Π΅Π½ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π΅Π½ ΡΠΈΡΡΠ΅ΠΌ. ΠΠΎΠ΄ΠΎΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π²ΠΎ C ΠΈ ΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½ΡΠ°ΡΠ° BSD. ΠΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½Π° Π΅ ΡΠ»ΠΈΠΊΠ° Π²ΠΎ ΠΆΠΈΠ²ΠΎ ΠΎΠ΄ 7.4 MB Π·Π° ΠΏΡΠ΅Π·Π΅ΠΌΠ°ΡΠ΅, ΠΊΠΎΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ΅ΡΡΠΈΡΠ° Π²ΠΎ QEMU, VMware ΠΈΠ»ΠΈ VirtualBox.

ToaruOS ΡΠ΅ Π·Π°ΡΠ½ΠΎΠ²Π° Π½Π° ΡΠ°Π΄ΡΠΎ ΡΡΠΎ ΠΊΠΎΡΠΈΡΡΠΈ Ρ ΠΈΠ±ΡΠΈΠ΄Π½Π° ΠΌΠΎΠ΄ΡΠ»Π°ΡΠ½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΊΠΎΡΠ° ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ° ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½Π° ΡΠ°ΠΌΠΊΠ° ΠΈ Π°Π»Π°ΡΠΊΠΈ Π·Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π²ΡΠΈΡΠ°Π°Ρ, ΠΊΠΎΠΈ Π³ΠΎ ΡΠΎΡΠΌΠΈΡΠ°Π°Ρ Π½Π°ΡΠ³ΠΎΠ»Π΅ΠΌΠΈΠΎΡ Π΄Π΅Π» ΠΎΠ΄ Π΄ΠΎΡΡΠ°ΠΏΠ½ΠΈ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»ΠΈ Π½Π° ΡΡΠ΅Π΄ΠΎΡ, ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»ΠΈ Π½Π° Π΄ΠΈΡΠΊΠΎΡ (PATA ΠΈ ATAPI), EXT2 ΠΈ ISO9660 Π΄Π°ΡΠΎΡΠ΅ΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, framebuffer , ΡΠ°ΡΡΠ°ΡΡΡΠΈ, Π³Π»ΡΠ²ΡΠΈ , ΠΌΡΠ΅ΠΆΠ½ΠΈ ΠΊΠ°ΡΡΠΈΡΠΊΠΈ (AMD PCnet FAST, Realtek RTL8139 ΠΈ Intel PRO/1000), Π·Π²ΡΡΠ½ΠΈ ΡΠΈΠΏΠΎΠ²ΠΈ (Intel AC'97), ΠΊΠ°ΠΊΠΎ ΠΈ VirtualBox Π΄ΠΎΠ΄Π°ΡΠΎΡΠΈ Π·Π° Π³ΠΎΡΡΠΈΠ½ΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ. ΠΠ°Π΄ΡΠΎΡΠΎ ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π° Unix Π½ΠΈΡΠΊΠΈ, TTY, Π²ΠΈΡΡΡΠ΅Π»Π΅Π½ Π΄Π°ΡΠΎΡΠ΅ΡΠ΅Π½ ΡΠΈΡΡΠ΅ΠΌ, ΠΏΡΠ΅Π²Π΄ΠΎ Π΄Π°ΡΠΎΡΠ΅ΡΠ΅Π½ ΡΠΈΡΡΠ΅ΠΌ /proc, ΠΌΡΠ»ΡΠΈΠ½ΠΈΡΠΊΠΈ, IPC, ramdisk, ptrace, ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°, ΠΌΡΠ»ΡΠΈΡΠ°ΡΠΊΠΈΠ½Π³ ΠΈ Π΄ΡΡΠ³ΠΈ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ.
CΠΈΡΡΠ΅ΠΌΠ° ΡΠ½Π°Π±ΠΆΠ΅Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ½ΡΠΌ ΠΎΠΊΠΎΠ½Π½ΡΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠΌ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΡΠ²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ ELF, ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°ΡΠ½ΠΎΡΡΡ, Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΡΠ΅ΠΊ, ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Python 3 ΠΈ GCC. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ext2. ΠΠ°Π³ΡΡΠ·ΡΠΈΠΊ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ BIOS ΠΈ EFI. Π‘Π΅ΡΠ΅Π²ΠΎΠΉ ΡΡΠ΅ΠΊ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ API ΡΠΎΠΊΠ΅ΡΠΎΠ² Π² ΡΡΠΈΠ»Π΅ BSD-ΡΠΈΡΡΠ΅ΠΌ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ΅ΡΠ΅Π²ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ, Π²ΠΊΠ»ΡΡΠ°Ρ loopback.
ΠΠ΅ΡΡ Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΡΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ, ΡΠ΅ ΠΈΠ·Π΄Π²ΠΎΡΡΠ²Π° ΡΡΠ΅Π΄ΡΠ²Π°ΡΠΎΡ Π½Π° ΠΊΠΎΠ΄ΠΎΠ²ΠΈ ΡΠ»ΠΈΡΠ΅Π½ Π½Π° Vi Bim, ΠΊΠΎΡ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π²ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ Π½Π΅ΠΊΠΎΠ»ΠΊΡ Π³ΠΎΠ΄ΠΈΠ½ΠΈ Π·Π° ΡΠ°Π·Π²ΠΎΡ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Π·Π° ToaruOS, ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ ΠΌΠ΅Π½Π°ΡΠ΅Ρ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ, ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅Π½ Π΅ΠΌΡΠ»Π°ΡΠΎΡ, Π³ΡΠ°ΡΠΈΡΠΊΠΈ ΠΏΠ°Π½Π΅Π» ΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π³ΡΠ°ΡΠΈΡΠΊΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈ, ΠΌΠ΅Π½Π°ΡΠ΅Ρ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΠΊΠ°ΠΊΠΎ ΠΈ ΠΊΠ°ΠΊΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π½Π° ΡΠ»ΠΈΠΊΠΈ (PNG, JPEG ) ΠΈ ΡΠΎΠ½ΡΠΎΠ²ΠΈ TrueType. ΠΠ° ToaruOS ΡΠ΅ ΠΏΡΠ΅Π½Π΅ΡΠ΅Π½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo Π΅ΠΌΡΠ»Π°ΡΠΎΡ, Bochs ΠΈΡΠ½.
ΠΡΠΎΠ΅ΠΊΡΠΎΡ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ°Π·Π²ΠΈΠ²Π° ΡΠ²ΠΎΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅Π½ ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠΊΠΈ ΡΠ°Π·ΠΈΠΊ, Kuroko, Π΄ΠΈΠ·Π°ΡΠ½ΠΈΡΠ°Π½ Π΄Π° Π³ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈ Python ΠΏΡΠΈ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠ΅ Π½Π° ΠΊΠΎΠΌΡΠ½Π°Π»Π½ΠΈ ΡΡΠ»ΡΠ³ΠΈ ΠΈ ΡΠΎΠΏΡΡΠ²Π΅Π½ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π·Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ. ΠΠ°Π·ΠΈΠΊΠΎΡ Π²ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠ° ΠΏΠΎΡΡΠ΅ΡΡΠ²Π° Π½Π° Python (ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠ°Π½ ΠΊΠ°ΠΊΠΎ ΡΠΊΡΠ°ΡΠ΅Π½ Π΄ΠΈΡΠ°Π»Π΅ΠΊΡ Π½Π° Python ΡΠΎ Π΅ΠΊΡΠΏΠ»ΠΈΡΠΈΡΠ½Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠΈΡΠ° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ) ΠΈ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³Ρ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°. ΠΠΎΠ΄Π΄ΡΠΆΠ°Π½Π° Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡΠ° ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΡΠ° Π½Π° Π±Π°ΡΡΠ΅ΠΊΠΎΠ΄. ΠΡΠ΅Π²Π΅Π΄ΡΠ²Π°ΡΠΎΡ Π½Π° Π±Π°ΡΡΠ΅ΠΊΠΎΠ΄ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΡΠΎΠ±ΠΈΡΠ°Ρ Π½Π° ΡΡΠ±ΡΠ΅ ΠΈ ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π° ΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡΠΊΠΈ Π±Π΅Π· ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° Π³Π»ΠΎΠ±Π°Π»Π½ΠΎ Π·Π°ΠΊΠ»ΡΡΡΠ²Π°ΡΠ΅. ΠΠΎΠΌΠΏΠ°ΡΠ»Π΅ΡΠΎΡ ΠΈ ΡΠΎΠ»ΠΊΡΠ²Π°ΡΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΠΌΠΏΠ°ΡΠ»ΠΈΡΠ°Π°Ρ Π²ΠΎ ΡΠΎΡΠΌΠ° Π½Π° ΠΌΠ°Π»Π° ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° (~500KB), ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½Π° ΡΠΎ Π΄ΡΡΠ³ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΠΈ Π΄Π° ΡΠ΅ ΠΏΡΠΎΡΠΈΡΠΈ ΠΏΡΠ΅ΠΊΡ C API. ΠΠΎΠΊΡΠ°Ρ ToaruOS, ΡΠ°Π·ΠΈΠΊΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π½Π° Linux, macOS, Windows ΠΈ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Π²ΠΎ ΠΏΡΠ΅Π»ΠΈΡΡΡΠ²Π°ΡΠΈ ΠΊΠΎΠΈ ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π°Π°Ρ WebAssembly.
ΠΠΎ Π½ΠΎΠ²ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅:
- Π ΡΠΌΡΠ»ΡΡΠΎΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π²ΠΊΠ»Π°Π΄ΠΎΠΊ, ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ Alt-ΡΠΈΡΡΠ°. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΡΠΌΡΠ»ΡΡΠΈΡ ΠΆΠΈΡΠ½ΠΎΠ³ΠΎ Π½Π°ΡΠ΅ΡΡΠ°Π½ΠΈΡ ΡΡΠΈΡΡΠΎΠ² ΡΠ΅ΡΠ΅Π· Π΄Π²ΠΎΠΉΠ½ΠΎΠ΅ Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π³Π»ΠΈΡΠΎΠ². ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ Β«Terminal stateΒ» Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠΊΠ°Π·Π° ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΡΠ΅ΠΆΠΈΠΌΠΎΠ² ΠΈ Β«Send signalΒ» Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² ΡΠΎΠ½ΠΎΠ²ΡΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌ.

- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΏΡΠΎΡΠΌΠΎΡΡΡΠΈΠΊ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ
ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ², ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠΉ man-ΡΡΡΠ°Π½ΠΈΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ roff.

- Π ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠ΅ ΠΌΠ΅Π½Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠΎΠ·Π°ΠΈΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΎΠΉ ΠΎΠΊΠΎΠ½.

- Π ΡΠ΄ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π½ΠΎΠ²ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ, ΡΡΠ΅Π΄ΠΈ ΠΊΠΎΡΠΎΡΡΡ pread/pwrite, sigsuspend, sigqueue, lchown, pipe2, dup3, getrusage ΠΈ fcntl. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ»Π°Π³ΠΎΠ² FD_CLOEXEC ΠΈ FD_CLOFORK. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°Π½Π΄ΠΎΠΌΠΈΠ·Π°ΡΠΈΠΈ Π°Π΄ΡΠ΅ΡΠ° Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ΄ΡΠ°. ABI ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Π½ΠΎ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ syscall/sysret.
- ΠΠ½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ (TTY), ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° ΡΠΌΡΠ»ΡΡΠΈΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° VGA Π½Π° Π±Π°Π·Π΅ ΡΡΠ΅ΠΉΠΌΠ±ΡΡΠ΅ΡΠ°.
- Π Π²Π΅ΡΡΠΈΠΈ Π΄Π»Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Aarch64 ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°ΠΏΡΡΠΊΠ° Π² Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½Π°Ρ Π½Π° Π±Π°Π·Π΅ QEMU.
- Π ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΡΡΠ΅ΠΊ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠΎΠΊΠ΅ΡΠ°ΠΌΠΈ ICMP.
- Π ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ libc Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΈ getdelim, getline, scandir, telldir, rewinddir, seekdir, ftruncate, fchmod, fchown, popen, pclose, sig2str, str2sig.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π½ΠΎΠ²ΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΡΡΠΈΠ»ΠΈΡΡ rmdir, uniq, cmp, zcat, realpath, id, nohup, cksum. ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π½ΠΎΠ²ΡΠ΅ ΠΎΠΏΡΠΈΠΈ Π² ls, grep ΠΈ fgrep. ΠΠ΅ΡΠ΅ΠΏΠΈΡΠ°Π½Ρ ΡΡΠΈΠ»ΠΈΡΡ ps, top, pstree, killall ΠΈ pidof, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Π½Ρ Π½Π° Π½ΠΎΠ²ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ libtoaru_procfs, ΡΠ½ΠΈΡΠΈΡΠΈΡΡΡΡΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΡΠ΅Π²Π΄ΠΎ-Π€Π‘ /proc. Π Π°ΡΡΠΈΡΠ΅Π½ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ esh.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΡΠΈΠ»ΠΈΡΠ° check-image Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ ΠΈ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
- Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Kuroko ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ½ Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ 1.5rc2.
- ΠΠΎ Π²Π΅ΡΡΠΈΠΈ 3.2 ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ½ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Bim, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Ρ ΠΎΠ³Π»ΡΠ΄ΠΊΠΎΠΉ Π½Π° Vim. Π Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΠ»ΡΡΡΠ΅Π½Π° ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠ° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°, ΡΠ°ΡΡΠΈΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΊΡΠΈΠΏΡΠΎΠ² Π½Π° ΡΠ·ΡΠΊΠ΅ Kuroko ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π½ΠΎΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²Π²ΠΎΠ΄Π°.
ΠΠ·Π²ΠΎΡ: opennet.ru



