ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Π²ΡΠΏΡΡΠΊ Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ToaruOS 2.1, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ Ρ Π½ΡΠ»Ρ ΠΈ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠΉ ΡΠΎ ΡΠ²ΠΎΠΈΠΌ ΡΠ΄ΡΠΎΠΌ, Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠΎΠΌ, ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π‘ΠΈ-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ, ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠΌ, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ Ρ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ½ΡΠΌ ΠΎΠΊΠΎΠ½Π½ΡΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠΌ. ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΎΠ΅ΠΊΡ ΡΠ°Π·Π²ΠΈΠ²Π°Π»ΡΡ Π² ΠΠ»Π»ΠΈΠ½ΠΎΠΉΡΡΠΊΠΎΠΌ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠ΅ ΠΊΠ°ΠΊ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠ°Ρ ΡΠ°Π±ΠΎΡΠ° Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ½ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ², Π½ΠΎ Π·Π°ΡΠ΅ΠΌ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π»ΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ BSD. ΠΠ»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½ live-ΠΎΠ±ΡΠ°Π·, ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 14.4 ΠΠ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π² QEMU, VMware ΠΈΠ»ΠΈ VirtualBox.
ToaruOS didasarkan pada kernel yang menggunakan arsitektur modular hybrid yang menggabungkan kerangka kerja monolitik dan alat untuk menggunakan modul yang dapat dimuat, yang merupakan sebagian besar driver perangkat yang tersedia, seperti driver disk (PATA dan ATAPI), sistem file EXT2 dan ISO9660, framebuffer , keyboard, mouse, kartu jaringan (AMD PCnet FAST, Realtek RTL8139 dan Intel PRO/1000), chip suara (Intel AC'97), serta add-on VirtualBox untuk sistem tamu. Kernel mendukung thread Unix, TTY, sistem file virtual, sistem file semu /proc, multithreading, IPC, ramdisk, ptrace, memori bersama, multitasking dan fitur standar lainnya.
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 emulator, Bochs ΠΈ Ρ.ΠΏ.
Proyek ini juga mengembangkan bahasa pemrograman dinamisnya sendiri, Kuroko, yang dirancang untuk menggantikan Python ketika mengembangkan utilitas dan aplikasi khusus untuk sistem. Bahasa ini mengingatkan pada Python dalam sintaksis (diposisikan sebagai dialek singkat dari Python dengan definisi variabel yang eksplisit) dan memiliki implementasi yang sangat kompak. Kompilasi dan interpretasi bytecode didukung. Penerjemah bytecode menyediakan pengumpul sampah dan mendukung multithreading tanpa menggunakan penguncian global. Kompiler dan juru bahasa dapat dikompilasi dalam bentuk perpustakaan bersama kecil (~500KB), terintegrasi dengan program lain dan dapat diperluas melalui C API. Selain ToaruOS, bahasanya dapat digunakan di Linux, macOS, Windows dan dijalankan di browser yang mendukung WebAssembly.
Dalam rilis baru:
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ AArch64 (ARMv8), Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Ρ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ToaruOS Π½Π° ΠΏΠ»Π°ΡΠ΅ Raspberry Pi 400 ΠΈ Π² ΡΠΌΡΠ»ΡΡΠΎΡΠ΅ QEMU.
- ΠΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠ°Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° ΡΠΈΠ³Π½Π°Π»ΠΎΠ² ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π²ΡΠ·ΠΎΠ²Ρ sigaction, sigprocmask, sigwait ΠΈ sigsuspend.
- Π£Π»ΡΡΡΠ΅Π½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΡΡ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² munmap.
- Π ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ½ΠΎΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΡΡΡΠ΅ΠΊΡ ΡΠ°Π·ΠΌΡΡΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠ°Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΎΠ±ΡΡΠΈΠΉ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΎΠΊΠ½Π°.
- Π£Π»ΡΡΡΠ΅Π½Π° ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΎΡΠ»ΠΎΠΆΠ΅Π½Π½Π°Ρ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΊΡΡ Π³Π»ΠΈΡΠΎΠ² Π΄Π»Ρ ΡΡΠΈΡΡΠΎΠ² TrueType.
- Π Π°ΡΡΠΈΡΠ΅Π½Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΡΠΈΠΊΠ°.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ°ΡΠΎΠ², Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² settimeofday ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΠΈΠ»ΠΈΡΡ date.
- Π£Π»ΡΡΡΠ΅Π½ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΡΡΠ΅ΠΊ. Π ΡΡΠΈΠ»ΠΈΡΡ ifconfig Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π°Π΄ΡΠ΅ΡΠΎΠ² IPv4 ΠΈ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ. ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° ΡΠ°Π±ΠΎΡΠ° ΡΠΎΠΊΠ΅ΡΠΎΠ² ICMP. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΈ recvfrom Π΄Π»Ρ ΡΠΎΠΊΠ΅ΡΠΎΠ² UDP ΠΈ ICMP.
- Π Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ Ρ USB-ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ°ΠΌΠΈ.
- Π ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠ΅ ΠΌΠ΅Π½Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΡΠ½ΠΊΡ Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ².
- Π£Π»ΡΡΡΠ΅Π½ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΠΊΠΎΠ² Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌ ΠΌΠΎΠ½ΠΈΡΠΎΡΠ΅.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΡΠΈΠ»ΠΈΡΠ° grep Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ.
- Π£Π»ΡΡΡΠ΅Π½ Π²ΡΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ps (Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠΎΠ»Π±ΡΡ).
Sumber: opennet.ru