Mwepα»₯ta nke ToaruOS 1.14 sistemα»₯ arα»₯mọrα»₯ yana asα»₯sα»₯ mmemme Kuroko 1.1

ДоступСн выпуск ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ToaruOS 1.14, Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡƒΡŽ с нуля Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму со своим ядром, Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΎΠΌ, стандартной Π‘ΠΈ-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ, ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠΌ, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ пространства ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ графичСским интСрфСйсом с ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½Ρ‹ΠΌ ΠΎΠΊΠΎΠ½Π½Ρ‹ΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠΌ. На Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ этапС развития возмоТностСй систСмы достаточно для выполнСния Python 3 ΠΈ GCC. Код ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° написан Π½Π° языкС Π‘ΠΈ ΠΈ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ BSD. Для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ live-ΠΎΠ±Ρ€Π°Π·, Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 14 ΠœΠ‘, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² QEMU, VMware ΠΈΠ»ΠΈ VirtualBox.

Mwepα»₯ta nke ToaruOS 1.14 sistemα»₯ arα»₯mọrα»₯ yana asα»₯sα»₯ mmemme Kuroko 1.1

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ стартовал Π² 2010 Π³ΠΎΠ΄Ρƒ Π² Иллинойсском унивСрситСтС ΠΈ Π²Π½Π°Ρ‡Π°Π»Π΅ развивался ΠΊΠ°ΠΊ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠ°Ρ Ρ€Π°Π±ΠΎΡ‚Π° Π² области создания Π½ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½Ρ‹Ρ… графичСских интСрфСйсов. Π‘ 2012 Π³ΠΎΠ΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ‚Ρ€Π°Π½ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π»Π°ΡΡŒ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму ToaruOS, Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅ΠΌΠΎΠΉ Π² Π²Π½Π°Ρ‡Π°Π»Π΅ Π² качСствС студСнчСского ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΠΏΠ΅Ρ€Π΅Ρ€ΠΎΡΡˆΠ΅ΠΉ Π² Ρ…ΠΎΠ±Π±ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ дня, ΠΏΠΎΠ΄Ρ…Π²Π°Ρ‡Π΅Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π²ΡˆΠΈΠΌΡΡ Π²ΠΎΠΊΡ€ΡƒΠ³ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° сообщСством. Π’ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ Π²ΠΈΠ΄Π΅ систСма снабТСна ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½Ρ‹ΠΌ ΠΎΠΊΠΎΠ½Π½Ρ‹ΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠΌ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ динамичСски связываСмыС исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ELF, ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ, графичСский ΠΈ сСтСвой стСки.

Π’ поставку Π²Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎΡ€Ρ‚ языка программирования Python 3.6, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ использован ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… спСцифичных для ToaruOS графичСских ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€, графичСский Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, просмотрщик PDF, ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€, простыС ΠΈΠ³Ρ€Ρ‹. Из ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… для ToaruOS сторонних ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°ΡŽΡ‚ΡΡ Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo emulator, Bochs ΠΈ Ρ‚.ΠΏ.

Π’ основС ToaruOS Π»Π΅ΠΆΠΈΡ‚ ядро, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π΅ Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½ΡƒΡŽ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ, ΡΠΎΡ‡Π΅Ρ‚Π°ΡŽΡ‰ΡƒΡŽ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½ΡƒΡŽ основу ΠΈ срСдства для использования Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² устройств, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ диска (PATA ΠΈ ATAPI), Π€Π‘ EXT2 ΠΈ ISO9660, framebuffer, ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹, ΠΌΡ‹ΡˆΠΈ, сСтСвых ΠΊΠ°Ρ€Ρ‚ (AMD PCnet FAST, Realtek RTL8139 ΠΈ Intel PRO/1000), Π·Π²ΡƒΠΊΠΎΠ²Ρ‹Ρ… Ρ‡ΠΈΠΏΠΎΠ² (Intel AC’97), Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ VirtualBox для гостСвых систСм.

Из прСдоставляСмых ядром ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ² ΠΎΡ‚ΠΌΠ΅Ρ‡Π°ΡŽΡ‚ΡΡ Unix-ΠΏΠΎΡ‚ΠΎΠΊΠΈ, TTY, Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ Π€Π‘, ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ, IPC, раздСляСмая ΠΏΠ°ΠΌΡΡ‚ΡŒ, ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Π΅ возмоТности. Π’ качСствС Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы примСняСтся ext2. Для взаимодСйствия с ядром прСдоставляСтся рСализация псСвдо-Π€Π‘ /proc, созданная ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с Linux.

Из ΠΏΠ»Π°Π½ΠΎΠ² Π½Π° 2021 Π³ΠΎΠ΄ отмСчаСтся обСспСчСниС Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° 64-разряднй Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ x86-64 (ΠΏΠΎΠΊΠ° сборки Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для 32-разрядных систСм x86) ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° многопроцСссорных систСм (SMP). Из Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ†Π΅Π»Π΅ΠΉ называСтся ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ совмСстимости со спСцификациями POSIX Π² области ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сигналов ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² синхронизации, Π΄ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ стандартной Π‘ΠΈ-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π΄ΠΎ уровня Newlib, рСализация собствСнного компилятора языка Π‘ΠΈ ΠΈ инструмСнтов для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Ρ‚Π°ΠΊΠΆΠ΅ развиваСтся собствСнный динамичСский язык программирования Kuroko, рассчитанный Π½Π° Π·Π°ΠΌΠ΅Π½Ρƒ Python ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для систСмы. Π―Π·Ρ‹ΠΊ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ Π±Π°ΠΉΡ‚ΠΊΠΎΠ΄Π° ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡŽ, ΠΏΠΎ синтаксису Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ Python (позиционируСтся ΠΊΠ°ΠΊ сокращённый Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚ Python с явным ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…) ΠΈ отличаСтся ΠΎΡ‡Π΅Π½ΡŒ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Π±Π°ΠΉΡ‚ΠΊΠΎΠ΄Π° прСдоставляСт сборщик мусора, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ Π±Π΅Π· примСнСния глобальной Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ собраны Π² Ρ„ΠΎΡ€ΠΌΠ΅ нСбольшой раздСляСмой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ (~500ΠšΠ‘), ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΠΉ Ρ‡Π΅Ρ€Π΅Π· C API. ΠšΡ€ΠΎΠΌΠ΅ ToaruOS язык ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Linux, macOS, Windows ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ… с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ WebAssembly.

Π’ Π½ΠΎΠ²ΠΎΠΌ выпускС ToaruOS основноС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ ΡƒΠ΄Π΅Π»Π΅Π½ΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΡŽ стандартной Π‘ΠΈ-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ языку программирования Kuroko. НапримСр, Π² libc Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ матСматичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ расчёта ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² освСщСния Π² ΠΈΠ³Ρ€Π΅ Quake. НалаТСна Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² VirtualBox Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ EFI. Π‘ΠΎΠΊΡ€Π°Ρ‰Ρ‘Π½ Ρ€Π°Π·ΠΌΠ΅Ρ€ iso-ΠΎΠ±Ρ€Π°Π·Π° Π·Π° счёт примСнСния сТатия ΠΎΠ±Ρ€Π°Π·Π° ram-диска.

Π’ Π½ΠΎΠ²ΠΎΠΌ выпускС языка Kuroko 1.1 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° async ΠΈ await, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ, ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π° ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с Python 3, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° мноТСствСнных присвоСний Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Ρ‹ срСдства для написания ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π½Π° языкС Π‘ΠΈ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° аннотирования Ρ‚ΠΈΠΏΠΎΠ² для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова Β«yieldΒ» ΠΈ Β«yield fromΒ», ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ os, dis, fileio, ΠΈ time, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π² str, list, dict ΠΈ bytes, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° прСдкомпиляции Π² Π±Π°ΠΉΡ‚ΠΊΠΎΠ΄, лицСнзия ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° Π½Π° MIT (Ρ€Π°Π½ΡŒΡˆΠ΅ Π±Ρ‹Π»Π° комбинация ΠΈΠ· MIT ΠΈ ISC).

isi: opennet.ru

Tinye a comment