• Aucun résultat trouvé

L OS (Operating System) ou le système d exploitation

N/A
N/A
Protected

Academic year: 2022

Partager "L OS (Operating System) ou le système d exploitation"

Copied!
8
0
0

Texte intégral

(1)

Nom : . . . classe . . . . Prénom : . . . .

Cours Architectures matérielles, systèmes d’exploitation et réseaux

Système d’exploitation et processus

Table des matières

A L’OS (Operating System) ou le système d’exploitation 1

A.1 le BIOS . . . 1

A.2 le système d’exploitation ouOS(Operating System) . . . 1

A.3 le rôle de l’OS . . . 2

A.4 les couches d’un système d’exploitation . . . 2

B Les processus 3 B.1 Définition . . . 3

B.2 Ordonnance . . . 4

B.3 Quelques systèmes d’ordonnances les plus répandus . . . 5

C le principe d’Interblocage 8

A L’OS (Operating System) ou le système d’exploitation

A.1 le BIOS

La couche la plus basse est le BIOS (Basic Input Output System). C’est leBIOSqui est chargé en premier avant de passer le relais à d’autres programmes puis à l’OS lors du démarrage d’un or- dinateur. Il est responsable de la gestion matériel. Son programme est écrit sur une mémoire de type permanenteROM(i)(ReadOnly Memory) sur la carte mère. Cela signifie qu’il est uniquement ac- cessible en lecture et non pas en écriture. Si leBIOSest modifié, il est possible que l’utilisation d’un clavier ou l’affichage écran soit corrompu rendant l’ordinateur hors d’usage. Il doit cependant per-

mettre l’accès à de nouveaux périphériques. Il a une table de procédure permettant les appels divers aux périphériques mais ceux-ci sont ensuite gérés par des pilotes pour plus de flexibilité.

Ainsi leBIOSsait où se trouve l’OS et le charge lors de la mise sous tension avant de lui donner l’accès (ou pas) aux différentes interfaces. L’OSpeut utiliser les paramètres duBIOSpour gérer les interfaces ou passer par d’autres paramètres.

LeBIOSne fait pas partie du système d’exploitation mais en est à la racine.

A.2 le système d’exploitation ou OS (Operating System)

En plus duBIOS, le système est aussi caractérisé par le système propre à la machine. Il en existe de plusieurs types, chacun ayant des avantages et des inconvénients propres. En voici quelques un des plus connus.

Noyau du Système Type de machine Caractéristiques

DOS PC Simple, répandu, peu puissant car très basique.

UNIX Tous types multi-tâche, fiable, flexible

Window NT PC, stations multi-tâche

Windows PC très répandu, interface graphique

(i). En fait, leBIOSpeut aussi être écrit sur une mémoire de type EPPROM ou FlashEeprom qui peut être modifié sous condition.

(2)

A.3 le rôle de l’OS

Il n’est ici nullement question de présenter les différents OS (Operating System ou Système d’exploi- tation) ni de les comparer mais de présenter quelques unes de leurs principales fonctions.

Il est constitué de plusieurs couches dont unnoyauqui ont chacune un rôle différent, de la plus basse à la plus haute. Parmi les fonctions principales du système d’exploitation on peut citer :

l’Accès aux ressources matérielles: il gère l’accès aux ressources matérielles telle que les claviers, écrans, souris, imprimantes, liaison réseau etc. mais il gère aussi l’accès à la mémoire et aux pro- cesseurs.

l’Accès aux ressources Data: il permet aux différents utilisateurs ou programmes de travailler simultanément et ne permet l’accès à certaines ressources qu’aux utilisateurs autorisés.

l’Ordonnance : c’est la gestion du processeur. Il permet l’exécution des programmes et tâches demandées par le processeur. Son rôle est d’ordonner les appels et les sollicitations des différents programmes au processeur.

A.4 les couches d’un système d’exploitation

On distingue trois parties importantes :le matériel (ressource physique),l’OS (système d’exploita- tionetle logiciel (software)

. . . . . . . . . . . .

Micro

Processeur RAM Périphériques de stockage

Cartes réseaux

Interfaces

E/S Autres

Gestion des processus

Gestionnaire de mémoire

Système de fichiers

Protocoles réseaux Noyau

Bibliothèque de fonctions

Interface graphique Console

Applications

Pilotes

Au niveau utilisateur, on trouve les applications exécutées via l’interface graphique ou en mode com- mande. Les applications peuvent utiliser des bibliothèques de fonctions.

L’ensemble des processus est géré par le noyau. C’est l’élément central. Via le gestionnaire de proces- sus, il gère l’exécution du programme par le microprocesseur. Il gère aussi l’accès à la mémoire autant durant l’exécution que pour l’accès aux données selon les droits de l’utilisateur ou de l’application. Il permet aussi la communication via les cartes réseaux et diverses interfaces. Le noyau peut être com- posé de différents modules qui gèrent une partie différente et interagissent entre eux. On parle alors de noyau modulaire. Cela permet une meilleure gestion des données et une modularité accrue (type UNIX).

Chaque ressource physique est gérée par un pilote. Le noyau peut communiquer avec les périphé- riques via des gestionnaires de ressources qui tempèrent et régulent son accès ou directement via le pilote.

La partie principale qui nous intéresse ici est le gestionnaire de processus.

2

(3)

B Les processus

B.1 Définition

Un ordinateur peut recevoir en simultané plusieurs appels différents de différentes applications ou interfaces. Les tâches sont nombreuses et, dans le cas d’un serveur par exemple, plusieurs utilisateurs peuvent faire appel en même temps à la mémoire, à une ou des applications.

Exemple 1

Pour faire son devoir de NSI sur Python, Sven a ouvert Edupython. Il a aussi une fenêtre ouverte pour faire des recherches sur le Web. Son application de musique lui permet d’écouter une sélection de chansons en streaming. Il a lancé en parallèle une impression et tchat avec ses amis sur un jeu.

En dehors du fait que le devoir de NSI n’est pas prêt d’être terminé, laissant envisager une note peu glorieuse, on peut constater que l’accès à l’affichage écran est sollicité par plusieurs applica- tions comme Edupython ou le navigateur internet et que le microprocesseur doit faire les calculs nécessaires à l’interprétation du code html, du code python, de celui du jeu tout en transformant le document en données qui pourront être envoyées au pilote de l’imprimante pour impression. . .

Le microprocesseur est sollicité de multiples manières, par diverses applications.

Lesystème d’exploitationa pour rôle de faire en sorte que les différents processus soient menés à bien et qu’il n’y ait pas de conflits entre les différentes applications qui peuvent avoir besoin d’accéder aux mêmes données.

Définition 1

Un processus est un programme en cours d’exécution. c’est une suite d’instructions successives d’opérations de lecture, d’écriture de données.

Exemple 2

Instruction 1 Instruction 2 Instruction 3

. . . . . . . . . Instruction n-1

Instruction n Exemple de programme en assembleur : [Multiplier par 8]

0100 MOV BX, [0112] ; charge dans BX la donnee a l’adresse 0112 0103 MOV AX, 3 ; charge 3 dans AX (registre du processeur) 0106 SHL BX ; decale a gauche BX (registre du processeur) 0108 DEC AX ; decremente AX

0109 JNE 0106 ; jump a 0106 si valeur de AX not equal 0 010B MOV [0111], BX ; range le resultat a l’adresse indiquee 010E MOV AH, 4C ; fin de programme .exe

0110 INT 21H ; interruption 21H Fin de programme

0112 ; on range ici la donnee

En binaire, [multiplier par 8], c’est décaler les bits de . . . cran vers la . . . .

Le « numéro de la ligne » 0100, 0103 etc. est en fait l’adresse, donnéeen hexadécimal, où se situe l’instruction en langage machine. Une instruction peut se traduire en langage machine en une suite de quelques octets (souvent entre 1 et 4).

Ce programme simple est constituée d’une suite d’instructions. Chaque ligne fait appel au micro- processeur. On peut symboliser un programme par une pile d’instructions envoyées au micropro- cesseur. Plusieurs processus comportant un nombre d’instructions différentes peuvent solliciter le processeur. C’est lesystème d’exploitation OSqui a pour rôle d’organiser les appels au processeur.

Instruction 1 Instruction 2

. . . Instruction m-1

Instruction m

Processus 1

Instruction 1 Instruction 2

. . . . . . . . . . . . Instruction n-1

Instruction n Processus 2

Instruction 1 Instruction 2

. . . . . . Instruction o-1

Instruction o

Processus 3

. . .

(4)

B.2 Ordonnance

L’un des rôles important du système d’exploitation est de partager au mieux les ressources maté- rielles et donc l’accès au microprocesseur pour les différentes applications. Le cas des processeurs mul- ticœur étant particulier du fait de la gestion simultanée des appels (selon les OS, la répartition entre les différents cœur ne se fait pas de la même façon), on va étudier le cas simple d’un microprocesseur à cœur unique.

Activité 1

On est dans la configuration ci-dessous où 3 processus,et, sollicitent des calculs du micro- processeurs.

Instr1 Instr△2 Instr3 Instr4 Instr5 Processus

Instr1 Instr⃝2 Instr3 Processus

Instr1 Instr□2 Instr3 Instr4 Instr5 Instr□6 Instr7 Processus

Proposer, selon vous, 3 façons possibles pour ordonner et de répartir les appels au microproces- seurs.



Pour un même processus, il n’est pas possible d’effectuer les instructions dans le désordre. C’est- à-dire l’instruction4 ne peut être effectuée par le microprocesseur avant l’instruction2

Répartition du microprocesseur cas possible 1 :

Répartition du microprocesseur cas possible 2 :

Répartition du microprocesseur cas possible 3 :

Les objectifs des algorithmes d’ordonnancement sont multiples :

assurer que chaque application dispose d’un accès aux ressources (équité)

minimiser le temps de traitement d’un processus (optimisation temps)

éviter les blocages (processus qui se lance mais n’aboutit pas)

4

(5)

B.3 Quelques systèmes d’ordonnances les plus répandus

On va traiter du cas à 4 processus : Instr1

Instr2 Instr△3 Instr△4 Instr5

Processus

Instr1 Instr2 Instr⃝3 Instr⃝4 Instr5 Instr6 Instr⃝7 Instr⃝8 Processus

Instr1 Instr2 Instr□3

Processus

Instr51 Instr52 Instr53 Instr54

Processus5 a Algorithme du plus court d’abord ou SJF (Shortest Job First)

Cet algorithme d’ordonnancement effectue les instructions du processus dans l’ordre du plus court au plus long.

Quels sont les avantages et inconvénients selon vous ?

Définition 2

On parle de famine lorsqu’il y a une possibilité pour que certains processus n’aient pas accès aux ressources nécessaires pour être exécutés

b Algorithme du premier entré, premier sorti ou FIFO (First In, First Out)

Cet algorithme d’ordonnancement effectue les processus dans l’ordre dans lequel ils arrivent.

Premier cas : les processurs arrivent dans l’ordre△ → ⃝ → □ →5

Premier cas : les processurs arrivent dans l’ordre□ →5→ △ → ⃝

Que remarque-t-on dans ce cas-ci ?

Quels sont les avantages et inconvénients selon vous ?

(6)

Instr1 Instr2 Instr△3 Instr△4 Instr5

Processus

Instr1 Instr2 Instr⃝3 Instr⃝4 Instr5 Instr6 Instr⃝7 Instr⃝8 Processus

Instr1 Instr2 Instr□3

Processus

Instr51 Instr52 Instr53 Instr54

Processus5 c Algorithme du tourniquet ou round robin

On associe un quantum de temps (en ms ) et chaque processus est traité alternativement. Le quan- tum est mesuré en temps mais on va, par simplification, associer ce quantum au nombre d’instructions.

Exemple 3

Cas d’un quantum constitué de 3 instructions :

1

2

3

4

5

1

2

3

4

5

6

7

8

1

2

3 51

52 53 54

5

En faisant tourner le tourniquet permettant l’alternance des blocs

△1 △2 △3 ⃝1 ⃝2 ⃝3 □1 □2 □3 51 52 53 △4 △5 ⃝4 ⃝5 ⃝6 54 ⃝7 ⃝8 On peut représenter cette succession ainsi :

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

5

On rajoute à la suite de ce diagramme les processus suivants. Dans cette représentation on a noté le nombre d’instructions effectuées mais on peut aussi travailler en unité de temps (milliseconde).

Si on note les processus P(t,n) où t est le moment où il apparait et n le temps nécessaire pour être réalisé.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 P(0,5)

P(0,8) P(0,3) P(0,4) P(5,7) P(10,2)

6

(7)

Instr1 Instr2 Instr△3 Instr△4 Instr5

Processus

Instr1 Instr2 Instr⃝3 Instr⃝4 Instr5 Instr6 Instr⃝7 Instr⃝8 Processus

Instr1 Instr2 Instr□3

Processus

Instr51 Instr52 Instr53 Instr54

Processus5

Quelle sera la succession si on a un algorithme tourniquet avec un quantum de 1 instruction ?

Quelle sera la succession si on a un algorithme tourniquet avec un quantum de 2 instructions ?

Exercice 1

Compléter le tableau suivant indiquant au bout de combien d’instructions chaque processus se ter- mine :

Processus SJF FIFO

△ ⃝ □5

FIFO

⃝□△5

Tourniquet (q=3)

Tourniquet (q=1)

Tourniquet (q=2)

14

20

9

5 18

Quels sont les avantages et inconvénients selon vous ?

d Algorithme par priorité

Plus complexe, il attribue à chaque tâche une priorité qui est définie par l’OS et partage l’accès aux ressources matérielles et au microprocesseur selon ces priorités. La méthode est très équitable et vise à offrir un accès rapide à certaines tâches critiques importantes. Mais la définition de priorité des tâches doit être objective pour gagner en efficacité.

Remarque 1

D’autres algorithmes existent et reprennent parfois des mélanges des ces algorithmes.

Par exemple : associé un algorithme SJF et un algorithme de priorité. On augmente la priorité des processus qui sont depuis longtemps en file d’attente avec un facteur dépendant du temps d’attente mais aussi de la longueur du processus. Plus le processus attend, plus sa priorité augmente. Mais le facteur de priorité augmente dans une moindre mesure si le processus est court.

(8)

C le principe d’Interblocage

P1 P2

? Permettre d’alterner les processus afin que chacun soit traité équita-

blement et que certaines fonctions ne soient pas en « pause » trop long- temps est l’un des rôles essentiels d’un système d’exploitation et permet d’accélérer le traitement des différentes informations. Cependant, cer- tains processus peuvent avoir besoin de travailler sur les mêmes données (mise à jour de base de donnée de personnel, utilisation de ces mêmes données etc.)

Lorsque deux processus souhaitent accéder à la même donnée sur le disque dur, il y a plusieurs cas possibles

Les deux tâches ont uniquement besoin d’une lecture de la donnée. Il n’y a aucun conflit possible et les données sont lues conjointement.

Les deux tâches ont besoin d’un accès exclusif à une même donnée (pour modification-écriture par exemple)

Les deux tâches ont besoin de communiquer entre elles sur une donnée.

Le premier cas ne pose aucun problème.

Pour le second et troisième cas, le second processus est bloqué tant que le premier n’est pas terminé.

On aura donc

P1 P2

Mais on peut avoir le cas suivant, où 2 processus travaillent sur 2 données et demandent un accès exclusif :

P1 P2

Donnée A

Donnée B

Dans le cas présent, il y a blocage. Le processus 1 ne peut avoir accès à la donnée B qui est en accès exclusif pour le processus 2 donc est mis en attente. De même que le processus 2 qui doit attendre la fin de P1 pour avoir accès à la donné A. . .

On est dans le cas d’uninterblocage. Les systèmes d’exploitations peuvent soit :

éviter un interblocage

résoudre un cas d’interblocage

Éviter un interblocage étant difficile, les OS actuels ont pour objectif de détecter et résoudre les cas d’interblocage.

8

Références

Documents relatifs

La rotation a été modifiée, avec la réduction des légumes de plein de champ (arrêt de la double culture jeunes carottes, et augmentation du délai de retour haricots

À partir des exigences d’applications scientifiques et commerciales [9] ainsi que de l’état de l’art concer- nant les VO, plusieurs défis à relever ont été définis pour

Quelle que soit la distribution LINUX utilisée, on trouve une application « terminal » qu’on peut lancer et l’interpréteur de commandes avec lequel on interagit par défaut est

L’intervalle à l’heure de pointe ne peut qu’être inférieur aux valeurs calculées dans le tableau ci-dessus (à caractéristiques de matériel roulant constantes) car

Q.9 : La mémoire perdue sur des huge pages est plus importante que sur des pages standards car il est plus difficile d’obtenir une quantité précise de mémoire avec de plus gros

Les enfants découvrent les relations qui existent entre les éléments iconiques (dessins, images, photographies, logos…) et les éléments linguistiques (par exemple,

Taper les lignes suivantes : chmod u-w fiche.txt ls -l fiche.txt echo fin >> fiche.txt chmod u+w,u-r fiche.txt ls -l fiche.txt.. echo fin >> fiche.txt cat fiche.txt

• Ecrire un programme C qui crée un processus fils, le père devra attendre la fin du fils à l’aide de la primitive wait() afin qu’il puisse récupère le code