Vous êtes sur la page 1sur 10

CHAPITRE 3 : NOTIONS DE SYSTÈME D’EXPLOITATION

3.0 OBJECTIFS SPECIFIQUES


À la fin de ce chapitre, l’étudiant(e) doit être capable de :

1. Comprendre un système d’exploitation : ses principales fonctions, ses caractéristiques,


sa structure interne et sa structure externe ;
2. Utiliser le mode terminal et expliquer les notions de processus, fichiers et appels
systèmes ;

3.1 DEFINITIONS ET FONCTIONS


Le système d'exploitation (SE) ou Operating System (OS) est l’ensemble de programmes
permettant à l’utilisateur d’exploiter les ressources matérielles de l'ordinateur. C’est le
programme fondamental des programmes systèmes.

 Il offre à l’utilisateur une interface homme-machine simplifiée lui permettant de


s’affranchir de la complexité de la machine physique.
 Il assure la liaison entre les ressources matérielles (Hardware), les applications
(Software) et l’utilisateur.
 Il contrôle les ressources de l'ordinateur et fournit la base sur laquelle seront construits
les programmes d'application.
 Il assure le démarrage de l'ordinateur et fournit aux programmes applicatifs des
interfaces standardisées pour l’accès aux périphériques.
Des définitions d’un S.E, nous tirons les trois fonctions principales suivantes :
1. Chargement des programmes ;
2. Offrir une présentation agréable et plus simple des fichiers à l’utilisateur en transformant
la machine physique en une machine virtuelle ;
3. Gestion des ressources matérielles (processeurs, mémoires, périphériques d’entrée et
de sortie, réseaux) en permettant leur allocation et leur partage.

Les systèmes d'exploitation les plus répandus dans le secteur informatique sont :

- HarmonyOS de la société Chinoise Huawei (pour les PC et téléphones) ;


- Aurora OS de la société Russe Rostelecom (pour les téléphones) ;
- Linux (pour les PC et les serveurs) et Unix (pour les serveurs).
- Windows OS de la société Américaine Microsoft (pour les PC), Windows Phone ;
- Mac OS de la société Américaine Apple (pour les ordinateurs d'Apple), iOS
- Android de la société Américaine GOOGLE (pour téléphones) ;
- Symbian OS de la société Britanique Symbian Ltd (pour téléphones) ; etc.

3.1.1 CHARGEMENT DES PROGRAMMES


Les premiers micro-ordinateurs étaient fournis sans système d'exploitation. Les tous premiers
micro-ordinateurs n'avaient qu'un seul programme : un interpréteur du langage BASIC qui était
contenu en mémoire ROM. Lors de l'apparition des lecteurs de disquettes, une disquette
exécutable contenant le programme était placée dans ce lecteur. Et il fallait éventuellement
ensuite remplacer cette disquette par une disquette de données, sinon l'interpréteur BASIC
reprenait son exécution. De plus chaque changement de programme exigeait le redémarrage
du microordinateur avec la disquette du programme désiré dans le lecteur de disquettes.

Les micro-ordinateurs furent ensuite, en option, fournis avec un système d'exploitation. Celui-ci,
contenu sur disquette ou en mémoire RAM, affichait une invite à l'écran. On pouvait alors
remplacer la disquette système de démarrage par une disquette contenant le programme désiré
: en écrivant le nom du programme sur la ligne de commande et en appuyant sur la touche

Page 1 sur 10
Retour, le programme était chargé et exécuté. À la fin de l'exécution de ce programme, on
pouvait charger un nouveau programme, sans devoir redémarrer le système.
Par exemple, ceci permet d'écrire un texte avec un traitement de texte puis d'appeler un autre
programme pour l'imprimer.

3.1.2 SYSTÈME D’EXPLOITATION EN TANT QUE MACHINE VIRTUELLE

La gestion d'un système informatique donné se fait a priori en langage machine. Cependant
ceci est primaire et lourd à gérer pour la plupart des ordinateurs, et peu de programmes
seraient développés si chaque programmeur devait connaître le fonctionnement, par exemple,
de tel ou tel disque dur et toutes les erreurs qui peuvent apparaître lors de la lecture d'un bloc. Il
a donc fallu trouver un moyen de libérer les programmeurs de la complexité du matériel. Cela
consiste à enrober le matériel avec une couche de logiciel qui gère l'ensemble du système. Il
faut présenter au programmeur une API (Application Programming interface, interface de
programmation d'application), ce qui correspond à une machine virtuelle plus facile à
comprendre et à programmer.

La plupart des programmeurs ne veulent pas se soucier de la programmation des disques durs.
Ils veulent une abstraction simple de haut niveau. La partie machine virtuelle des systèmes
d'exploitation soustrait le matériel au regard du programmeur et offre une vue simple et
agréable de fichiers nommés qui peuvent être lus et écrits.

3.1.3 GESTION DES RESSOURCES

Les ordinateurs modernes se composent de processeurs, de mémoires, d'horloges, de disques,


de moniteurs, d'interfaces réseau, d'imprimantes, et d'autres périphériques qui peuvent être
utilisés par plusieurs utilisateurs en même temps. Le travail du système d'exploitation consiste à
ordonner et contrôler l'allocation des processeurs, des mémoires et des périphériques entre les
différents programmes qui y font appel.

3.2 CARACTERISTIQUES D’UN O.S. : MULTI-TÂCHES ET MULTI-UTILISATEURS

Selon les services rendus, on peut caractériser les systèmes d’exploitation en :

1. Systèmes mono tâches et systèmes multitâches


Système mono-tâche n’autorise l’allocation du processeur que pour une seule tâche (task).
Quand le SE commence l’exécution d’une tache, il le termine avant de passer à la tâche
suivante. Si non le système se bloque. Système multitâche qui peut exécuter plusieurs tâches «
processus » simultanément. Un processus étant une instance de programme en train de
s'exécuter.

2. Systèmes mono-utilisateurs et multi-utilisateurs


Système mono-utilisateur ne peut gérer qu’un seul utilisateur (ex : le système MS-DOS,
premières versions de Mac OS et de Windows. Multi-utilisateur qui peut gérer de façon presque
indépendante des applications appartenant à un panel d'utilisateurs utilisant simultanément les
mêmes ressources matérielles.
Exemple : Windows NT, Linux depuis 1992, Tous les SE des gros ordinateurs (mains frames).

Nota : Un système multi-utilisateur est nécessairement multi-tâches mais la réciproque est


fausse.
Exemple, le système d'exploitation MS-DOS est mono-utilisateur et mono-tâche ; les systèmes
MacOS 6.1 et Windows 3.1 sont mono-utilisateurs mais multi-tâches ; Unix et Windows NT sont
multiutilisateurs.

Page 2 sur 10
Utilisateurs. Dans un système multi-utilisateur, chaque utilisateur possède un espace privé sur
la machine. Généralement, il possède un certain quota de l'espace disque pour enregistrer ses
fichiers. Le système d'exploitation doit assurer que la partie privée de l'espace d'un utilisateur
ne puisse être visible que par son propriétaire.
Il doit, en particulier, assurer qu'aucun utilisateur ne puisse utiliser une application du système
dans le but de violer l'espace privé d'un autre utilisateur.
Chaque utilisateur est identifié par un numéro unique, appelé l'identifiant de l'utilisateur, ou UID
(User IDentifier). En général, seul un nombre limité de personnes est autorisé à utiliser un
système informatique. Lorsque l'un de ces utilisateurs commence une session de travail, le
système d'exploitation lui demande un nom d'utilisateur et un mot de passe. Si l'utilisateur ne
répond pas par des informations valides, l'accès lui est refusé.

L’administrateur. Un système d'exploitation multi-utilisateurs prévoit un utilisateur particulier


appelé super-utilisateur ou superviseur (root). L'administrateur du système doit se connecter en
tant que super-utilisateurs pour gérer les comptes des utilisateurs et réaliser les tâches de
maintenance telles que les sauvegardes et les mises à jour des programmes. Le super-
utilisateur peut faire pratiquement n'importe quoi dans la mesure où le système d'exploitation ne
lui applique jamais les mécanismes de protection, ceux-ci ne concernant que les autres
utilisateurs, appelés utilisateurs ordinaires. Le super-utilisateur peut, en particulier, accéder à
tous les fichiers du système et interférer sur l'activité de n'importe quel processus en cours
d'exécution. Il ne peut pas, en revanche, accéder aux ports d'entrée-sortie qui n'ont pas été
prévus par le noyau.

3.3 STRUCTURE EXTERNE D’UN SYSTÈME D’EXPLOITATION


3.3.1 NOYAU ET UTILITAIRES

Le SE comporte un certain nombre de routines (sous-programme). Les plus importants


constituent le noyau (en anglais kernel). Ce dernier représente les fonctions fondamentales du
système d'exploitation. La gestion de la mémoire, la gestion des processus (ou tâches) , la
gestion des fichiers, la gestion des périphériques d’entrées-sorties. Il est le chargeur du
système d’exploitation et l’interpréteur de commande. C’est l’ensemble de code qui gère les
fonctionnalités du système : interfaces avec le matériel, démarrage et arrêt, exécution des
programmes, gestion des privilèges des utilisateurs, fournit les services aux programmes
utilisateurs et s’exécute en mode superviseur. Les autres routines, moins critiques, sont
appelées des utilitaires. Un utilitaire est donc un ensemble de programmes qui permettent le
fonctionnement du système : services réseau, accès aux fichiers, etc.

Page 3 sur 10
Source : Stephen Cognetta, comment créer un système d’exploitation, consulté sur le site
www.wikihow.com le 10/10/2023
3.3.2 GESTIONNAIRE DE TÂCHES

Sur un système à temps partagé, l'une des parties les plus importantes du système
d'exploitation est le gestionnaire de tâches (scheduler) ou ordonnanceur. Sur un système à un
seul processeur, il divise le temps en laps de temps (en anglais slices, tranches).
Périodiquement, le gestionnaire de tâches décide d'interrompre le processus en cours et de
démarrer (ou reprendre) l'exécution d'un autre, soit parce que le premier a épuisé son temps
d'allocation du processus soit qu'il est bloqué (en attente d'une donnée d'un des périphériques).

3.3.3 GESTIONNAIRE DE MEMOIRE

La gestion de la mémoire est du ressort du gestionnaire de mémoire. Celui-ci doit connaître les
parties libres et les parties occupées de la mémoire, allouer de la mémoire aux processus qui
en ont besoin, récupérer la mémoire utilisée par un processus lorsque celui-ci se termine et
traiter le va-et-vient (swapping, ou pagination) entre le disque et la mémoire principale lorsque
cette dernière ne peut pas contenir tous les processus.

3.3.4 GESTIONNAIRE DE FICHIERS

Une des taches fondamentales du système d'exploitation est de masquer les spécificités des
disques et des autres périphériques d'entrée-sortie et d'offrir au programmeur un modèle
agréable et facile d'emploi. Ceci se fait à travers la notion de fichier. Ainsi, le système de
fichiers (FS, « file system »), permet d'enregistrer les fichiers dans une arborescence.

3.3.5 GESTIONNAIRE DE PERIPHERIQUES

Le contrôle des périphériques d'entrée-sortie (E/S) de l'ordinateur est l'une des fonctions
primordiales d'un système d'exploitation. Ce dernier doit envoyer les commandes aux
périphériques, intercepter les interruptions, et traiter les erreurs. Il doit aussi fournir une
interface simple et facile d'emploi entre les périphériques et le reste du système qui doit être,
dans la mesure du possible, la même pour tous les périphériques, c'est-à-dire indépendante du
périphérique utilisé. Le code des entrées-sorties représente une part importante de l'ensemble
d'un système d'exploitation.

De nombreux systèmes d'exploitation offrent un niveau d'abstraction qui permet aux utilisateurs
de réaliser des entrées-sorties sans entrer dans le détail du matériel. Ce niveau d'abstraction
fait apparaître chaque périphérique comme un fichier spécial.

3.3.6 CHARGEUR DU SYSTÈME D’EXPLOITATION

Lorsque qu'ordinateur est mis sous tension, il exécute un logiciel appelé BIOS (pour Basic Input
Output System) placé à une adresse bien déterminée et contenu en mémoire RAM. Ce logiciel
initialise les périphériques, charge un secteur d'un disque, et exécute ce qui y est placé. Lors de
la conception d'un système d'exploitation, on place sur ce secteur le chargeur du système
d'exploitation ou, plus exactement, le chargeur du chargeur du système d'exploitation (ou pré-
chargeur) puisque le contenu d'un secteur est insuffisant pour le chargeur lui-même.

La conception du chargeur et du pré-chargeur est indispensable, même si ceux-ci ne font pas


explicitement partie du système d'exploitation.

3.3.7 INTERPRETEUR DE COMMANDES

Page 4 sur 10
Le système d'exploitation proprement dit est le code qui permet de définir les appels système.
Les Outils de développement tels que les compilateurs, assembleur, éditeur de liens,
débuggeurs, fichiers d’entête, les interpréteurs de commandes, les éditeurs de liens et
bibliothèques nécessaires pour le développement et la mise au point des logiciels pour ce
système ne font pas partie du système d'exploitation. Cependant l'interpréteur de commandes
(shell ) est souvent considéré comme en faisant partie. Sous sa forme la plus rudimentaire,
l'interpréteur de commandes exécute une boucle infinie qui affiche une invite, montrant par-là
que l'on attend quelque chose. Il lit le nom du programme saisi par l'utilisateur à ce moment-là
et l'exécute.

Ci-haut a été examiné la structure d’un système d'exploitation de l'extérieur, du point de vue de
l'interface présentée à l'utilisateur et au programmeur. À présent, nous allons examiner son
fonctionnement interne.

3.4 STRUCTURE INTERNE D’UN SYSTÈME D’EXPLOITATION

Afin de s’adapter aux exigences des applications et des utilisateurs, l’architecture des SE
évolue beaucoup et vite.

1) Systèmes monolithiques constituent une couche logicielle entre les applications et le


matériel. Il fonctionne sur deux espaces. L’espace noyau : constitué des programmes
qui fournissent des services aux applications. Et l’espace utilisateur : contenant
applications et données (schéma à gauche : vue en couche d’un SE monolithique).
Exemple : les premières versions d’Unix, MS-DOS.
2) Systèmes à micronoyau ou modèle client-serveur. Ici tous les appels systèmes ou
presque sont des processus client. Le noyau gère la communication entre les processus
clients et le processus serveur (schéma à droite).

Couches d’un SE
3) Structure en couches. Chaque couche n’est en communication ou n’utilise que les
fonctionnalités de la couche inférieure.
Couche 5 programmes utilisateurs
Couche 4 bufferisation pour les périphériques d’entrée/sortie
Couche 3 driver pour la console de l’opérateur
Couche 2 gestion mémoire
Couche 1 scheduling de l’UC
Couche 0 matériel

Dans la structure en couches, il est difficile de déterminer les diverses couches qui vont
composer le système de manière adéquate. Et l’Implémentation est moins performante. Pour
faire un appel E/S (accès au matériel) il est nécessaire de faire appel à toutes les couches.
Chaque couche ajoute une surcharge à l’appel initial.

SELON LEUR ARCHITECTURE

Page 5 sur 10
1. Systèmes centralisés :
L'ensemble du système est entièrement présent sur la machine considérée. Les autres
machines qui lui reliées sont vues comme des entités étrangères disposant elles aussi d'un
système centralisé. Ainsi, le système ne gère que les ressources de la machine sur laquelle
il est présent.
Exemple : UNIX, même si les applications réseaux (X11, FTP, Mail ...) se sont
développées.

2. Systèmes répartis (distributed systems) :


Les différentes abstractions du système sont réparties sur un ensemble (domaine) de
machines (site) en utilisant un réseau. Le système d'exploitation réparti apparaît aux yeux
de ses utilisateurs comme une machine virtuelle, monoprocesseur même lorsque cela n'est
pas le cas. L'utilisateur n'a pas à se soucier de la localisation des ressources.
Quand il lance un programme, ce système exploite au mieux les capacités de parallélisme
d'un domaine et offre des solutions aux problèmes de la résistance aux pannes.
Ex : des systèmes de contrôle des trafics aériens, des systèmes bancaires , des systèmes
Peer to Peer, des grilles de calculs, du WEB, le Cloud (informatique en nuage), etc.
SELON LEUR CAPACITÉ À ÉVOLUER

1. Système fermé (ou propriétaire)


Système avec extensibilité réduite. Pour rajouter des fonctionnalités à un système fermé, il
faut remettre en cause sa conception et refaire une archive (système complet). Il y a peu ou
pas d'échange possible avec d'autres systèmes.
Exemple : UNIX et MS-DOS

2. Système ouvert
Système avec extensibilité accrue. Possibilité de rajouter des fonctionnalités et des
abstractions sans avoir à repenser le système et même sans avoir à l'arrêter sur une
machine.
Il implique souvent une conception modulaire basée sur le modèle « client-serveur » et la
communication entre systèmes, nécessitant des modules spécialisés.

SELON L'ARCHITECTURE MATÉRIELLE

1. Architecture monoprocesseur (temps partagé ou multiprogrammation) :


Ressource processeur unique. Une commutation rapide entre les différents processus pour
donner l'illusion d'un parallélisme (pseudo) parallélisme à l'utilisateur : c'est la
multiprogrammation.
2. Systèmes multiprocesseurs
Le multiprocessing permet de faire fonctionner plusieurs processeurs en parallèle. Il doit
être capable de gérer le partage de la mémoire entre plusieurs processeurs mais
également de distribuer la charge de travail. Ceci afin d'obtenir une puissance de calcul
plus importante que celle obtenue avec un processeur haut de gamme ou bien afin
d'augmenter la disponibilité du système (en cas de panne d'un processeur). On rencontre
une variété d'architectures multiprocesseurs.

Attention : Il n'y a pas de système universel pour cette multitude d'architectures. Les
constructeurs de supercalculateurs ont toujours développé leurs propres systèmes.

SYSTÈMES EMBARQUÉS ET SYSTÈMES TEMPS RÉEL

1. Systèmes embarqués
Les systèmes embarqués sont des SE prévus pour fonctionner sur des machines de petite
taille, telles que des PDA (Personal Digital Assistants) ou des appareils électroniques

Page 6 sur 10
autonomes (sondes spatiales, robot, ordinateur de bord de véhicule, etc.), possédant une
autonomie réduite. Ils ont donc une gestion avancée de l'énergie et leur capacité à
fonctionner avec des ressources limitées.
Exemple: Windows CE, Windows Mobile, Windows Smartphone, iOS, Symbian OS, Black
Berry OS, Android OS, ESP (Electronics Stability Program) dans les voitures.

2. Systèmes temps réel (Real Time Operating System, RTOS). Ce sont des SE pour
lesquels l'exécution des programmes est soumise à des contraintes temporelles même
dans le pire de cas.
Les résultats de l'exécution d'un programme n'est plus valide au-delà d'un certain temps
connu et déterminé à l'avance. Généralement, on les trouve dans les systèmes embarqués.
Ils contrôlent les processus industriels (centrales nucléaires, usines chimiques, etc.), la
supervision médicale, le système d’assistance au pilotage,...
Exemples : OS-9 ; RTLinux (RealTime Linux) ; QNX ; VxWorks

Lorsque le système d'exploitation envoie un signal à un processus, ce signal provoque la


suspension temporaire du travail en cours, la sauvegarde des registres dans la pile et
l'exécution d'une procédure particulière de traitement du signal reçu. À la fin de la procédure de
traitement du signal, le processus est redémarré dans l'état où il se trouvait juste avant la
réception du signal.

3.5 UTILISATION DU MODE TERMINAL

Un terminal est une application permettant de dialoguer avec son ordinateur via l'écriture de
lignes de commande. Il est important de comprendre le terminal parce que :

1. Certaines commandes ne fonctionnent qu’en “mode terminal” et sont très utilisées en


langage de programmation en mode texte.

2. Ces anciennes commandes qui reprennent les principaux appels système qui
concernent les fichiers, sont parfois encore utiles :

- Pour la partition et le formatage des disques,


- Pour la configuration d’un réseau,
- Pour automatiser des tâches répétitives,
- Pour créer des scripts de commandes fichiers.

L'interface entre le système d'exploitation et les programmes de l'utilisateur est


constituée d'un ensemble d’instructions étendues fournies par le système d'exploitation,
qualifiées d'appels système. Les appels système créent, détruisent et utilisent divers
objets logiciels gérés par le système d'exploitation, dont les plus importants sont les
processus et les fichiers.

3. Il sert de complément au SE muni d’interface graphique.


4. En cas de gros problèmes, elles permettent parfois de se dépanner en lançant l'outil de
restauration du système ou de démarrer une machine lorsque l’interface graphique ne
démarre pas ou d’installer un SE.

3.5.1 ORGANISATION DES DONNÉES : FICHIER et REPERTOIRE (ou DOSSIER)

Fichier (Définition et attributs)

Le fichier est l’unité de base de stockage de l’information. Tout fichier est repéré par un nom
composé de deux parties séparées par un point : nom et extension (suffixe).
Le nom est soumis à des restrictions :
 Il est formé de 8 caractères au maximum (imposé par le système de fichier FAT).
Page 7 sur 10
 Il ne doit pas contenir espace, virgule, barre oblique (antislash) et point.
 Il ne doit pas appartenir à la liste des mots réservés.

L’extension fournit habituellement une information sur la nature du fichier. Sa longueur


maximale est de 3 caractères. Le système MS-DOS impose les extensions suivantes :

.SYS : fichier système réservé au DOS, configuration périphérique.


.EXE : fichier exécutable issu d’un langage de programmation (compilé).
.COM : fichier de commande exécutable.
.BAT : fichier de commande et ensemble de lignes de commande. Il sert à exécuter une suite
de commande MS-DOS les unes après les autres de façon automatique.
.BAK: fichier de sauvegarde
Un fichier, sous MS-DOS est doté de 4 attributs : a (archive) utilisé pour les commandes de
sauvegarde (backup, restore, xcopy), r (read only) lecture seule. S (attribut système) utilisé
pour les fichiers systèmes. h : (hidden) fichier caché.

Répertoire (ou Dossier)

Les répertoires ou dossiers (appellation sous Windows) qui servent à ranger et à organiser les
fichiers sous la forme d’une arborescence. Cette structuration (organisation) facilite la recherche
des fichiers. Les fichiers relatifs à un même sujet appartiennent généralement à un même
répertoire.
MS-DOS indique le nom du répertoire courant dans l’invite de commande (prompt). Il est celui
avec lequel on travaille à un moment donné.
Le répertoire racine (ROOT) est le répertoire à partir duquel tous les autres répertoires se
créent. On ne peut pas le supprimer. Lorsque le répertoire courant est la racine, l’invite de
commande de MS-DOS est semblable au suivant : C :\>
Répertoire courant : C: :\users\ MULOBO>

3.5.2 BREVE PRESENTATION DU TERMINAL LINUX

LINUX autrefois Unix, est un système d’exploitation multi-utilisateurs, multitâche, écrit à 99% en
langage C, constitué du noyau Unix, d’un interpréteur de commandes et d’un grand nombre
d’utilitaires. Le noyau assure la gestion des ressources physiques (processeur, mémoires,
périphériques) et logicielles (processus, fichiers…). L’interface entre les programmes des
utilisateurs et le noyau est défini par un ensemble de procédures et de fonctions, soit
directement au niveau du noyau, soit par l’intermédiaire de bibliothèques. Pour ce qui concerne
l’architecture du noyau proprement dit, les éléments caractéristiques sont les suivants :
Le noyau est constitué d’un ensemble de procédures et de fonctions écrites pour l’essentiel en
langage C

La structure du noyau est monolithique et la notion de couche, contrairement à d’autres


systèmes, n’existe pas.
Comme c’est le cas avec tout système d’exploitation, l’utilisateur d’Unix n’accède pas
directement au noyau mais à un interpréteur de commandes : le shell.
Le système de fichiers est un système hiérarchisé arborescent. Il se retrouve sur beaucoup
d’autres systèmes d’exploitation (GCOS, DOS, VMS…). Les entrées–sorties sont généralisées.
Les périphériques sont considérés, du point de vue de l’utilisateur, comme des fichiers.

3.6 COMMENT CRÉER UN SYSTÈME D’EXPLOITATION POUR ORDINATEUR ?

3.6.1 APPRENDRE LES BASES

1. Prendre des cours de programmation informatique : Comprendre des concepts


d'algorithmes, de structures de données et de gestion de ressources matérielles.

Page 8 sur 10
2. Apprendre les langages de haut niveau comme C, C++, Python, Pascal, Rust, Go, Perl:
débutant, principes fondamentaux, programmation modulaire, gestion de mémoire,
pointeurs et gestion de mémoire.
3. Apprendre un langage d’assemblage pour maitriser les microprocesseurs (Intel, AMD,
VIA).
4. Suivre des tutoriels sur les systèmes d’exploitation : structure, noyau, …
5. Définir ce que fera ce système d’exploitation.
3.6.2 CONSTRUIRE SON SYSTÈME D'EXPLOITATION

5. Choisir un environnement de développement : installer un environnement de type Unix


comme Cygwin ou MinGW.
6. Mettre en place un système de contrôle de versions : CVS, Mercurial et Subversion.
7. Choisir un chargeur d'amorçage : GRUB ; ou créer un propre chargeur d'amorçage en
consultant le site OSDev.org.
8. Opter pour la conception d'un noyau : monolithique ou micronoyaux.
9. Débuter le développement avec de petites tâches simples, comme celles gérant les
interruptions du système et l'affichage de texte avant de passer aux modes multitâches
et au verrouillage de la mémoire. Essayer aussi de construire un système d'exploitation
16 bits plutôt que la création d'un système d'architecture complexe de 32 ou 64 bits.
10. Tester le nouveau système dans une machine virtuelle : utiliser des applications comme
VMWare, Bochs, etc.
11. Lancer une préversion de publication ou Release candidate afin de permettre aux
usagers les plus avertis de tester le système d'exploitation et de rapporter toutes les
difficultés rencontrées lors de l’utilisation en temps réel.
12. Échanger les idées en réseau avec d'autres développeurs de systèmes sur des sites
telles que www.osdev.org, https://softwareengineering.stackexchange.com, …
13. Donner la priorité absolue à l'implémentation des caractéristiques de sécurité du
système d'exploitation.
14. Choisir comment le mettre à disposition du public : logiciel Open source ou propriétaire.

Source : Rémi Sharrock, Introduction aux systèmes d’exploitation consulté sur le site
www.wandida.com le 10/10/2023

Page 9 sur 10
Questions relatives au chapitre 3, Notions de système d’exploitation.

1. Operating System.
2. Quels sont les trois fonctions d’un système d’exploitation ?
3. Quels sont les liens entre les trois fonctions d’un Système d’exploitation et celles d’un
ordinateur ?
4. Expliquez la notion de « chargements de programme ».
5. Expliquez le concept de « système d’exploitation en tant que machine virtuelle ».
6. Expliquez en quoi consiste « le travail du système d’exploitation dans la gestion des
ressources ».
7. Donnez la définition des concepts suivants :
a) Système mono tâche.
b) Système multitâche.
c) Système mono-utilisateur.
d) Système multi-utilisateur.
e) Système centralisé.
f) Système propriétaire.
g) Système multiprocesseur.

8. Pourquoi est-il important de comprendre le terminal ?


9. Qu’est-ce qu’un « fichier » en informatique ?
10. Quelle est la conclusion la plus importante de cette présentation ?

Page 10 sur 10

Vous aimerez peut-être aussi