Udgivelse af Redox OS 0.8-operativsystemet skrevet i Rust

Udgivelsen af ​​Redox 0.8-operativsystemet, udviklet ved hjælp af Rust-sproget og mikrokernekonceptet, er blevet offentliggjort. Projektets udviklinger distribueres under den gratis MIT-licens. Til test af Redox OS tilbydes demosamlinger på 768 MB i størrelse samt billeder med et grundlæggende grafisk miljø (256 MB) og konsolværktøjer til serversystemer (256 MB). Samlingerne er genereret til x86_64-arkitekturen og er tilgængelige for systemer med UEFI og BIOS. Ud over det grafiske Orbital-miljø inkluderer demobilledet DOSBox-emulatoren, et udvalg af spil (DOOM, Neverball, Neverputt, sopwith, syobonaction), tutorials, rodioplay-musikafspilleren og Sodium-teksteditoren.

Operativsystemet udvikler sig i overensstemmelse med Unix-filosofien og låner nogle ideer fra SeL4, Minix og Plan 9. Redox anvender mikrokernekonceptet, hvor der kun er kommunikation mellem processer og ressourcestyring på kerneniveau, og al anden funktionalitet er placeret. i biblioteker, der kan bruges både kerne- og brugerapplikationer. Alle drivere kører i brugerrum i isolerede sandkassemiljøer. For kompatibilitet med eksisterende applikationer er der tilvejebragt et særligt POSIX-lag, som gør det muligt for mange programmer at køre uden portering.

Systemet anvender princippet "alt er en URL". For eksempel kan URL'en "log://" bruges til logning, "bus://" til kommunikation mellem processer, "tcp://" til netværkskommunikation og så videre. Moduler, som kan implementeres som drivere, kerneudvidelser og brugerdefinerede applikationer, kan registrere deres egne URL-handlere, for eksempel kan du skrive et I/O-adgangsmodul og binde det til "port_io://" URL'en, hvorefter du kan bruge den til at få adgang til port 60 ved at åbne URL'en "port_io://60".

Brugermiljøet i Redox er bygget op omkring Orbitals egen grafiske shell (ikke at forveksle med den anden Orbital shell, der bruger Qt og Wayland) og OrbTk toolkit, som giver en API, der ligner Flutter, React og Redux. Netsurf bruges som webbrowser. Projektet udvikler også sin egen pakkehåndtering, et sæt standardværktøjer (binutils, coreutils, netutils, extrautils), ion-kommandoskallen, relibc standard C-biblioteket, den natrium vim-lignende teksteditor, netværksstakken og filen system. Konfigurationen er indstillet på Toml-sproget.

Den nye udgivelse fortsætter arbejdet med at sikre, at den fungerer på ægte hardware. Ud over x86_64-arkitekturen er muligheden for at arbejde på 32-bit x86-systemer (i686, Pentium II og nyere) blevet tilføjet. Portering til ARM64 CPU (aarch64) er i gang. Kørsel på ægte ARM-hardware er endnu ikke understøttet, men indlæsning med ARM64-emulering i QEMU er muligt. Som standard er lydundersystemet aktiveret, og indledende understøttelse af multimonitorkonfigurationer er tilvejebragt (på systemer med en UEFI-rammebuffer). Udstyret, der understøttes i Redox OS, inkluderer AC'97 og Intel HD Audio-lydchips, grafikoutput via VESA BIOS eller UEFI GOP API, Ethernet (Intel 1/10 Gigabit Ethernet, Realtek RTL8168), inputenheder (tastaturer, mus, touchpads) , SATA (AHCI, IDE) og NVMe. Understøttelse af Wi-Fi og USB er endnu ikke klar (USB virker kun i QEMU).

Andre innovationer:

  • Opstartsbilleder til systemer med BIOS og EFI er blevet slået sammen.
  • Implementeringen af ​​clone- og exec-systemkaldene er blevet flyttet til brugerområdet.
  • Downloadprocessen er blevet forenklet. Et bootstrap-program er blevet implementeret, som lanceres af kernen og giver yderligere indlæsning af ELF-filer, såsom init-processen.
  • Tilføjet eskaleret program for at understøtte setuid-programmer såsom sudo.
  • For at forenkle oprettelsen og installationen af ​​baggrundsprocesser er redox-daemon-kassepakken blevet foreslået.
  • Monteringssystemet er blevet redesignet, hvilket gør det muligt at bygge til forskellige arkitekturer i ét kildetræ. For at forenkle samlingen af ​​forskellige konfigurationer foreslås build.sh-scriptet. Tilføjet støtte til bygning ved hjælp af podman-værktøjssættet. Samlingen af ​​kernen, bootloader og initfs er forenet med andre pakker.
  • Tilføjet en demo-konfiguration til at bygge eksempler på programmer, der ikke er inkluderet i det grundlæggende boot-image med et grafisk miljø.
  • Understøttelse af softwarevolumenkontrol er blevet tilføjet til lydundersystemet.
  • Tilføjet driver til lydchips baseret på AC'97. Forbedret driver til Intel HD Audio-chips.
  • Tilføjet driver til IDE-controllere.
  • Forbedret understøttelse af NVMe-drev.
  • Forbedrede PCI, PS/2, RTL8168, USB HID, VESA drivere.
  • Installationsprocessen er blevet omdesignet: bootloader, bootstrap, kernel og initfs er nu placeret i /boot-mappen.
  • Kernen har forenklet hukommelseshåndtering og tilføjet muligheden for at manipulere adresserum fra brugerniveau.
  • I den grafiske Orbital-skal er der tilføjet understøttelse af multimonitorsystemer, musemarkørbehandlingen er blevet forbedret, og der er tilføjet en indikator til ændring af lydstyrken. Menuen har mulighed for at opdele applikationer i kategorier.

Kilde: opennet.ru

Tilføj en kommentar