Vous êtes sur la page 1sur 5

Université Hassiba Benbouali-Chlef Module : Système d’Exploitation 1

Département d’Informatique
L2 Informatique
Fiche TD n°1 :
Introduction aux Systèmes d’Exploitation

Exercice 1 :
1. Quels sont les objectifs principaux d’un Système d’Exploitation (SE) ?.
2. Qu'est-ce qu'un système multiprogrammé?.
3. Quel était le rôle du moniteur d'enchaînement dans les premiers systèmes ?.
4. Qu'est-ce qu'un système temps réel ?
5. Qu'est-ce qu'un système réparti ?.
6. Quel est l’objectif de l’interprète de commande ?. Décrire son fonctionnement en langage
algorithmique simple.
7. Quel est le rôle d’un compilateur ?. Quelles sont ses principales phases de travail ?.
8. En quoi se différentie-t-il d’un interpréteur ?
9. Quel le rôle d’un éditeur de liens ?
Exercice 2 :
Le but de cet exercice est de mettre en évidence, sur un système simplifié à l'extrême, l'influence de
l'évolution historique des systèmes d'exploitation sur quelques grandeurs caractéristiques de
leursperformances.
− On considère un ordinateur dont les organes périphériques sont un lecteur de cartes (1000 cartes /
minutes)et une imprimante (1000 lignes / minutes). Un travail moyen est ainsi défini :
o lire 300 cartes,
o utiliser le processeur pendant une minute,
o imprimer 500 lignes.
− On suppose que tous les travaux soumis par les usagers ont des caractéristiques identiques à celles de
cetravail moyen. On définit deux mesures des performances du système :
o le débit moyen D des travaux : nombre de travaux effectués en une heure.
o le rendement r de l'unité centrale : fraction du temps total d'utilisation de l'unité centrale pendant
lequelelle exécute du travail utile (autre que la gestion des périphériques).
A/- On suppose d'abord que les périphériques sont gérés par l'unité centrale. calculer r et D dans
leshypothèses de fonctionnement suivantes :
A.1/- Le système est exploité en porte ouverte ; la durée d'une session est limitée à 15 mn. On
supposequ'un usager a besoin de 4 mn pour corriger son programme au vu des résultats, et faire une
nouvellesoumission.
A.2/- Le système est exploité avec un moniteur d'enchaînement séquentiel des travaux.

B/- On suppose maintenant que les périphériques sont gérés par un


ordinateur séparé, qui constitue unebande magnétique d'entrée à partir
des cartes et liste sur imprimante le contenu d'une bande magnétiquede
sortie. L'ordinateur est alimenté par la bande magnétique d'entrée et
produit la bande de sortie ; onnéglige la durée de lecture et d'écriture des
bandes. Le temps de transfert des bandes d'un ordinateur àl'autre est de 5
mn dans chaque sens ; on suppose qu'une bande regroupe une fournée de
50 travaux (voirschéma)
B.1/- On suppose que le rythme de soumissiondes travaux est suffisant pour occuper
l'ordinateurcentral à plein temps. Calculer les valeurs de r etD.
B.2/- Etablir la planification de la construction destrains de travaux et calculer le temps
d'attentemoyen d'un usager (temps entre la soumission dutravail et la réception des résultats. On
admettraque les travaux arrivent à un rythme régulier, quele temps de construction d'une
fournée(préparation du train de cartes) estde 10 mn et que le temps de distribution des résultats d'une
fournée (découpage et tri des listings) est de 10mn également.

1
Mr. KADRI. W
C/- Les périphériques sont maintenant gérés par un canal d'entrée-sortie. Le système est monoprogrammé, et
le moniteur d'enchaînement permet à l'unité centrale d'exécuter le traitement d'un travail parallèlement à
la lecture du suivant et à l'impression du précédent. Calculer dans ces conditions r et D. Même question
si le travail moyen lit 1200 cartes et imprime 1500 lignes pour 1 mn de l'unité centrale.

D/- Les entrées-sorties sont maintenant gérées avec des tampons sur disque (spoule de lecture et
d'impression). Le travail moyen est celui défini en C (1200 cartes, 1 minute et 1500 lignes).
D.1/- On suppose qu'une carte et une ligne d'impression occupent respectivement 80 et 100 octets.
Quelle est la taille minimale nécessaire des tampons de lecture et d'impression sur disque pour
que l'unité centrale soit utilisée à son rendement maximal ? Quel est alors le débit des travaux ?
D.2/- Le rythme d'arrivée des travaux est celui de la saturation, la taille du tampon de lecture est de
176 000 octets, et la taille du tampon d'impression sur disque est de 2 Méga-octets.
Quel est le rendement de l'unité centrale ?

2
Mr. KADRI. W
Solution Fiche TD 1 :
Exercice n°1 :
1. Le système d’exploitation (operating system, OS) est le programme intermédiaire entre l’ordinateur
(matériel, hardware) et les logiciels des utilisateurs. Il fournit :
o Une gestion des ressources matérielles de l’ordinateur
o Une base pour le développement et l’exécution des différents programmes.
2. Un système multiprogrammé ou appelé aussi «multi-tâche» (en anglais multitaking) maintient
plusieurs travaux en mémoire à la fois. Le SE choisit et commence à exécuter un des travaux en
mémoire. Par la suite, le travail risque d'attendre une autre tâche jusqu’à la fin de l’exécution. Plusieurs
tâches peuvent être exécutées simultanément.
3. Le Moniteurs d’enchainement ont vu leur naissance à la troisième génération (Bach Processing) qui
consistaient à automatiser passage d’un programme à un autre.
4. Un système à temps réel est un système dont l'objectif est de fonctionner dans un environnement
contraint temporellement. Il doit délivrer un traitement correct des informations reçues à des intervalles
de temps bien définis (réguliers ou non).
Exemples :RTLinux (RealTime Linux), QNX ,VxWorks.
5. Un système répartis (ou faiblement couplés) est un ensemble de ressources (processeurs)
géographiquement répartis qui consiste à répartir le calcul entre plusieurs processeurs. chaque processeur
possède sa propre mémoire locale. Les processeurs communiquent entre eux via des lignes de
communication (Bus, MAN, MAN et LAN…etc).
6. Un interpréteur de commandes (CLI pour Command-line interpreter en anglais), est un programme
faisant partie des composants de base d'un système d'exploitation. Sa fonction est d'interpréter les
commandes qu'un utilisateur tape au clavier dans l'interface en ligne de commande. Cette interprétation
fera l’objet d’un ordre sous forme de signal électrique à l’unité de commande qui ordonnera à son tour
l’organe concerné.
L’Algorithme :
Début
TANT QUE l'utilisateur ne ferme pas la session
FAIRE
# Émettre un signe d'invite (prompt)
# Lire la ligne courante
# Exécuter la commande indiquée sur cette ligne
FinFaire
Fin
7. Un compilateur est un programme informatique qui transforme un code source écrit dans un langage
de programmation (le langage source ; Java, C++, Pascal…) en un autre langage plus bas niveau tel
que le langage d'assembleur ou langage machine.
o Les étape de compilation sont les suivantes :
1. pré-traitement (préprocesseur) : nécessaire pour certaines langues comme C, qui prend en
charge la substitution de macro et de la compilation conditionnelle. Généralement, la phase de
prétraitement se produit avant l'analyse syntaxique ou sémantique ; par exemple dans le cas de C, le
préprocesseur manipule les symboles lexicaux plutôt que des formes syntaxiques.
2. analyse lexicale : découpe le code source en petits morceaux appelés jetons (tokens). Chaque
jeton est une unité atomique unique de la langue (unités lexicales ou lexèmes), par exemple un mot-
clé, un identifiant ou un symbole. La syntaxe de jeton est généralement un langage régulier, donc un
automate à états finis construits sur une expression régulière peut être utilisé pour le reconnaître.
3. analyse syntaxique : elle implique l'analyse de la séquence jeton pour identifier la structure
syntaxique du programme. Cette phase s'appuie généralement sur la construction d'un arbre d'analyse

3
Mr. KADRI. W
; on remplace la séquence linéaire des jetons par une structure en arbre construite selon la grammaire
formelle qui définit la syntaxe du langage.
4. analyse sémantique : c’est la phase durant laquelle le compilateur ajoute des informations
sémantiques à l'arbre d'analyse et construit la table des symboles. Cette phase vérifie le type
(vérification des erreurs de type), ou l'objet de liaison (associant variables et références de fonction
avec leurs définitions), ou une tâche définie (toutes les variables locales doivent être initialisées
avant utilisation), peut émettre des avertissements, ou rejeter des programmes incorrects.
5. la transformation du code source en code intermédiaire ;
6. l'application de techniques d'optimisation sur le code intermédiaire : c'est-à-dire rendre le
programme « meilleur » selon son usage.
7. la génération de code avec l'allocation de registres et la traduction du code intermédiaire en
code objet, avec éventuellement l'insertion de données de débogage et d'analyse de l'exécution ;
8. et finalement l'édition des liens.
8. L'interprète est capable de lire le code source d'un langage sous forme de script, habituellement un
fichier texte, et d'en exécuter les instructions après une analyse syntaxique du contenu.
- On différencie un programme dit script, d'un programme dit compilé :
o Un programme script est exécuté à partir du fichier source via un interpréteur de script ;
o Un programme compilé est exécuté à partir d'un bloc en langage machine issu de la traduction du fichier
source.

9. Un éditeur de lien est un programme ou un processus qui permet de créer des fichiers exécutables ou
des bibliothèques dynamiques ou statiques, à partir de fichiers objets.

Exercice n°2 :

A/-
A.1/- Il faut 0,3 mn et 0,5 mn pour lire 300 cartes et imprimer 500 lignes. Le temps pour un passage est
:
A.2/- 0,3+1+0,5=1,8 mn. Comme entre deux passages l'usager a besoin de 4mn pour corriger, le
nombre depassage n satisfait : 1,8.n + 4.(n-1) £ 15 => n=3 d'où r=3/15=0,2 et D=3.4=12
Le temps de passage est le même sans attente entre deux passages => D=60/1,8=33 etr=33/60=0,55
B/-
B.1/- Le débit max est limité par l'UC à 60 travaux/heure est limité par lecture carte à
60/0,3=200travaux/heure, est limité par l'impression à 60/0,5=120 travaux/heure. D'où D=60 et
r=60/60=1

B.2/- la planification doit tenir compte du fait que l'opérateur ne peut faire qu'une chose à la fois ainsi
que lepériphérique d'E/S.

1. préparation du train des cartes 10 mn


2. lecture des 50 travaux 15 mn
3. transfert de la bande vers ordinateur central 5 mn
4. exécution de ces 50 travaux 50 mn
5. transfert de la bande d'impression 5 mn
6. impression des 50 travaux 25 mn
7. distribution des résultats 10 mn

On peut donc réaliser un certain nombre d'opérations en même temps comme ci-dessous :

4
Mr. KADRI. W
Il s'ensuit que le temps d'attente moyen est : 10+15+5+50+5+25+10=120=2h
C/- lecture du travail n+1=0,3mn < traitement=1mn
impression du travail n-1 = 0,5 mn < traitement=1mn D=60 et r=1.
1200 cartes =>1,2mn > traitement=1mn
1500 lignes => 1,5 mn > traitement=1mn
plus grand temps D=60/1,5=40 et r=40/60=0,67

D/-
D.1/- C'est évidemment l'imprimante qui va imposer le rythme global.
Au moment du début du travail il faut qu'il y ait 1000+1500 lignes dans le spoule d'impression. Les 500
lignes manquantes seront remplies pendant le travail (qui est le seul à remplir le spoule)  250 000
octets.
On ne peut que prendre comme hypothèse la libération du spoule des travaux en cours à la fin seulement
des travaux. A la fin des travaux il ne peut y avoir que 700 cartes +1200 pour les travaux =1900
cartes=152 000 octets. Les 500 cartes manquantes seront acquises pendant l'arrêt des travaux
D.2/- Avec saturation en entrée l'UC effectuera un travail toutes les 1,2mn. A chaque fois 300 lignes
supplémentaires rempliront le tampon de sortie. Comme le tampon de sortie peut contenir 20.000
lignes, il sera saturé après 66 travaux. Le rendement pendant les 79 premières minutes r=1/1,2=0,83
passera à 1/1,5=0,67 ensuite. En fin de travaux il restera 20 mn d'impression avec r=0.

5
Mr. KADRI. W

Vous aimerez peut-être aussi