Keluaran sistem pengendalian Redox OS 0.8 yang ditulis dalam Rust

Pengeluaran sistem pengendalian Redox 0.8, yang dibangunkan menggunakan bahasa Rust dan konsep mikrokernel, telah diterbitkan. Perkembangan projek itu diedarkan di bawah lesen MIT percuma. Untuk menguji OS Redox, himpunan demo bersaiz 768 MB ditawarkan, serta imej dengan persekitaran grafik asas (256 MB) dan alatan konsol untuk sistem pelayan (256 MB). Perhimpunan dijana untuk seni bina x86_64 dan tersedia untuk sistem dengan UEFI dan BIOS. Selain persekitaran grafik Orbital, imej demo termasuk emulator DOSBox, pilihan permainan (DOOM, Neverball, Neverputt, sopwith, syobonaction), tutorial, pemain muzik rodioplay dan editor teks Sodium.

Sistem pengendalian dibangunkan selaras dengan falsafah Unix dan meminjam beberapa idea daripada SeL4, Minix dan Plan 9. Redox menggunakan konsep mikrokernel, di mana hanya interaksi antara proses dan pengurusan sumber disediakan pada peringkat kernel, dan semua yang lain. fungsi diletakkan dalam perpustakaan yang boleh digunakan kedua-dua kernel dan aplikasi pengguna. Semua pemandu berjalan dalam ruang pengguna dalam persekitaran kotak pasir terpencil. Untuk keserasian dengan aplikasi sedia ada, lapisan POSIX khas disediakan, yang membolehkan anda menjalankan banyak program tanpa port.

Sistem ini menggunakan prinsip "semuanya adalah URL". Contohnya, URL "log://" boleh digunakan untuk pengelogan, "bus://" untuk interaksi antara proses, "tcp://" untuk interaksi rangkaian, dsb. Modul, yang boleh dilaksanakan dalam bentuk pemacu, sambungan kernel, dan aplikasi pengguna, boleh mendaftarkan pengendali URL mereka sendiri, sebagai contoh, anda boleh menulis modul akses port I/O dan mengikatnya pada URL "port_io:// ", selepas itu anda boleh menggunakannya untuk mengakses port 60 dengan membuka URL "port_io://60".

Persekitaran pengguna dalam Redox dibina berdasarkan cangkerang grafik Orbital sendiri (jangan dikelirukan dengan cangkerang Orbital lain yang menggunakan Qt dan Wayland) dan kit alat OrbTk, yang menyediakan API serupa dengan Flutter, React dan Redux. Netsurf digunakan sebagai pelayar web. Projek ini juga sedang membangunkan pengurus pakejnya sendiri, satu set utiliti standard (binutils, coreutils, netutils, extrautils), shell arahan ion, relibc perpustakaan standard C, natrium editor teks seperti vim, susunan rangkaian dan fail sistem. Konfigurasi ditetapkan dalam bahasa Toml.

Keluaran baharu terus berfungsi untuk memastikan ia berfungsi pada perkakasan sebenar. Sebagai tambahan kepada seni bina x86_64, keupayaan untuk bekerja pada sistem x32 86-bit (i686, Pentium II dan lebih baru) telah ditambah. Pemindahan ke CPU ARM64 (aarch64) sedang dijalankan. Berjalan pada perkakasan ARM sebenar belum lagi disokong, tetapi memuatkan dengan emulasi ARM64 dalam QEMU adalah mungkin. Secara lalai, subsistem audio diaktifkan dan sokongan awal untuk konfigurasi berbilang monitor disediakan (pada sistem dengan framebuffer UEFI). Peralatan yang disokong dalam Redox OS termasuk cip bunyi AC'97 dan Intel HD Audio, output grafik melalui VESA BIOS atau UEFI GOP API, Ethernet (Intel 1/10 Gigabit Ethernet, Realtek RTL8168), peranti input (papan kekunci, tetikus, pad sentuh) , SATA (AHCI, IDE) dan NVMe. Sokongan untuk Wi-Fi dan USB belum lagi sedia (USB hanya berfungsi dalam QEMU).

Inovasi lain:

  • Imej but untuk sistem dengan BIOS dan EFI telah digabungkan.
  • Pelaksanaan panggilan sistem klon dan exec telah dialihkan ke ruang pengguna.
  • Proses muat turun telah dipermudahkan. Program bootstrap telah dilaksanakan, yang dilancarkan oleh kernel dan menyediakan pemuatan selanjutnya bagi fail ELF, seperti proses init.
  • Menambahkan program meningkat untuk menyokong program setuid seperti sudo.
  • Untuk memudahkan penciptaan dan pemasangan proses latar belakang, pakej peti daemon redoks telah dicadangkan.
  • Sistem pemasangan telah direka bentuk semula, membolehkan untuk membina seni bina yang berbeza dalam satu pokok sumber. Untuk memudahkan pemasangan konfigurasi yang berbeza, skrip build.sh dicadangkan. Menambah sokongan untuk membina menggunakan kit alat podman. Pemasangan kernel, pemuat but dan initfs disatukan dengan pakej lain.
  • Menambahkan konfigurasi demo untuk membina program contoh yang tidak disertakan dalam imej but asas dengan persekitaran grafik.
  • Sokongan untuk kawalan kelantangan perisian telah ditambahkan pada subsistem bunyi audiod.
  • Ditambah pemacu untuk cip bunyi berdasarkan AC'97. Pemacu yang dipertingkatkan untuk cip Intel HD Audio.
  • Ditambah pemacu untuk pengawal IDE.
  • Sokongan yang lebih baik untuk pemacu NVMe.
  • Pemacu PCI, PS/2, RTL8168, USB HID, VESA yang dipertingkatkan.
  • Proses pemasangan telah direka bentuk semula: pemuat but, bootstrap, kernel dan initfs kini terletak dalam direktori /boot.
  • Kernel telah memudahkan pengurusan memori dan menambah keupayaan untuk memanipulasi ruang alamat dari peringkat pengguna.
  • Dalam cangkerang grafik Orbital, sokongan untuk sistem berbilang monitor telah ditambah, pemprosesan kursor tetikus telah dipertingkatkan dan penunjuk telah ditambah untuk menukar kelantangan. Menu mempunyai keupayaan untuk membahagikan aplikasi ke dalam kategori.

Sumber: opennet.ru

Tambah komen