Minoca OS: nouveau système d'exploitation gratuit
Deux courageux développeurs, Ivan Green et Chris Stevens, ont décidé de faire preuve d'audace. Ils ont écrit de toutes pièces un tout nouveau système d' exploitation Minoca OS et publié son code source sous la licence gratuite GNU GPL v3.Ce sont 625 000 lignes de code bien documentées , principalement dans le langage de programmation C, en partie en C ++ et Assembler. La taille du noyau du système d'exploitation x86 est d'environ 750 Ko. Avec des pilotes, une pile réseau et un tampon vidéo, un système fraîchement chargé utilise 5 à 7 Mo de RAM.La plupart des systèmes d'exploitation populaires d'aujourd'hui sont nés au mieux à la fin des années 80 ou au début des années 90. Au cours de ces années, le système d'exploitation fonctionnait sur un matériel complètement différent de celui d'aujourd'hui. Par conséquent, l'approche du développement du noyau était quelque peu différente. Selon les créateurs de Minoca OS, cette approche est désormais dépassée, de sorte que vous pouvez obtenir une augmentation significative de l'efficacité du système d'exploitation si vous le réécrivez à partir de zéro.Actuellement, les appareils avec OS intégrés ont des exigences complètement différentes pour la gestion de l'alimentation, la sécurité, la maintenance et la virtualisation. Les anciens systèmes de type UNIX ont été modernisés pour répondre aux nouvelles exigences, mais en conséquence, leur code a été gonflé et a perdu son ancienne beauté et sa cohérence. Partant de zéro, Minoca OS cherche à se débarrasser de son héritage aggravant.Minoca OS est un système d'exploitation à usage général qui peut être utilisé n'importe où. Vraisemblablement, il est mieux adapté aux systèmes embarqués et aux appareils mobiles, où il existe des restrictions sur la consommation d'énergie, la mémoire et la puissance du processeur.
Domaines présumés d'utilisation de Minoca OS Lesdéveloppeurs affirment qu'ils visaient à créer un système d'exploitation économique, modulaire et facile à entretenir. Il est compatible avec l'ensemble standard d'interfaces POSIX. Cela signifie que vous pouvez y exécuter de nombreuses applications fonctionnant sous Linux.Une innovation importante est l'interface spéciale entre les pilotes de périphériques et le noyau du système d'exploitation. Ce modèle permet d'écrire des pilotes «anticipant» les futures versions du noyau. En d'autres termes, le noyau peut être mis à jour complètement inaperçu, sans recompiler les pilotes.
Il n'est pas encore clair dans quels appareils il est préférable d'utiliser le nouveau système d'exploitation gratuit. En théorie, il devrait s'agir de périphériques aux ressources limitées (mémoire, CPU), mais qui nécessitent en même temps des fonctionnalités avancées de haut niveau: multithreading, pile réseau, prise en charge des systèmes de fichiers. Il est proposé aux développeurs de tels systèmes d'essayer Minoca OS - et d'oublier les difficultés d'adaptation des logiciels à des équipements spécifiques. Il ne sera pas nécessaire de bricoler avec les bogues spécifiques d'un système intégré unique si le noyau est mis à jour dans un système d'exploitation universel avec la publication de nouveaux correctifs.
Minoca OS possède des fonctionnalités de débogage avancées. Cela se fait via le firmware, le noyau ou les applications. De plus, le débogueur intégré Minoca Debugger surveille l'exécution du programme et l'utilisation de la mémoire en temps réel. Il montre en détail à quoi les ressources sont spécifiquement consacrées.
Débogueur Minoca OS
Minoca OS fonctionne sur les architectures x86, ARMv6, ARMv7 avec prise en charge de la mémoire virtuelle et plusieurs mégaoctets de RAM. Le système d'exploitation évolue bien et fonctionne donc bien sur les ordinateurs personnels avec un grand nombre de cœurs de processeur et de gigaoctets de RAM. Les pilotes de nombreux périphériques standardsont inclus .Quelle est la différence entre les différentes distributions Linux et pourquoi avez-vous eu besoin de créer un système d'exploitation complètement nouveau, en quoi diffère-t-il de ces distributions? Les développeurs sont responsableset à cette question. Selon Ivan Green, du côté de l'application ou de l'utilisateur, ils ont essayé de rendre le système d'exploitation aussi similaire que possible aux distributions de serveurs Linux populaires. L'objectif est de porter autant d'applications que possible sur Minoca OS. Mais la différence conceptuelle la plus sérieuse se situe au niveau du noyau, où les développeurs ont essayé d'appliquer des solutions alternatives en termes de philosophie de conception et d'architecture. Ce sont des décisions vraiment importantes, mais elles ne sont pas directement visibles par l'utilisateur, mais se manifestent par une consommation d'énergie réduite, une meilleure réactivité (c'est-à-dire des performances plus rapides), une mémoire plus libre, des mises à jour discrètes du noyau, etc. Malgré une meilleure réactivité par rapport à Linux, le système d'exploitation Minoca ne peut pas être appelé un système d'exploitation en temps réel.Références:- Code source Github
- Images pour Raspberry Pi 2, Raspberry Pi, BeagleBone Black, Asus C201, PandaBoard, x86 PC, x86 PC (UEFI), Galileo
- Minoca OS Starter Pack , qui peut être exécuté dans l'émulateur Qemu (le kit comprend l'image de démarrage x86 Minoca OS, Minoca Debugger, l'émulateur Qemu, Win32 Disk Imager et tous les binaires x86)
- Packages et instructions de construction compatibles , y compris Python, Ruby, Git, Lua et Node.
- La documentation
Source: https://habr.com/ru/post/fr398745/
All Articles