Κυκλοφορία του λειτουργικού συστήματος Redox OS 0.8 γραμμένο σε Rust

Δημοσιεύτηκε η κυκλοφορία του λειτουργικού συστήματος Redox 0.8, που αναπτύχθηκε χρησιμοποιώντας τη γλώσσα Rust και την έννοια του μικροπυρήνα. Οι εξελίξεις του έργου διανέμονται με τη δωρεάν άδεια MIT. Για τη δοκιμή του Redox OS, προσφέρονται συγκροτήματα επίδειξης μεγέθους 768 MB, καθώς και εικόνες με βασικό γραφικό περιβάλλον (256 MB) και εργαλεία κονσόλας για συστήματα διακομιστών (256 MB). Τα συγκροτήματα δημιουργούνται για την αρχιτεκτονική x86_64 και είναι διαθέσιμα για συστήματα με UEFI και BIOS. Εκτός από το γραφικό περιβάλλον Orbital, η εικόνα επίδειξης περιλαμβάνει τον εξομοιωτή DOSBox, μια επιλογή παιχνιδιών (DOOM, Neverball, Neverputt, sopwith, syobonaction), μαθήματα, το πρόγραμμα αναπαραγωγής μουσικής rodioplay και το πρόγραμμα επεξεργασίας κειμένου Sodium.

Το λειτουργικό σύστημα έχει αναπτυχθεί σύμφωνα με τη φιλοσοφία Unix και δανείζεται μερικές ιδέες από το SeL4, το Minix και το Plan 9. Το Redox χρησιμοποιεί την έννοια του μικροπυρήνα, στον οποίο παρέχεται μόνο η αλληλεπίδραση μεταξύ διεργασιών και διαχείρισης πόρων σε επίπεδο πυρήνα και όλα τα άλλα Η λειτουργικότητα τοποθετείται σε βιβλιοθήκες που μπορούν να χρησιμοποιηθούν τόσο στον πυρήνα όσο και στις εφαρμογές χρήστη. Όλα τα προγράμματα οδήγησης εκτελούνται στο χώρο χρήστη σε απομονωμένα περιβάλλοντα sandbox. Για συμβατότητα με υπάρχουσες εφαρμογές, παρέχεται ένα ειδικό επίπεδο POSIX, το οποίο σας επιτρέπει να εκτελείτε πολλά προγράμματα χωρίς μεταφορά.

Το σύστημα χρησιμοποιεί την αρχή "τα πάντα είναι μια διεύθυνση URL". Για παράδειγμα, η διεύθυνση URL "log://" μπορεί να χρησιμοποιηθεί για καταγραφή, "bus://" για αλληλεπίδραση μεταξύ διεργασιών, "tcp://" για αλληλεπίδραση δικτύου κ.λπ. Οι λειτουργικές μονάδες, οι οποίες μπορούν να υλοποιηθούν με τη μορφή προγραμμάτων οδήγησης, επεκτάσεων πυρήνα και εφαρμογών χρήστη, μπορούν να καταχωρήσουν τους δικούς τους χειριστές URL, για παράδειγμα, μπορείτε να γράψετε μια λειτουργική μονάδα πρόσβασης θύρας I/O και να τη συνδέσετε στη διεύθυνση URL "port_io:// ", μετά την οποία μπορείτε να το χρησιμοποιήσετε για πρόσβαση στη θύρα 60 ανοίγοντας τη διεύθυνση URL "port_io://60".

Το περιβάλλον χρήστη στο Redox είναι χτισμένο με βάση το γραφικό κέλυφος του ίδιου του Orbital (δεν πρέπει να συγχέεται με άλλο κέλυφος Orbital που χρησιμοποιεί Qt και Wayland) και το κιτ εργαλείων OrbTk, το οποίο παρέχει ένα API παρόμοιο με το Flutter, το React και το Redux. Το Netsurf χρησιμοποιείται ως πρόγραμμα περιήγησης ιστού. Το έργο αναπτύσσει επίσης τον δικό του διαχειριστή πακέτων, ένα σύνολο τυπικών βοηθητικών προγραμμάτων (binutils, coreutils, netutils, extrautils), το κέλυφος εντολών ion, την τυπική βιβλιοθήκη C relibc, το πρόγραμμα επεξεργασίας κειμένου που μοιάζει με vim, μια στοίβα δικτύου και ένα αρχείο Σύστημα. Η διαμόρφωση έχει οριστεί στη γλώσσα Toml.

Η νέα έκδοση συνεχίζει να εργάζεται για να διασφαλίσει ότι λειτουργεί σε πραγματικό υλικό. Εκτός από την αρχιτεκτονική x86_64, προστέθηκε η δυνατότητα εργασίας σε συστήματα x32 86 bit (i686, Pentium II και νεότερα). Η μεταφορά σε CPU ARM64 (aarch64) βρίσκεται σε εξέλιξη. Η εκτέλεση σε πραγματικό υλικό ARM δεν υποστηρίζεται ακόμη, αλλά είναι δυνατή η φόρτωση με εξομοίωση ARM64 στο QEMU. Από προεπιλογή, το υποσύστημα ήχου είναι ενεργοποιημένο και παρέχεται αρχική υποστήριξη για διαμορφώσεις πολλαπλών οθονών (σε συστήματα με buffer UEFI). Ο εξοπλισμός που υποστηρίζεται στο Redox OS περιλαμβάνει τσιπ ήχου AC'97 και Intel HD Audio, έξοδο γραφικών μέσω του VESA BIOS ή UEFI GOP API, Ethernet (Intel 1/10 Gigabit Ethernet, Realtek RTL8168), συσκευές εισόδου (πληκτρολόγια, ποντίκια, touchpad) , SATA (AHCI, IDE) και NVMe. Η υποστήριξη για Wi-Fi και USB δεν είναι ακόμη έτοιμη (το USB λειτουργεί μόνο σε QEMU).

Άλλες καινοτομίες:

  • Οι εικόνες εκκίνησης για συστήματα με BIOS και EFI έχουν συγχωνευθεί.
  • Η υλοποίηση των κλώνων συστήματος κλώνων και εκτελεστικών κλήσεων έχει μεταφερθεί στο χώρο χρήστη.
  • Η διαδικασία λήψης έχει απλοποιηθεί. Έχει υλοποιηθεί ένα πρόγραμμα bootstrap, το οποίο εκκινείται από τον πυρήνα και παρέχει περαιτέρω φόρτωση αρχείων ELF, όπως η διαδικασία init.
  • Προστέθηκε κλιμακούμενο πρόγραμμα για την υποστήριξη προγραμμάτων setuid όπως το sudo.
  • Για την απλούστευση της δημιουργίας και εγκατάστασης διεργασιών παρασκηνίου, έχει προταθεί το πακέτο οξειδοαναγωγής-δαίμονας crate.
  • Το σύστημα συναρμολόγησης έχει επανασχεδιαστεί, καθιστώντας δυνατή την κατασκευή για διαφορετικές αρχιτεκτονικές σε ένα δέντρο πηγής. Για να απλοποιηθεί η συναρμολόγηση διαφορετικών διαμορφώσεων, προτείνεται το σενάριο build.sh. Προστέθηκε υποστήριξη για δημιουργία με χρήση της εργαλειοθήκης podman. Η συναρμολόγηση του πυρήνα, του bootloader και του initfs είναι ενοποιημένη με άλλα πακέτα.
  • Προστέθηκε μια διαμόρφωση επίδειξης για τη δημιουργία παραδειγμάτων προγραμμάτων που δεν περιλαμβάνονται στη βασική εικόνα εκκίνησης με γραφικό περιβάλλον.
  • Στο υποσύστημα ήχου audiod έχει προστεθεί υποστήριξη για έλεγχο έντασης ήχου.
  • Προστέθηκε πρόγραμμα οδήγησης για τσιπ ήχου που βασίζονται στο AC'97. Βελτιωμένο πρόγραμμα οδήγησης για τσιπ Intel HD Audio.
  • Προστέθηκε πρόγραμμα οδήγησης για ελεγκτές IDE.
  • Βελτιωμένη υποστήριξη για μονάδες NVMe.
  • Βελτιωμένα προγράμματα οδήγησης PCI, PS/2, RTL8168, USB HID, VESA.
  • Η διαδικασία εγκατάστασης έχει επανασχεδιαστεί: ο bootloader, το bootstrap, ο πυρήνας και τα initfs βρίσκονται πλέον στον κατάλογο /boot.
  • Ο πυρήνας έχει απλοποιήσει τη διαχείριση της μνήμης και έχει προσθέσει τη δυνατότητα χειρισμού χώρων διευθύνσεων από το επίπεδο χρήστη.
  • Στο γραφικό κέλυφος Orbital, προστέθηκε υποστήριξη για συστήματα πολλαπλών οθονών, βελτιώθηκε η επεξεργασία του δρομέα του ποντικιού και προστέθηκε μια ένδειξη για την αλλαγή της έντασης. Το μενού έχει τη δυνατότητα να χωρίζει τις εφαρμογές σε κατηγορίες.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο