Sortie du système d'exploitation ToaruOS 2.1

La version du système d'exploitation de type Unix ToaruOS 2.1 a été publiée, écrite à partir de zéro et fournie avec son propre noyau, son chargeur de démarrage, sa bibliothèque C standard, son gestionnaire de packages, ses composants d'espace utilisateur et une interface graphique avec un gestionnaire de fenêtres composite. Le projet s'est initialement développé à l'Université de l'Illinois comme travail de recherche dans le domaine de la création de nouvelles interfaces graphiques composites, mais s'est ensuite transformé en un système d'exploitation distinct. Le code du projet est écrit en C et distribué sous licence BSD. Une image en direct de 14.4 Mo a été préparée pour le téléchargement, qui peut être testée dans QEMU, VMware ou VirtualBox.

Sortie du système d'exploitation ToaruOS 2.1

ToaruOS est basé sur un noyau qui utilise une architecture modulaire hybride combinant un cadre monolithique et des outils d'utilisation de modules chargeables, qui constituent la majorité des pilotes de périphériques disponibles, tels que les pilotes de disque (PATA et ATAPI), les systèmes de fichiers EXT2 et ISO9660, le framebuffer. , claviers, souris, cartes réseau (AMD PCnet FAST, Realtek RTL8139 et Intel PRO/1000), puces audio (Intel AC'97), ainsi que des modules complémentaires VirtualBox pour les systèmes invités. Le noyau prend en charge les threads Unix, TTY, le système de fichiers virtuel, le pseudo système de fichiers /proc, le multithreading, l'IPC, le disque virtuel, le ptrace, la mémoire partagée, le multitâche et d'autres fonctionnalités standard.

Le système est équipé d'un gestionnaire de fenêtres composite, prend en charge les fichiers exécutables liés dynamiquement au format ELF, le multitâche, une pile graphique, peut exécuter Python 3 et GCC. Ext2 est utilisé comme système de fichiers. Le chargeur de démarrage prend en charge le BIOS et EFI. La pile réseau permet l'utilisation d'API de socket de style BSD et prend en charge les interfaces réseau, y compris le bouclage.

Parmi les applications natives, se distingue l'éditeur de code de type Vi Bim, utilisé ces dernières années pour développer des applications spécifiques à ToaruOS telles qu'un gestionnaire de fichiers, un émulateur de terminal, un panneau graphique avec support de widgets, un gestionnaire de paquets, etc. ainsi que des bibliothèques pour prendre en charge les images (PNG, JPEG) et les polices TrueType. Des programmes tels que Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, l'émulateur Super Nintendo, Bochs, etc. ont été portés sur ToaruOS.

Le projet développe également son propre langage de programmation dynamique, Kuroko, conçu pour remplacer Python lors du développement d'utilitaires et d'applications personnalisées pour le système. Le langage rappelle Python dans sa syntaxe (positionné comme un dialecte abrégé de Python avec une définition explicite des variables) et a une implémentation très compacte. La compilation et l'interprétation du bytecode sont prises en charge. L'interpréteur de bytecode fournit un garbage collector et prend en charge le multithreading sans utiliser de verrouillage global. Le compilateur et l'interpréteur peuvent être compilés sous la forme d'une petite bibliothèque partagée (~ 500 Ko), intégrée à d'autres programmes et extensible via l'API C. En plus de ToaruOS, le langage peut être utilisé sous Linux, macOS, Windows et exécuté dans les navigateurs prenant en charge WebAssembly.

Dans la nouvelle version :

  • Ajout de la prise en charge initiale de l'architecture AArch64 (ARMv8), y compris la possibilité expérimentale d'utiliser ToaruOS sur la carte Raspberry Pi 400 et dans l'émulateur QEMU.
  • Le traitement et la transmission des signaux aux processus dans l'espace utilisateur ont été repensés. Implémentation des appels sigaction, sigprocmask, sigwait et sigsuspend.
  • Gestion améliorée de la mémoire dans l'espace utilisateur. Ajout de l'appel système munmap.
  • Le gestionnaire composite implémente un effet de flou et retravaille la gestion des événements lorsque la taille de la fenêtre est modifiée.
  • Le rendu du terminal a été amélioré, le rendu paresseux a été implémenté et un cache de glyphes a été ajouté pour les polices TrueType.
  • Les capacités du compositeur ont été étendues.
  • Des mécanismes de réglage de l'horloge ont été ajoutés, notamment l'appel système settimeofday et les capacités étendues de l'utilitaire de date.
  • Pile réseau améliorée. L'utilitaire ifconfig a ajouté la prise en charge de la définition des adresses IPv4 et des paramètres de routage. Activation du fonctionnement des sockets ICMP. Ajout de la prise en charge de la fonction recvfrom pour les sockets UDP et ICMP.
  • Le chargeur de démarrage a ajouté la possibilité de travailler avec des claviers USB.
  • Un élément permettant de supprimer des fichiers a été ajouté au menu contextuel du gestionnaire de fichiers.
  • Affichage amélioré des graphiques dans le moniteur système.
  • Ajout de l'utilitaire grep avec prise en charge des expressions régulières.
  • Sortie de commande ps améliorée (ajout de colonnes supplémentaires).

Sortie du système d'exploitation ToaruOS 2.1


Source: opennet.ru

Ajouter un commentaire