28 Π°ΠΏΡΠΈΠ» ΠΈ 5 ΠΌΠ°ΠΉ ΡΠ΅ ΡΡΡΡΠΎΡΡ Π° ΠΏΡΡΠΊΠ°Π½ΠΈΡ Π½Π° 2.3 ΠΈ 2.3.1 Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½Π°ΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° ToaruOS, Π½Π°ΠΏΠΈΡΠ°Π½Π° ΠΎΡ Π½ΡΠ»Π°ΡΠ° ΠΈ Π΄ΠΎΡΡΠ°Π²ΡΠ½Π° ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΎ ΡΠ΄ΡΠΎ, Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ, ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π° C Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΠΏΠ°ΠΊΠ΅ΡΠ΅Π½ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈ Π³ΡΠ°ΡΠΈΡΠ΅Π½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Ρ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ΅Π½ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ Π½Π° ΠΏΡΠΎΠ·ΠΎΡΡΠΈΡΠ΅.
ΠΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΡΡ ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π° Π² Π£Π½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠ° Π² ΠΠ»ΠΈΠ½ΠΎΠΉΡ ΠΊΠ°ΡΠΎ ΠΈΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠΊΠ° ΡΠ°Π±ΠΎΡΠ° Π² ΡΡΠ΅ΡΠ°ΡΠ° Π½Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π½ΠΎΠ²ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ½ΠΈ Π³ΡΠ°ΡΠΈΡΠ½ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ, Π½ΠΎ Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ ΡΠ΅ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠΈΡΠ° Π² ΠΎΡΠ΄Π΅Π»Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°. ΠΠΎΠ΄ΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Π΅Π·ΠΈΠΊΠ° C ΠΈ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° Π΅ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ BSD. ΠΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΎ Π΅ live ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ (2.3.1), Ρ ΡΠ°Π·ΠΌΠ΅Ρ 7.4 ΠΠ, ΠΊΠΎΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ΅ΡΡΠ²Π° Π² 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, ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½Π° ΠΏΠ°ΠΌΠ΅Ρ, ΠΌΡΠ»ΡΠΈΡΠ°ΡΠΊΠΈΠ½Π³ ΠΈ Π΄ΡΡΠ³ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ.
Π‘ΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π΅ ΡΠ½Π°Π±Π΄Π΅Π½Π° Ρ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ΅Π½ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ Π½Π° ΠΏΡΠΎΠ·ΠΎΡΡΠΈΡΠ΅, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π²ΡΠ² ΡΠΎΡΠΌΠ°Ρ ELF, ΠΌΡΠ»ΡΠΈΡΠ°ΡΠΊΠΈΠ½Π³, Π³ΡΠ°ΡΠΈΡΠ΅Π½ ΡΡΠ΅ΠΊ, ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° Python 3 ΠΈ GCC. ΠΠ°ΡΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ext2. ΠΠ°Π³ΡΡΠ·ΡΠΈΠΊΡΡ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° BIOS ΠΈ EFI. ΠΡΠ΅ΠΆΠΎΠ²ΠΈΡΡ ΡΡΠ΅ΠΊ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° API ΡΠΎΠΊΠ΅ΡΠΈ Π² ΡΡΠΈΠ» BSD ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ loopback.
ΠΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ΅ ΠΎΡΠΊΡΠΎΡΠ²Π° ΡΠ΅Π΄Π°ΠΊΡΠΎΡΡΡ Π½Π° ΠΊΠΎΠ΄ Bim, ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π½Π° Vi, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π³ΠΎΠ΄ΠΈΠ½ΠΈ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Π·Π° ToaruOS ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠ°ΡΠΎ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ, Π΅ΠΌΡΠ»Π°ΡΠΈΡ Π½Π° ΡΠ΅ΡΠΌΠΈΠ½Π°Π», Π³ΡΠ°ΡΠΈΡΠ΅Π½ ΠΏΠ°Π½Π΅Π» Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π²ΠΈΠ΄ΠΆΠ΅ΡΠΈ, ΠΏΠ°ΠΊΠ΅ΡΠ΅Π½ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ (PNG, JPEG) ΠΈ TrueType ΡΡΠΈΡΡΠΎΠ²Π΅. ΠΠ° ToaruOS Π΅ Π½Π°ΠΏΡΠ°Π²Π΅Π½ ΠΏΠΎΡΡ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΠΊΠ°ΡΠΎ Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Π΅ΠΌΡΠ»Π°ΡΠΎΡ Π½Π° Super Nintendo, Bochs ΠΈ Ρ.Π½.
ΠΡΠΎΠ΅ΠΊΡΡΡ ΡΡΡΠΎ ΡΠ°Π·Π²ΠΈΠ²Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅Π½ Π΅Π·ΠΈΠΊ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ Kuroko, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π·Π° Π·Π°ΠΌΡΠ½Π° Π½Π° Python ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠΈΠ»ΠΈΡΠΈ ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°. Π―Π·ΠΈΠΊΡΡ ΠΏΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π½Π°ΠΏΠΎΠΌΠ½Ρ Π½Π° Python (ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠ°Π½ ΠΊΠ°ΡΠΎ ΡΡΠΊΡΠ°ΡΠ΅Π½ Π΄ΠΈΠ°Π»Π΅ΠΊΡ Π½Π° Python Ρ ΡΠ²Π½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡΠ΅) ΠΈ ΡΠ΅ ΠΎΡΠ»ΠΈΡΠ°Π²Π° Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ. ΠΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΡ Π½Π° Π±Π°ΠΉΡΠΊΠΎΠ΄. ΠΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΡΡ Π½Π° Π±Π°ΠΉΡΠΊΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΠ±ΠΎΡΠ½ΠΈΠΊ Π½Π° Π±ΠΎΠΊΠ»ΡΠΊΠ° ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡ Π±Π΅Π· ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π³Π»ΠΎΠ±Π°Π»Π½Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°. ΠΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΡΡ ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΡΡ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΡΡΠ±ΡΠ°Π½ΠΈ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° ΠΌΠ°Π»ΠΊΠ° ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° (~500ΠΠ), ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°ΡΠ° ΡΠ΅ Ρ Π΄ΡΡΠ³ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΠΈ ΡΠ°Π·ΡΠΈΡΡΠ΅ΠΌΠ° ΡΡΠ΅Π· C API. ΠΡΠ²Π΅Π½ ToaruOS, Π΅Π·ΠΈΠΊΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² Linux, macOS, Windows ΠΈ Π΄Π° ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ° Π² Π±ΡΠ°ΡΠ·ΡΡΠΈ Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° WebAssembly.
- Π Π΅ΠΌΡΠ»ΡΡΠΎΡΠ° Π½Π° ΡΠ΅ΡΠΌΠΈΠ½Π°Π» Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ°Π·Π΄Π΅Π»ΠΈ, ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π° Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡ Alt-ΡΠΈΡΡΠ°. Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΅ Π΅ΠΌΡΠ»ΡΡΠΈΡ Π½Π° ΡΠ΄Π΅Π±Π΅Π»Π΅Π½ΠΎ Π½Π°ΡΠ΅ΡΡΠ°Π½ΠΈΠ΅ Π½Π° ΡΡΠΈΡΡΠΎΠ²Π΅ ΡΡΠ΅Π· Π΄Π²ΠΎΠΉΠ½ΠΎ Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π³Π»ΠΈΡΠΎΠ²Π΅ΡΠ΅. ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° ΠΏΠΎΠ΄ΠΌΠ΅Π½ΡΡΠ° βΠ‘ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°β Π·Π° Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΅ΠΆΠΈΠΌΠΈ ΠΈ βΠΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΡΠΈΠ³Π½Π°Π»β Π·Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΡΠΈΠ³Π½Π°Π»ΠΈ Π΄ΠΎ ΡΠΎΠ½ΠΎΠ²ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ.
- Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ Π΅ ΠΏΡΠ΅Π³Π»Π΅Π΄Π½ΠΈΠΊ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π°, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ man-ΡΡΡΠ°Π½ΠΈΡΠΈ Π² ΡΠΎΡΠΌΠ°Ρ roff.
- Π ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΡΠΎ ΠΌΠ΅Π½Ρ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΎ ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠΎΠ·Π°ΠΉΠΊΠ°ΡΠ° Π½Π° ΠΏΡΠΎΠ·ΠΎΡΡΠΈΡΠ΅.
- Π ΡΠ΄ΡΠΎΡΠΎ ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π½ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ, ΡΡΠ΅Π΄ ΠΊΠΎΠΈΡΠΎ pread/pwrite, sigsuspend, sigqueue, lchown, pipe2, dup3, getrusage ΠΈ fcntl. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ»Π°Π³ΠΎΠ²Π΅ FD_CLOEXEC ΠΈ FD_CLOFORK. Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠ°Π½Π΄ΠΎΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° Π°Π΄ΡΠ΅ΡΠ° Π½Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠ΄ΡΠΎΡΠΎ. ABI Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡΠ΅ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ Π΅ ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ΅Π½ΠΎ ΠΊΡΠΌ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ syscall/sysret.
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½Π°ΡΠ° ΠΊΠΎΠ½Π·ΠΎΠ»Π° (TTY) ΡΠ° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈ, ΠΎΡΠΈΠ³ΡΡΡΠ²Π°ΠΉΠΊΠΈ Π΅ΠΌΡΠ»ΡΡΠΈΡ Π½Π° ΡΠ΅ΠΊΡΡΠΎΠ² ΡΠ΅ΠΆΠΈΠΌ VGA Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° framebuffer.
- Π Π²Π΅ΡΡΠΈΡΡΠ° Π·Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° 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 (github.com), ΡΡΠ·Π΄Π°Π΄Π΅Π½ Ρ ΠΎΠ³Π»Π΅Π΄ Π½Π° Vim. Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΎ ΠΎΡΠ²Π΅ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°, ΡΠ°Π·ΡΠΈΡΠ΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ Π½Π° Π΅Π·ΠΈΠΊΠ° Kuroko ΠΈ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π½ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΏΠΎΠΏΡΠ»Π²Π°Π½Π΅ Π½Π° Π²Ρ ΠΎΠ΄Π°.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: linux.org.ru
