Rilis sistem operasi ToaruOS 1.14 dan bahasa pemrograman Kuroko 1.1

Rilis proyek ToaruOS 1.14 tersedia, mengembangkan sistem operasi mirip Unix yang ditulis dari awal dengan kernelnya sendiri, boot loader, pustaka C standar, manajer paket, komponen ruang pengguna, dan antarmuka grafis dengan pengelola jendela komposit. Pada tahap pengembangan saat ini, kemampuan sistem cukup untuk menjalankan Python 3 dan GCC. Kode proyek ditulis dalam C dan didistribusikan di bawah lisensi BSD. Gambar langsung berukuran 14 MB telah disiapkan untuk diunduh, yang dapat diuji di QEMU, VMware atau VirtualBox.

Rilis sistem operasi ToaruOS 1.14 dan bahasa pemrograman Kuroko 1.1

Proyek ini dimulai pada tahun 2010 di Universitas Illinois dan awalnya dikembangkan sebagai penelitian di bidang pembuatan antarmuka grafis komposit baru. Sejak tahun 2012, pengembangannya bertransformasi menjadi sistem operasi ToaruOS, yang awalnya dikembangkan sebagai proyek pelajar, kemudian berkembang menjadi hobi akhir pekan, yang diambil oleh komunitas yang terbentuk di sekitar proyek tersebut. Dalam bentuknya yang sekarang, sistem ini dilengkapi dengan window manager komposit, mendukung file executable yang terhubung secara dinamis dalam format ELF, multitasking, grafik dan tumpukan jaringan.

Paket ini mencakup port bahasa pemrograman Python 3.6, yang digunakan dalam pengembangan beberapa aplikasi grafis khusus ToaruOS, seperti manajer paket, editor grafis, penampil PDF, kalkulator, dan permainan sederhana. Program pihak ketiga yang di-porting ke ToaruOS termasuk Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, emulator Super Nintendo, Bochs, dll.

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.

Primitif yang disediakan oleh kernel termasuk thread Unix, TTY, sistem file virtual, multithreading, IPC, memori bersama, multitasking dan fitur standar lainnya. ext2 digunakan sebagai sistem file. Untuk berinteraksi dengan kernel, disediakan implementasi pseudo-FS /proc, yang dibuat dengan analogi dengan Linux.

Rencana untuk tahun 2021 mencakup pengerjaan arsitektur 64-bit x86-64 (untuk saat ini, rakitan hanya dibuat untuk sistem x32 86-bit) dan dukungan untuk sistem multiprosesor (SMP). Tujuan lainnya termasuk meningkatkan kompatibilitas dengan spesifikasi POSIX di bidang pemrosesan sinyal dan metode sinkronisasi, membawa pustaka C standar ke level Newlib, dan mengimplementasikan kompiler dan alat pengembangan bahasa C sendiri.

Proyek ini juga mengembangkan bahasa pemrograman dinamisnya sendiri, Kuroko, yang dirancang untuk menggantikan Python ketika mengembangkan utilitas dan aplikasi khusus untuk sistem. Bahasa ini mendukung kompilasi dan interpretasi bytecode, sintaksisnya menyerupai Python (diposisikan sebagai dialek singkat Python dengan definisi variabel yang eksplisit) dan memiliki implementasi yang sangat kompak. 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.

Rilis baru ToaruOS berfokus pada pengembangan pustaka C standar dan bahasa pemrograman Kuroko. Misalnya, fungsi matematika yang diperlukan untuk perhitungan parameter pencahayaan yang benar di game Quake telah ditambahkan ke libc. Kemampuan untuk boot ke VirtualBox dalam mode EFI telah ditingkatkan. Ukuran image iso telah dikurangi dengan menggunakan kompresi image ram disk.

Rilis baru bahasa Kuroko 1.1 menambahkan dukungan untuk async dan menunggu, mengimplementasikan multithreading, meningkatkan kompatibilitas dengan Python 3, mendukung penetapan beberapa nilai, memperluas alat untuk menulis penangan dalam bahasa C, menambahkan dukungan untuk anotasi tipe untuk fungsi, menambahkan kata kunci "yield" dan "yield from", modul os, dis, fileio, dan time telah terintegrasi, metode baru telah diterapkan dalam str, list, dict dan bytes, dukungan untuk prakompilasi ke dalam bytecode telah ditambahkan, lisensi telah sudah diubah menjadi MIT (sebelumnya ada gabungan MIT dan ISC).

Sumber: opennet.ru

Tambah komentar