Rilis sistem operasi Redox OS 0.8 ditulis dalam Rust

Rilis sistem operasi Redox 0.8, yang dikembangkan menggunakan bahasa Rust dan konsep mikrokernel, telah dipublikasikan. Perkembangan proyek didistribusikan di bawah lisensi MIT gratis. Untuk menguji Redox OS, ditawarkan rakitan demo berukuran 768 MB, serta gambar dengan lingkungan grafis dasar (256 MB) dan alat konsol untuk sistem server (256 MB). Rakitan dibuat untuk arsitektur x86_64 dan tersedia untuk sistem dengan UEFI dan BIOS. Selain lingkungan grafis Orbital, gambar demo mencakup emulator DOSBox, pilihan permainan (DOOM, Neverball, Neverputt, sopwith, syobonaction), tutorial, pemutar musik rodioplay, dan editor teks Sodium.

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.

Rilis baru ini terus berupaya untuk memastikannya berfungsi pada perangkat keras sebenarnya. Selain arsitektur x86_64, kemampuan untuk bekerja pada sistem x32 86-bit (i686, Pentium II dan yang lebih baru) telah ditambahkan. Porting ke CPU ARM64 (aarch64) sedang berlangsung. Berjalan pada perangkat keras ARM asli belum didukung, tetapi memuat dengan emulasi ARM64 di QEMU dimungkinkan. Secara default, subsistem audio diaktifkan dan dukungan awal untuk konfigurasi multi-monitor disediakan (pada sistem dengan framebuffer UEFI). Peralatan yang didukung di Redox OS meliputi chip suara AC'97 dan Intel HD Audio, output grafis melalui VESA BIOS atau UEFI GOP API, Ethernet (Intel 1/10 Gigabit Ethernet, Realtek RTL8168), perangkat input (keyboard, mouse, touchpad) , SATA (AHCI, IDE) dan NVMe. Dukungan untuk Wi-Fi dan USB belum siap (USB hanya berfungsi di QEMU).

Inovasi lainnya:

  • Gambar boot untuk sistem dengan BIOS dan EFI telah digabungkan.
  • Implementasi panggilan sistem clone dan exec telah dipindahkan ke ruang pengguna.
  • Proses pemuatan telah disederhanakan. Program bootstrap telah diterapkan, yang diluncurkan oleh kernel dan menyediakan pemuatan file ELF lebih lanjut, seperti proses init.
  • Menambahkan program yang ditingkatkan untuk mendukung program setuid seperti sudo.
  • Untuk menyederhanakan pembuatan dan instalasi proses latar belakang, paket peti daemon redoks telah diusulkan.
  • Sistem perakitan telah didesain ulang, sehingga memungkinkan pembuatan arsitektur berbeda dalam satu pohon sumber. Untuk menyederhanakan perakitan konfigurasi yang berbeda, skrip build.sh diusulkan. Menambahkan dukungan untuk membangun menggunakan toolkit podman. Perakitan kernel, bootloader dan initfs disatukan dengan paket lain.
  • Menambahkan konfigurasi demo untuk membuat program contoh yang tidak disertakan dalam image boot dasar dengan lingkungan grafis.
  • Dukungan untuk kontrol volume perangkat lunak telah ditambahkan ke subsistem suara audiod.
  • Menambahkan driver untuk chip suara berdasarkan AC'97. Peningkatan driver untuk chip Intel HD Audio.
  • Menambahkan driver untuk pengontrol IDE.
  • Peningkatan dukungan untuk drive NVMe.
  • Peningkatan driver PCI, PS/2, RTL8168, USB HID, VESA.
  • Proses instalasi telah didesain ulang: bootloader, bootstrap, kernel dan initfs sekarang terletak di direktori /boot.
  • Kernel telah menyederhanakan manajemen memori dan menambahkan kemampuan untuk memanipulasi ruang alamat dari tingkat pengguna.
  • Di shell grafis Orbital, dukungan untuk sistem multi-monitor telah ditambahkan, pemrosesan kursor mouse telah ditingkatkan, dan indikator untuk mengubah volume telah ditambahkan. Menu memiliki kemampuan untuk membagi aplikasi ke dalam kategori.

Sumber: opennet.ru

Tambah komentar