Utgivelse av Redox OS 0.8-operativsystemet skrevet i Rust

Utgivelsen av Redox 0.8-operativsystemet, utviklet ved bruk av Rust-språket og mikrokjernekonseptet, har blitt publisert. Prosjektets utviklinger distribueres under den gratis MIT-lisensen. For testing av Redox OS tilbys demosammenstillinger på 768 MB i størrelse, samt bilder med et grunnleggende grafisk miljø (256 MB) og konsollverktøy for serversystemer (256 MB). Samlingene er generert for x86_64-arkitekturen og er tilgjengelige for systemer med UEFI og BIOS. I tillegg til det grafiske Orbital-miljøet, inkluderer demobildet DOSBox-emulatoren, et utvalg spill (DOOM, Neverball, Neverputt, sopwith, syobonaction), opplæringsprogrammer, rodioplay-musikkspilleren og Sodium-tekstredigereren.

Operativsystemet er utviklet i samsvar med Unix-filosofien og låner noen ideer fra SeL4, Minix og Plan 9. Redox bruker konseptet med en mikrokjerne, der kun interaksjon mellom prosesser og ressursstyring er gitt på kjernenivå, og alt annet funksjonalitet er plassert i biblioteker som kan brukes både kjernen og brukerapplikasjoner. Alle drivere kjører i brukerrom i isolerte sandkassemiljøer. For kompatibilitet med eksisterende applikasjoner er det gitt et spesielt POSIX-lag, som lar deg kjøre mange programmer uten portering.

Systemet bruker "alt er en URL"-prinsippet. For eksempel kan URL-en "log://" brukes til logging, "bus://" for interaksjon mellom prosesser, "tcp://" for nettverksinteraksjon osv. Moduler, som kan implementeres i form av drivere, kjerneutvidelser og brukerapplikasjoner, kan registrere sine egne URL-behandlere, for eksempel kan du skrive en I/O-porttilgangsmodul og binde den til URLen "port_io:// ", hvoretter du kan bruke den til å få tilgang til port 60 ved å åpne URLen "port_io://60".

Brukermiljøet i Redox er bygget på grunnlag av Orbitals eget grafiske skall (ikke å forveksle med et annet Orbital-skall som bruker Qt og Wayland) og OrbTk-verktøysettet, som gir en API som ligner på Flutter, React og Redux. Netsurf brukes som nettleser. Prosjektet utvikler også sin egen pakkebehandling, et sett med standardverktøy (binutils, coreutils, netutils, extrautils), ion-kommandoskallet, standard C-biblioteket relibc, den vim-lignende teksteditoren natrium, en nettverksstabel og en fil system. Konfigurasjonen er satt på Toml-språket.

Den nye utgivelsen fortsetter arbeidet med å sikre at den fungerer på ekte maskinvare. I tillegg til x86_64-arkitekturen er muligheten til å jobbe på 32-bits x86-systemer (i686, Pentium II og nyere) lagt til. Portering til ARM64 CPU (aarch64) er i gang. Å kjøre på ekte ARM-maskinvare støttes ennå ikke, men lasting med ARM64-emulering i QEMU er mulig. Som standard er lydundersystemet aktivert og innledende støtte for flerskjermskonfigurasjoner er gitt (på systemer med en UEFI-rammebuffer). Utstyret som støttes i Redox OS inkluderer AC'97 og Intel HD Audio-lydbrikker, grafikkutgang via VESA BIOS eller UEFI GOP API, Ethernet (Intel 1/10 Gigabit Ethernet, Realtek RTL8168), inngangsenheter (tastaturer, mus, pekeplater) , SATA (AHCI, IDE) og NVMe. Støtte for Wi-Fi og USB er ennå ikke klar (USB fungerer kun i QEMU).

Andre innovasjoner:

  • Oppstartsbilder for systemer med BIOS og EFI er slått sammen.
  • Implementeringen av clone and exec system calls har blitt flyttet til brukerområdet.
  • Lasteprosessen er forenklet. Et bootstrap-program er implementert, som lanseres av kjernen og gir ytterligere lasting av ELF-filer, for eksempel init-prosessen.
  • Lagt til eskalert program for å støtte setuid-programmer som sudo.
  • For å forenkle opprettelsen og installasjonen av bakgrunnsprosesser, har redoks-daemon-kassepakken blitt foreslått.
  • Monteringssystemet er redesignet, noe som gjør det mulig å bygge for ulike arkitekturer i ett kildetre. For å forenkle sammenstillingen av forskjellige konfigurasjoner, foreslås build.sh-skriptet. Lagt til støtte for bygging ved hjelp av podman-verktøysettet. Sammenstillingen av kjernen, bootloader og initfs er forent med andre pakker.
  • Lagt til en demokonfigurasjon for å bygge eksempelprogrammer som ikke er inkludert i det grunnleggende oppstartsbildet med et grafisk miljø.
  • Støtte for programvarevolumkontroll er lagt til lydundersystemet.
  • Lagt til driver for lydbrikker basert på AC'97. Forbedret driver for Intel HD Audio-brikker.
  • Lagt til driver for IDE-kontrollere.
  • Forbedret støtte for NVMe-stasjoner.
  • Forbedrede PCI, PS/2, RTL8168, USB HID, VESA-drivere.
  • Installasjonsprosessen har blitt redesignet: bootloader, bootstrap, kernel og initfs er nå plassert i /boot-katalogen.
  • Kjernen har forenklet minneadministrasjon og lagt til muligheten til å manipulere adresserom fra brukernivå.
  • I det grafiske Orbital-skallet er støtte for multimonitorsystemer lagt til, musepekerbehandlingen er forbedret, og det er lagt til en indikator for å endre volumet. Menyen har muligheten til å dele applikasjoner inn i kategorier.

Kilde: opennet.ru

Legg til en kommentar