ToaruOS 2.3 thiab 2.3.1

ToaruOS 2.3 thiab 2.3.1 ToaruOS 2.3 thiab 2.3.1 ToaruOS 2.3 thiab 2.3.1 ToaruOS 2.3 thiab 2.3.1

28 апрСля ΠΈ 5 мая coj qhov chaw выпуски 2.3 ΠΈ 2.3.1 Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ToaruOS, написанной с нуля ΠΈ поставляСмой со своим ядром, Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΎΠΌ, стандартной Π‘ΠΈ-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ, ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠΌ, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ пространства ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ графичСским интСрфСйсом с ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½Ρ‹ΠΌ ΠΎΠΊΠΎΠ½Π½Ρ‹ΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠΌ.

Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ развивался Π² Иллинойсском унивСрситСтС ΠΊΠ°ΠΊ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠ°Ρ Ρ€Π°Π±ΠΎΡ‚Π° Π² области создания Π½ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½Ρ‹Ρ… графичСских интСрфСйсов, Π½ΠΎ Π·Π°Ρ‚Π΅ΠΌ трансформировался Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму. Код ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° написан Π½Π° языкС Π‘ΠΈ ΠΈ faib los ntawm ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ 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, Ρ€Π°Π·Π΄Π΅Π»ΡΠ΅ΠΌΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ, ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Π΅ возмоТности.

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 ΠΈ Ρ‚. ΠΏ.

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

Π’ tawm tshiab:

  • Π’ эмулятор Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²ΠΊΠ»Π°Π΄ΠΎΠΊ, ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ Alt-Ρ†ΠΈΡ„Ρ€Π°. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° эмуляция ΠΆΠΈΡ€Π½ΠΎΠ³ΠΎ начСртания ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· Π΄Π²ΠΎΠΉΠ½ΠΎΠ΅ Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π³Π»ΠΈΡ„ΠΎΠ². Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ подмСню Β«Terminal stateΒ» для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΠΎΠΊΠ°Π·Π° состояния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² ΠΈ Β«Send signalΒ» для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ сигналов Ρ„ΠΎΠ½ΠΎΠ²Ρ‹ΠΌ процСссам.
  • Ib qho system manual viewer tau raug siv los txhawb cov nplooj ntawv manual hauv hom ntawv roff.
  • Ib daim ntawv qhia zaub mov me me rau kev tswj hwm cov vuas vov ntawm cov qhov rai tau raug ntxiv rau cov ntawv qhia zaub mov.
  • Π’ ядрС Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ систСмныС Π²Ρ‹Π·ΠΎΠ²Ρ‹, срСди ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… pread/pwrite, sigsuspend, sigqueue, lchown, pipe2, dup3, getrusage ΠΈ fcntl. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„Π»Π°Π³ΠΎΠ² FD_CLOEXEC ΠΈ FD_CLOFORK. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π½Π΄ΠΎΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ адрСса Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ядра. ABI систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½ΠΎ Π½Π° использованиС инструкций syscall/sysret.
  • Π—Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Ρ‹ возмоТности Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ консоли (TTY), обСспСчСна эмуляция тСкстового Ρ€Π΅ΠΆΠΈΠΌΠ° VGA Π½Π° Π±Π°Π·Π΅ Ρ„Ρ€Π΅ΠΉΠΌΠ±ΡƒΡ„Π΅Ρ€Π°.
  • Cov version rau Aarch64 architecture muaj peev xwm khiav hauv cov tshuab virtual raws li QEMU.
  • Kev txhawb nqa rau kev ua haujlwm tib lub sijhawm nrog ntau lub ICMP sockets tau raug ntxiv rau hauv network stack.
  • Π’ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ libc Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ getdelim, getline, scandir, telldir, rewinddir, seekdir, ftruncate, fchmod, fchown, popen, pclose, sig2str, str2sig.
  • Cov kev siv tshiab tau ntxiv rau: rmdir, uniq, cmp, zcat, realpath, id, nohup, thiab cksum. Cov kev xaiv tshiab tau ntxiv rau ls, grep, thiab fgrep. Cov kev siv ps, top, pstree, killall, thiab pidof tau raug sau dua tshiab thiab tsiv mus rau lub tsev qiv ntawv libtoaru_procfs tshiab, uas koom ua ke ua haujlwm nrog /proc pseudo-filesystem. Tus neeg txhais lus txib esh tau nthuav dav.
  • Ntxiv cov cuab yeej kuaj xyuas duab los xyuas seb daim duab puas tuaj yeem thauj tau los ntawm lub tsev qiv ntawv duab thiab kom pom qhov loj ntawm daim duab.
  • Π―Π·Ρ‹ΠΊ программирования Kuroko ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½ Π΄ΠΎ вСрсии 1.5rc2.
  • Π”ΠΎ вСрсии 3.2 ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½ тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Bim (github.com), созданный с оглядкой Π½Π° Vim. Π’ Π½ΠΎΠ²ΠΎΠΉ вСрсии ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π° подсвСтка синтаксиса, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° скриптов Π½Π° языкС Kuroko ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° новая систСма автодополнСния Π²Π²ΠΎΠ΄Π°.

Tau qhov twg los: linux.org.ru ua