Rilis sistem operasi Redox OS 0.7 ditulis dalam Rust

Setelah satu setengah tahun pengembangan, rilis sistem operasi Redox 0.7, yang dikembangkan menggunakan bahasa Rust dan konsep mikrokernel, telah diterbitkan. Perkembangan proyek didistribusikan di bawah lisensi MIT gratis. Untuk pengujian Redox OS, ditawarkan instalasi dan gambar Live berukuran 75 MB. Rakitan dibuat untuk arsitektur x86_64 dan tersedia untuk sistem dengan UEFI dan BIOS.

Saat mempersiapkan rilis baru, fokus utamanya adalah memastikan rilis tersebut berfungsi pada perangkat keras sebenarnya. Inovasi utama:

  • Bootloader telah sepenuhnya ditulis ulang, di mana kode untuk boot pada sistem dengan BIOS dan UEFI disatukan dan sebagian besar ditulis dalam Rust. Mengubah bootloader telah memperluas jangkauan perangkat keras yang didukung secara signifikan.
  • Selain perbaikan bug, pekerjaan telah dilakukan di kernel untuk meningkatkan kinerja dan memperluas dukungan perangkat keras. Variabel khusus CPU telah dikonversi untuk menggunakan register GS. Refleksi (pemetaan) seluruh memori fisik disediakan, penggunaan halaman memori rekursif dihentikan. Kode perakitan di sisipan sebaris telah ditulis ulang untuk meningkatkan kompatibilitas dengan rilis kompiler di masa mendatang.
  • Menambahkan dukungan awal untuk arsitektur AArch64.
  • Transisi telah dilakukan untuk memproses semua jalur file dalam pengkodean UTF-8.
  • Kode untuk bekerja dengan Spesifikasi ACPI AML (Bahasa Mesin ACPI) - uefi.org telah dipindahkan dari kernel ke proses latar belakang acpid yang berjalan di ruang pengguna.
  • Konten Initfs telah dipindahkan ke file baru, sehingga memudahkan pembuatan paket.
  • Sistem file RedoxFS telah ditulis ulang dan dialihkan menggunakan mekanisme Kontrak Karya (Copy-on-Write), di mana perubahan tidak menimpa informasi, namun disimpan ke lokasi baru, yang telah meningkatkan keandalan secara signifikan. Fitur baru RedoxFS mencakup dukungan pembaruan transaksional, enkripsi data menggunakan algoritma AES, serta otentikasi data dan metadata dengan tanda tangan digital. Berbagi kode FS di sistem dan bootloader dipastikan.
  • Peningkatan pustaka C standar Relibc yang dikembangkan oleh proyek, yang mampu bekerja tidak hanya di Redox, tetapi juga di distribusi berbasis kernel Linux, terus berlanjut. Perubahan tersebut mempermudah porting berbagai program ke Redox dan memecahkan masalah pada banyak program dan perpustakaan yang ditulis dalam C.
  • Versi kompiler Rustc telah disiapkan yang dapat dijalankan di Redox. Tugas lainnya termasuk mengoptimalkan kinerja dan mengadaptasi manajer paket kargo untuk bekerja di lingkungan Redox.

Rilis sistem operasi Redox OS 0.7 ditulis dalam Rust

Sistem operasi dikembangkan sesuai dengan filosofi Unix dan meminjam beberapa ide dari SeL4, Minix dan Plan 9. Redox menggunakan konsep mikrokernel, di mana hanya interaksi antara proses dan manajemen sumber daya yang disediakan di tingkat kernel, dan semua lainnya fungsionalitas ditempatkan di perpustakaan yang dapat digunakan baik oleh kernel maupun aplikasi pengguna. Semua driver berjalan di ruang pengguna di lingkungan sandbox yang terisolasi. Untuk kompatibilitas dengan aplikasi yang ada, disediakan lapisan POSIX khusus yang memungkinkan Anda menjalankan banyak program tanpa porting.

Sistem ini menggunakan prinsip β€œsemuanya adalah URL”. Misalnya, URL β€œlog://” dapat digunakan untuk logging, β€œbus://” untuk interaksi antar proses, β€œtcp://” untuk interaksi jaringan, dll. Modul, yang dapat diimplementasikan dalam bentuk driver, ekstensi kernel, dan aplikasi pengguna, dapat mendaftarkan penangan URL-nya sendiri, misalnya, Anda dapat menulis modul akses port I/O dan mengikatnya ke URL "port_io:// ", setelah itu Anda dapat menggunakannya untuk mengakses port 60 dengan membuka URL β€œport_io://60”.

Lingkungan pengguna di Redox dibangun berdasarkan shell grafis Orbital sendiri (jangan bingung dengan shell Orbital lain yang menggunakan Qt dan Wayland) dan toolkit OrbTk, yang menyediakan API yang mirip dengan Flutter, React, dan Redux. Netsurf digunakan sebagai browser web. Proyek ini juga mengembangkan manajer paketnya sendiri, seperangkat utilitas standar (binutils, coreutils, netutils, extrautils), shell perintah ion, pustaka C standar relibc, editor teks seperti vim sodium, tumpukan jaringan dan file sistem. Konfigurasi diatur dalam bahasa Toml.

Sumber: opennet.ru

Tambah komentar