Keluaran sistem pengendalian ToaruOS 1.14 dan bahasa pengaturcaraan Kuroko 1.1

Keluaran projek ToaruOS 1.14 tersedia, membangunkan sistem pengendalian seperti Unix yang ditulis dari awal dengan kernel sendiri, pemuat but, perpustakaan C standard, pengurus pakej, komponen ruang pengguna dan antara muka grafik dengan pengurus tetingkap komposit. Pada peringkat pembangunan semasa, keupayaan sistem adalah mencukupi untuk menjalankan Python 3 dan GCC. Kod projek ditulis dalam C dan diedarkan di bawah lesen BSD. Imej langsung bersaiz 14 MB telah disediakan untuk dimuat turun, yang boleh diuji dalam QEMU, VMware atau VirtualBox.

Keluaran sistem pengendalian ToaruOS 1.14 dan bahasa pengaturcaraan Kuroko 1.1

Projek ini bermula pada tahun 2010 di University of Illinois dan pada mulanya dibangunkan sebagai kerja penyelidikan dalam bidang mencipta antara muka grafik komposit baharu. Sejak 2012, pembangunan telah berubah menjadi sistem pengendalian ToaruOS, yang dibangunkan pada mulanya sebagai projek pelajar, dan kemudian berkembang menjadi hobi hujung minggu, diambil oleh komuniti yang terbentuk di sekitar projek itu. Dalam bentuk semasanya, sistem ini dilengkapi dengan pengurus tetingkap komposit, menyokong fail boleh laku yang dipautkan secara dinamik dalam format ELF, multitasking, grafik dan susunan rangkaian.

Pakej ini termasuk port bahasa pengaturcaraan Python 3.6, yang digunakan dalam pembangunan beberapa aplikasi grafik khusus ToaruOS, seperti pengurus pakej, editor grafik, pemapar PDF, kalkulator dan permainan mudah. Program pihak ketiga yang dialihkan ke ToaruOS termasuk Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, emulator Super Nintendo, Bochs, dsb.

ToaruOS adalah berdasarkan kernel yang menggunakan seni bina modular hibrid yang menggabungkan rangka kerja monolitik dan alatan untuk menggunakan modul boleh dimuatkan, yang membentuk majoriti pemacu peranti yang tersedia, seperti pemacu cakera (PATA dan ATAPI), sistem fail EXT2 dan ISO9660, framebuffer , papan kekunci, tetikus , kad rangkaian (AMD PCnet FAST, Realtek RTL8139 dan Intel PRO/1000), cip bunyi (Intel AC'97), serta alat tambah VirtualBox untuk sistem tetamu.

Primitif yang disediakan oleh kernel termasuk benang Unix, TTY, sistem fail maya, multithreading, IPC, memori kongsi, multitasking dan ciri standard lain. ext2 digunakan sebagai sistem fail. Untuk berinteraksi dengan kernel, pelaksanaan pseudo-FS /proc disediakan, dicipta dengan analogi dengan Linux.

Rancangan untuk 2021 termasuk kerja pada seni bina 64-bit x86-64 (buat masa ini, pemasangan hanya dijana untuk sistem x32 86-bit) dan sokongan untuk sistem berbilang pemproses (SMP). Matlamat lain termasuk meningkatkan keserasian dengan spesifikasi POSIX dalam bidang pemprosesan isyarat dan kaedah penyegerakan, membawa pustaka C standard ke tahap Newlib, dan melaksanakan pengkompil bahasa C dan alat pembangunannya sendiri.

Projek ini juga sedang membangunkan bahasa pengaturcaraan dinamiknya sendiri, Kuroko, yang direka untuk menggantikan Python apabila membangunkan utiliti dan aplikasi tersuai untuk sistem. Bahasa ini menyokong kompilasi dan tafsiran bytecode, sintaksnya menyerupai Python (ia diletakkan sebagai dialek Python yang dipendekkan dengan definisi pembolehubah yang jelas) dan mempunyai pelaksanaan yang sangat padat. Jurubahasa bytecode menyediakan pengumpul sampah dan menyokong multithreading tanpa menggunakan penguncian global. Pengkompil dan penterjemah boleh disusun dalam bentuk perpustakaan kongsi kecil (~500KB), disepadukan dengan program lain dan boleh diperluaskan melalui C API. Selain ToaruOS, bahasa ini boleh digunakan pada Linux, macOS, Windows dan dijalankan dalam penyemak imbas yang menyokong WebAssembly.

Keluaran baharu ToaruOS memfokuskan pada pembangunan perpustakaan C standard dan bahasa pengaturcaraan Kuroko. Contohnya, fungsi matematik yang diperlukan untuk pengiraan parameter pencahayaan yang betul dalam permainan Quake telah ditambahkan pada libc. Keupayaan untuk boot ke dalam VirtualBox dalam mod EFI telah dipertingkatkan. Saiz imej iso telah dikecilkan dengan menggunakan pemampatan imej cakera ram.

Keluaran baharu bahasa Kuroko 1.1 menambah sokongan untuk async dan menunggu, melaksanakan multithreading, meningkatkan keserasian dengan Python 3, menyokong pelbagai tugasan nilai, mengembangkan alatan untuk menulis pengendali dalam bahasa C, menambah sokongan untuk anotasi jenis untuk fungsi, menambah kata kunci "hasil" dan "hasil daripada", modul os, dis, fileio, dan masa telah disepadukan, kaedah baharu telah dilaksanakan dalam str, senarai, dict dan bait, sokongan untuk precompilation ke dalam bytecode telah ditambah, lesen telah telah ditukar kepada MIT (sebelum ini terdapat gabungan MIT dan ISC).

Sumber: opennet.ru

Tambah komen