| Liste Articles: [0-A] [A-C] [C-F] [F-J] [J-M] [M-P] [P-S] [S-Z] | Liste Catégories | Une page au hasard | Pages liées | ||||||
KOS (Kid Operating System) est un projet de développement d'un système d'exploitation à but éducatif sous licence GNU GPL. Il fonctionne sur architecture
x86.
Le projet débuta en juin 1998, à l'initiative de jeunes programmeurs lycéens. Ceux-ci souhaitaient appronfondir leurs connaissances en programmation en développant eux-mêmes un petit système d'exploitation. L'inexpérience joua un grand rôle dans l'avancée du développement, qui fut relativement lent au départ. L'équipe de développement a compté jusqu'à une dizaine de personnes actives. À l'heure actuelle, l'équipe se réduit à 3 développeurs actifs.
| Sommaire |
Un historique plus complet est disponible sur le site du projet .
L'objectif du projet n'est pas d'obtenir le plus rapidement possible un système d'exploitation fonctionnel et censé rivaliser avec d'autres systèmes libres ou propriétaires. L'objectif est purement éducatif et pédagogique. Pour les développeurs, ce projet est l'occasion d'apprendre la programmation bas-niveau, de comprendre le fonctionnement interne d'un système d'exploitation et de l'architecture d'un ordinateur, d'apprendre à travailler en groupe et à utiliser les outils de travail collaboratif. Pour les autres, le projet KOS apporte des documents, une bibliographie et un code source disponible sous licence GPL.
Le système d'exploitation KOS présente quelques particularités par rapport à d'autres systèmes tels que GNU/Linux par exemple.
Tout d'abord, c'est un système modulaire : l'ensemble du noyau est décomposé en modules, qui sont reliés ensemble au démarrage du système. Il ne s'agit pas d'un système à micro-noyau, mais bien d'un système monolithique. Toutefois, l'approche modulaire permet de séparer proprement les parties portables et non portables du système, et de s'assurer de la clarté des interfaces entre les différents modules.
Par ailleurs, KOS tente de mettre en place un système original d'accès aux ressources de l'ordinateur et du système. L'approche traditionnelle d'Unix, disposant d'une interface unique d'accès pour les ressources, toutes considérées comme des fichiers, semblait trop restrictive aux yeux des développeurs. Ceux-ci souhaitaient tenir compte de la disparité réelle des ressources gérées par un système d'exploitation : fichiers, cartes son, cartes graphiques, périphériques divers, sockets ... Pour cela, ils tentent de mettre en place une architecture nommée Karm (pour Kos Abstract Resource Management), permettant d'accéder à chaque ressource par diverses interfaces, en fonction des spécifités de celle-ci.
D'un point de vue de la gestion mémoire, KOS expérimente quelques caractéristiques originales telles que l'absence d'identity mapping ou l'utilisation de reverse mapping.


