Rust дээр бичигдсэн Redox OS 0.8 үйлдлийн системийн хувилбар

Rust хэл болон микро цөмийн концепцийг ашиглан боловсруулсан Redox 0.8 үйлдлийн системийн хувилбар хэвлэгдэн гарлаа. Төслийн бүтээн байгуулалтыг MIT-ийн үнэ төлбөргүй лицензээр түгээдэг. Redox OS-ийг туршихын тулд 768 МБ хэмжээтэй демо угсралт, түүнчлэн үндсэн график орчин (256 МБ), серверийн системд зориулсан консолын хэрэгслүүд (256 МБ) бүхий зургуудыг санал болгож байна. Угсралтууд нь x86_64 архитектурт зориулагдсан бөгөөд UEFI болон BIOS-той системүүдэд ашиглах боломжтой. Орбитын график орчноос гадна үзүүлэнгийн зурагт DOSBox эмулятор, олон төрлийн тоглоом (DOOM, Neverball, Neverputt, sopwith, syobonaction), зааварчилгаа, rodioplay хөгжим тоглуулагч, Sodium текст засварлагч багтсан болно.

Үйлдлийн систем нь Юниксийн философийн дагуу бүтээгдсэн бөгөөд SeL4, Minix болон Plan 9-ээс зарим санааг авсан. Redox нь зөвхөн процесс болон нөөцийн удирдлагын харилцан үйлчлэлийг цөмийн түвшинд хангадаг бичил цөм гэсэн ойлголтыг ашигладаг. функцийг цөм болон хэрэглэгчийн програмын аль алинд нь ашиглах боломжтой номын санд байрлуулсан. Бүх драйверууд тусгаарлагдсан хамгаалалттай орчинд хэрэглэгчийн орон зайд ажилладаг. Одоо байгаа програмуудтай нийцтэй байхын тулд тусгай POSIX давхаргыг өгсөн бөгөөд энэ нь олон програмыг зөөвөрлөхгүйгээр ажиллуулах боломжийг олгодог.

Систем нь "бүх зүйл URL" зарчмыг ашигладаг. Жишээлбэл, "log://" URL-г бүртгэлд, "автобус://" процесс хоорондын харилцан үйлчлэлд, "tcp://" сүлжээний харилцан үйлчлэлд гэх мэтийг ашиглаж болно. Драйвер, цөмийн өргөтгөл, хэрэглэгчийн програм хэлбэрээр хэрэгжиж болох модулиуд нь өөрийн URL зохицуулагчийг бүртгэх боломжтой, жишээлбэл, та I/O портын хандалтын модулийг бичиж, "port_io://" URL руу холбож болно. ", үүний дараа та "port_io://60" URL-г нээж 60-р порт руу нэвтрэхийн тулд үүнийг ашиглаж болно.

Redox дахь хэрэглэгчийн орчин нь Orbital-ийн өөрийн график бүрхүүл (Qt болон Wayland ашигладаг өөр Orbital бүрхүүлтэй андуурч болохгүй) болон Flutter, React, Redux-тай төстэй API-г хангадаг OrbTk хэрэгслийн иж бүрдэл дээр суурилагдсан. Netsurf-ийг вэб хөтөч болгон ашигладаг. Төсөл нь мөн өөрийн багц менежер, стандарт хэрэгслүүдийн багц (binutils, coreutils, netutils, extrautils), ион командын бүрхүүл, стандарт C library relibc, vim шиг текст засварлагч натрийн, сүлжээний стек болон файлыг хөгжүүлж байна. систем. Тохиргоог Toml хэл дээр тохируулсан.

Шинэ хувилбар нь бодит техник хангамж дээр ажиллаж байгаа эсэхийг баталгаажуулахын тулд үргэлжлүүлэн ажиллаж байна. X86_64 архитектураас гадна 32 битийн x86 системүүд (i686, Pentium II ба түүнээс дээш) дээр ажиллах чадварыг нэмсэн. ARM64 CPU (aarch64) руу шилжүүлж байна. Жинхэнэ ARM техник хангамж дээр ажиллахыг хараахан дэмжээгүй байгаа ч QEMU-д ARM64 эмуляцийг ачаалах боломжтой. Анхдагч байдлаар, аудио дэд систем идэвхжсэн бөгөөд олон мониторын тохиргоонд анхны дэмжлэг үзүүлдэг (UEFI фреймбуфер бүхий систем дээр). Redox үйлдлийн системд дэмжигдсэн төхөөрөмжид AC'97 болон Intel HD Аудио дууны чип, VESA BIOS эсвэл UEFI GOP API-ээр дамжуулан график гаралт, Ethernet (Intel 1/10 Гигабит Ethernet, Realtek RTL8168), оролтын төхөөрөмж (гар, хулгана, мэдрэгчтэй самбар) орно. , SATA (AHCI, IDE) болон NVMe. Wi-Fi болон USB-ийн дэмжлэг хараахан бэлэн болоогүй байна (USB зөвхөн QEMU дээр ажилладаг).

Бусад шинэлэг зүйл:

  • BIOS болон EFI-тэй системүүдийн ачаалах зургуудыг нэгтгэсэн.
  • Clone болон exec системийн дуудлагын хэрэгжилтийг хэрэглэгчийн орон зайд шилжүүлсэн.
  • Татаж авах үйл явцыг хялбаршуулсан. Цөмөөс эхлүүлсэн, эхлүүлэх процесс гэх мэт ELF файлуудыг цаашид ачаалах боломжийг олгодог bootstrap програмыг хэрэгжүүлсэн.
  • Sudo зэрэг setuid програмуудыг дэмжихийн тулд өргөтгөсөн программ нэмсэн.
  • Арын процессыг үүсгэх, суулгах ажлыг хялбарчлахын тулд redox-daemon хайрцагны багцыг санал болгосон.
  • Угсрах системийг дахин зохион бүтээсэн нь нэг эх модонд өөр өөр архитектурт зориулж бүтээх боломжтой болсон. Төрөл бүрийн тохиргооны угсралтыг хялбарчлахын тулд build.sh скриптийг санал болгож байна. Подман хэрэгслийн иж бүрдлийг ашиглан барилга барихад дэмжлэг нэмсэн. Цөм, ачаалагч болон initfs-ийн угсралтыг бусад багцуудтай нэгтгэдэг.
  • График орчин бүхий үндсэн ачаалах зурагт ороогүй жишээ программуудыг бий болгоход демо тохиргоо нэмсэн.
  • Дууны дууны дэд системд програм хангамжийн дууны түвшний хяналтын дэмжлэг нэмэгдсэн.
  • AC'97 дээр суурилсан дууны чипүүдэд зориулсан драйвер нэмэгдсэн. Intel HD аудио чипүүдэд зориулсан сайжруулсан драйвер.
  • IDE хянагчдад зориулсан драйвер нэмэгдсэн.
  • NVMe хөтчүүдэд зориулсан сайжруулсан дэмжлэг.
  • PCI, PS/2, RTL8168, USB HID, VESA драйверуудыг сайжруулсан.
  • Суулгах процессыг дахин зохион бүтээсэн: ачаалагч, ачаалагч, цөм болон initfs одоо /boot директорт байрлаж байна.
  • Цөм нь санах ойн удирдлагыг хялбаршуулж, хэрэглэгчийн түвшингээс хаягийн зайг удирдах чадварыг нэмсэн.
  • Orbital график бүрхүүлд олон хяналтын системд зориулсан дэмжлэг нэмэгдэж, хулганы курсорын боловсруулалт сайжирч, дууны хэмжээг өөрчлөх индикатор нэмэгдсэн. Цэс нь програмуудыг ангилалд хуваах чадвартай.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх