84
1 Introduction/survol du SE Introduction/survol du SE CSI3710 - Module 1 CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Objectif: Faire un survol rapide des éléments Faire un survol rapide des éléments d’ordinateurs – le processeur (UCT), la mémoire, d’ordinateurs – le processeur (UCT), la mémoire, et l’entrée/sortie. et l’entrée/sortie. Introduire les système d’exploitations afin de Introduire les système d’exploitations afin de comprendre son rôle et ses fonctions principales comprendre son rôle et ses fonctions principales

1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

Embed Size (px)

Citation preview

Page 1: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

1

Introduction/survol du SEIntroduction/survol du SE

CSI3710 - Module 1CSI3710 - Module 1

Lecture: Chapitre 1 et 2 (Silberchatz)Lecture: Chapitre 1 et 2 (Silberchatz)

Objectif:Objectif: Faire un survol rapide des éléments d’ordinateurs – le Faire un survol rapide des éléments d’ordinateurs – le

processeur (UCT), la mémoire, et l’entrée/sortie.processeur (UCT), la mémoire, et l’entrée/sortie. Introduire les système d’exploitations afin de Introduire les système d’exploitations afin de

comprendre son rôle et ses fonctions principalescomprendre son rôle et ses fonctions principales

Page 2: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

2

Sujets du moduleSujets du module

Les composantes principales de l’ordinateur

Organisation et Architecture d’ordinateur Révision du CEG3531

Système d’exploitation

Un premier aperçu

Services fournis par le système d’exploitation

Réalisations principales des systèmes d’exploitation

Caractéristiques et structure des SE modernes

Page 3: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

3

Vue abstraite des composantes d’un Vue abstraite des composantes d’un système informatiquesystème informatique

L’ordinateur générale se divise en 4 composantes principales Matériel

• UCT, mémoire, appareils d’entrée/sortie (E/S) Système d’exploitation

• Contrôle le matériel et coordonne sont utilisation parmi les applications et utilisateurs

Programmes d’applications• Traitement de texte, compilateurs, fureteurs WEB, etc.

Utilisateurs

Page 4: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

4

Vue abstraite des composantes d’un Vue abstraite des composantes d’un système informatiquesystème informatique

Page 5: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

5

C’est quoi un SE?C’est quoi un SE? Vue de l’utilisateur

Système personnel Système partagé Système branché Système imbriqué

Pourquoi un SE? Partage des ressources de l’ordinateur Et sur un PC?

Mais qu’est ce que fait le SE? Relation intime avec le matériel (en fait l’abstraction

pour les applications) Allocation du matériel (équitable le plus possible) Contrôle d’exécution, i.e., allocation du temps

d’exécution. La définition d’un SE?

Pas de définition universel C’est le programme qui est toujours présent en

mémoire – le noyau

Page 6: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

6

Sujets du moduleSujets du module

Les composantes principales de l’ordinateur

Organisation et Architecture d’ordinateur Révision du CEG3531

Système d’exploitation

Un premier aperçu

Services fournis par le système d’exploitation

Réalisations principales des systèmes d’exploitation

Caractéristiques et structure des SE modernes

Page 7: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

7

Matériel principalMatériel principal Processeur (UCT) Mémoire principale (mémoire réelle, RAM)

Contient le code et les données Modules E/S (Contrôleurs E/S, processeurs E/S...)

matériel (avec registres: ports E/S) pour transport des données entre UCT et périphériques comme:

• mémoire secondaire (ex: disques rigides)• clavier, écran... • Équipement de communication

Interconnexion (ie: Bus) pour

communication entre processeur(s), mémoire et modules E/S

Page 8: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

8

Structure du Module E/SStructure du Module E/S

Données du bus sont tamponnées dans le(s) registre(s) “data register” (ports E/S)

Le registre “Status/Control” contient: l’information sur le statut de l’opération E/S l’information de contrôle venant de l’UCT

Le circuit “I/O logic” interagit avec l’UCT via le bus. Contient la logique spécifique à l’interface de chaque dispositif

Page 9: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

9

Registres de l’UCTRegistres de l’UCT

Registres de Contrôle & Statut Généralement non disponibles aux programmes de

l’usager l’UCT en utilise pour contrôler ses opérations Le SE en utilise pour contrôler l’exécution des

programmes Registres Visibles (aux usagers)

disponibles au SE et programmes de l’usager Contient données, adresses et quelques bits de

statut

Page 10: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

10

Exemples de registres de contrôle & statutExemples de registres de contrôle & statut

Le compteur d’instruction (PC) Contient l’adresse de la prochaine instruction à

exécuter Le registre d’instruction (IR)

Contient l’instruction en cours d’exécution Le mot d’état du programme (PSW)

Un registre ou groupe de registres contenant:• bits de statut• bit d’interruption activé/désactivé• bit du mode d’exécution superviseur(SE)/usager

Page 11: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

11

Registres VisiblesRegistres Visibles

Registres de données manipulés par l’usager pour opérations sur les

données (ex: ADD, MUL…) Registres d’adresse

contient adresses de données et instructions peut contenir seulement une partie de l’adresse

complète

Page 12: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

12

Registres VisiblesRegistres Visibles

Exemples de registres d’adresse Index/offset

• contient la valeur d’une adresse relative à une valeur de base

Pointeur de segment• contient l’adresse de base.

• L’adresse complète = adresse de base + index

Pointeur de pile• pointe au sommet de la pile

Page 13: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

13

Registres VisiblesRegistres Visibles

Bits d’états valeur assignée suite au résultat d’une opération Accessibles aux usagers mais non modifiables

par ceux-ci Exemples

• sign flag• zero flag• overflow flag

Page 14: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

14

Le cycle d’instruction de baseLe cycle d’instruction de base

L’UCT extrait l’instruction (avec opérandes) de la mémoire. Ensuite l’UCT exécute cette instruction Le compteur d’instruction (PC) contient l’adresse de la

prochaine instruction à extraire Le PC est incrémenté automatiquement après chaque extraction

Page 15: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

15

L’UCT doit attendre après les E/Ss!L’UCT doit attendre après les E/Ss!

“WRITE” branche sur un pgm E/S (ex: “driver” d’une imprimante)

pgm E/S prépare Ie module E/S en (4)

l’UCT doit attendre que la commande E/S soit terminée

Temps d’attente est long pgm E/S termine en (5) et

communique le statut de l’opération

Page 16: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

16

Interruptions!Interruptions!

Les ordinateurs permettent aux modules d’E/S d’interrompre l’UCT.

Pour cela, le module E/S excite (assert) une ligne du bus de contrôle (ex: INTR pour les PCs)

L’UCT transférera le contrôle a un programme de gestion de l’interruption (Interrupt Handler Routine) (faisant partie du SE)

Page 17: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

17

Le cycle d’instruction avec interruptionsLe cycle d’instruction avec interruptions

Après chaque instruction, l’UCT examine s’il y a une interruption

S’il n’y en a pas, il extrait la prochaine instruction du programme

S’il y en a, il suspend le pgm en cours et branche l’exécution sur le pgm de gestion de l’interruption

Page 18: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

18

Le pgm de gestion de l’interruption (IH)Le pgm de gestion de l’interruption (IH) Est un pgm qui détermine la nature d’une

interruption et exécute les actions requises L’exécution est transférée à ce pgm... …et doit revenir au programme initial au point

d’interruption pour que celui-ci continue normalement ses opérations

Le point d’interruption peut se situé n’importe où dans le pgm

L’on doit donc sauvegardé l’état du programme (ie: PC + PSW + registres + ...)

Page 19: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

19

Traitement des interruptionsTraitement des interruptions

Page 20: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

20

Les interruptions améliorent l’utilisation de l’UCTLes interruptions améliorent l’utilisation de l’UCT

Le pgm E/S prépare le module E/S et exécute la commande E/S (ex: impression d’un char)

pgm E/S branche au pgm usager code usager est exécuté durant

l’opération E/S: pas d’attente pgm usager est interrompu (x)

lorsque l’opération E/S est terminée. Branchement au IH pour examiner le module E/S (statut de l’opération)

branche ensuite au pgm usager

Page 21: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

21

Interruption pour l’E/SInterruption pour l’E/S

Page 22: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

22

Types d’interruptionsTypes d’interruptions E/S

lorsqu’une opération E/S est terminée Exception

Débordement de division interdiction d’exécuter une instruction référence au delà de l’espace mémoire

Minuterie préemption d’un pgm pour en exécuter un

autre Bris de matériel (ex: erreur de parité en mémoire)

Page 23: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

23

Ordre séquentiel des interruptionsOrdre séquentiel des interruptions

Interruption désactivé durant l’exécution d’un IH Les interruptions sont en attente jusqu’à ce que l’UCT active les

interruptions L’UCT examine s’il y a des interruptions en attente après avoir

terminé d’exécuter l’IH

Page 24: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

24

Interruptions avec prioritésInterruptions avec priorités

L’IH d’une interruption de priorité faible peut se faire interrompre par une interruption de priorité élevée

Exemple: les données arrivant sur une ligne de communication doivent-être absorbées rapidement pour ne pas causer de retransmissions

Page 25: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

25

Techniques de communication pour E/STechniques de communication pour E/S

3 techniques sont possibles: E/S programmées

• N’utilise pas d’interruptions. L’UCT doit attendre après chaque opération d’E/S

E/S déclenchées par interruptions• L’UCT peut exécuter du code pendant

l’opération E/S: il est interrompu lorsque l’opération est terminée.

Accès direct à la mémoire (DMA) • Un block de données est transféré directement

à/de la mémoire sans passer par l’UCT

Page 26: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

26

E/S programméesE/S programmées

Module E/S exécute une action à la demande du processeur

Le module E/S n’interrompt pas le CPU lorsque E/S est terminée

L’UCT doit constamment examiner le statut du module E/S

Page 27: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

27

E/S déclenchées par INTE/S déclenchées par INT

L’UCT est interrompu par le module E/S lorsque les données sont disponibles

L’UCT peut exécuter d’autre code pendant l’E/S

Pas d’attente inutile Mais chaque mot échangé

transit par l’UCT et requiert une interruption (ouf!)

Page 28: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

28

Accès direct à la mémoire (DMA)Accès direct à la mémoire (DMA)

L’UCT fait sa requête au module DMA (module séparé ou intégré au module E/S)

Le module DMA transfert un block de données à/de la mémoire (sans passer par l’UCT)

Il y a interruption lorsque le transfert est terminé

L’UCT est sollicité uniquement au début et à la fin du transfert

L’UCT est libre d’exécuter du code pendant le transfert

Page 29: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

29

Organisation hiérarchique de la mémoire Organisation hiérarchique de la mémoire

Page 30: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

30

Une nouvelle idée – la mémoire cacheUne nouvelle idée – la mémoire cache Une petite qtée de mémoire

rapide interagissant avec une mémoire plus lente mais de plus grande capacité

Invisible au SE mais interagit avec le matériel de la gestion de la mémoire.

Le processeur examine d’abord si le mot désigné est dans la mémoire cache

S’il n’y est pas, un petit block de mémoire contenant le mot est transféré de la mémoire principale à la mémoire cache.

Page 31: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

31

Temps d’accèsTemps d’accès Le temps d’accès est le temps requis pour amener le

mot référencé au processeur T1 = temps d’accès pour mémoire cache T2 = temps d’accès pour mémoire principale T = temps d’accès total pour amener le mot référencé au

processeur Si le mot référencé est dans le cache:

T = T1 Si le mot référencé n’est pas dans le cache:

Car ça coûte d’abord T1 pour examiner le cache (et réaliser que le mot référencé n’est pas là)

Ça coûte ensuite T2 pour amener le mot référencé de la mémoire principale au processeur (en même temps, le mot est aussi placé dans le cache)

Le temps d’accès total est donc T = T1 + T2

Page 32: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

32

Le taux de présence (Hit Ratio)Le taux de présence (Hit Ratio) Taux de présence = fraction

des accès où la donnée est dans la mémoire cache

T2 >> T1

Le temps d’accès moyen est près de T1 lorsque le taux de présence est près de 1

Page 33: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

33

Groupement des consultations (locality of reference)Groupement des consultations (locality of reference)

Les accès à la mémoire sont groupés localement sur de longues périodes.

Exemple: dans une boucle, les accès sont fréquents à un petit ensemble d’instructions.

Donc lorsqu’un mot est consulté, il est très probable que les mots voisins seront consultés fréquemment dans un avenir rapproché.

Donc le taux présence sera proche de 1 même avec une petite mémoire cache.

Page 34: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

34

Mémoire Cache du disque Mémoire Cache du disque (même principe)(même principe)

Une portion de la mémoire principale utilisée pour tamponner temporairement les données du disque

Groupement des consultations: lorsqu’un enregistrement est consulté, il est très probable que les enregistrements voisins seront consultés fréquemment.

Si l’enregistrement n’est pas dans le cache, le secteur du disque contenant l’enregistrement est copié dans le cache.

Page 35: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

35

Fonctionnement de l’ordinateur moderneFonctionnement de l’ordinateur moderne

Page 36: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

36

Sujets du moduleSujets du module

Les composantes principales de l’ordinateur

Organisation et Architecture d’ordinateur Révision du CEG3531

Système d’exploitation

Un premier aperçu

Services fournis par le système d’exploitation

Réalisations principales des systèmes d’exploitation

Caractéristiques et structure des SE modernes

Page 37: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

37

Fonctionnement d’un ordinateurFonctionnement d’un ordinateur

Comment l’ordinateur démarre? Programme de chargement (en mémoire ROM – le

micrologiciel). Charge le noyau en mémoire et l’exécute.

Exécution du noyau (est ainsi les applications). Noyau exécute lors d’interruptions

• Interruption du matériel.• Interruption logique des applications – l’appel

système (en détail plus tard)• Erreurs: division par zéro, violation d’accès de

mémoire par une application, etc.

Page 38: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

38

Le mode usager et le mode noyauLe mode usager et le mode noyau Opération en mode double permet au ES de se

protéger ainsi que d’autres composantes Mode usager et mode noyau (ou supervision) Bit mode se retrouve dans le matériel

• Distingue le mode (usager ou noyau)• Certaines instructions sont privilégiées• Appel au SE change le mode à noyau et le retour

de l’appel le rechange au mode usager.

Page 39: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

39

Transition du mode usager au mode noyauTransition du mode usager au mode noyau

Minuterie empêche les processus de s’accaparer du système Un interruption après un délai de temps SE décrémente un compteur Lorsque le compteur est zéro, change de processus ou

termine le processus. Configurer avant de donner le contrôle au processus

pour reprendre le contrôle ou terminé le programme.

Page 40: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

40

MultiprogrammationMultiprogrammation

Tout programme faisant une lecture sur un périphérique doit attendre que l’opération E/S soit terminée

Les interruptions sont plus utiles lorsqu’un processeur est partagé parmi plusieurs processus concurrents.

L’UCT peut alors exécuter un autre programme lorsqu’un programme attends qu’une opération E/S soit terminée.

Page 41: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

41

La structure d’E/S du noyauLa structure d’E/S du noyau

Page 42: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

42

Sujets du moduleSujets du module

Les composantes principales de l’ordinateur

Organisation et Architecture d’ordinateur Révision du CEG3531

Système d’exploitation

Un premier aperçu

Services fournis par le système d’exploitation

Réalisations principales des systèmes d’exploitation

Caractéristiques et structure des SE modernes

Page 43: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

43

Système d’exploitation (SE)Système d’exploitation (SE)

Est un programme contrôlant l’exécution des applications Le SE doit céder le contrôle aux programmes

usagers et le reprendre correctement Dit à l’UCT quand exécuter tel programme

C’est l’interface entre les programmes (et l’utilisateur) et le matériel Masque les détails du matériel aux applications Le SE doit donc tenir compte de ces détails

Page 44: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

44

Les couches logiques d’un systèmeLes couches logiques d’un système

Système d’exploitation

Logiciels utilitaires

Applications

Utilisateur

Programmeur

Développeurde SEs

Matériel

Page 45: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

45

Services offerts aux utilisateursServices offerts aux utilisateurs Interface d’utilisateur

Interface graphique (GUI), interface de ligne de commande (CLI)

Donne accès au programmes systèmes: Windows Explorer, mkdir, ls, etc.

Exécution de programme Charger un programme en mémoire et l’exécuter

Manipulation des systèmes de fichiers Création et suppression des répertoires et fichiers Recherche Lecture et écriture des fichiers Listes de fichiers Gestion des permissions

Page 46: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

46

Services offerts aux programmes d’utilisateursServices offerts aux programmes d’utilisateurs Opérations d’entrée/sortie

L’accès au matériel se fait par le noyau pour le programme exécutant

Communications Communication entre programmes d’un même

ordinateur ou avec ceux d’autres ordinateur Peut se faire avec la mémoire partagée ou des

messages Composer avec les erreurs

Détection• Erreurs du matériel (internes ou externes): la mémoire,

défaillance d’un dispositif E/S• Erreurs du logiciel: débordements, interdiction d’accès à

une case mémoire• Impossibilité pour SE de satisfaire requête

Réaction: juste rapporter l’erreur à l’application, essayer de nouveau l’opération, suspendre l’application

Page 47: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

47

L’appel systèmeL’appel système L’interface qui offre les services du SE au

programmes Control de processus: pour exécuter un

programme. Gestion de fichier: création/ouvrir/lire/écrire

un fichier, liste d’un répertoire. Gestion d’appareil: demande/relâche d’un

appareil Gestion d’information: gestion de l’heure,

attributs des processus et fichiers Communication: ouvrir/fermer un

connexion, envoyer/recevoir des messages

Page 48: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

48

Appel système (suite)Appel système (suite) Normalement écrit avec langage de programmation

haut niveau (par exemple le C). Implémenter avec l’interruption logicielle

L’interruption logicielle change le bit mode au mode noyau et fait appel au sous-programme approprié selon un tableau d’appels systèmes et le numéro d’interruption

À la fin du sous-programme, le mode redevient le mode usager et des valeurs sont retournées au programme appelant.

Page 49: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

49

API de l’appel systèmeAPI de l’appel système

Page 50: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

50

Comment accéder aux appels systèmesComment accéder aux appels systèmes

Accéder souvent par les programmes avec une interface de programmation d’application (API) et non pas l’appel système directement

APIs commun: Win32 pour Windows API POSIX pour systèmes POSIX

• UNIX, Linux et MAC OS X API Java pour la machine virtuelle Java (JVM)

Le programme appelant ne connait rien au sujet le l’implémentation de l’appel système. Obéit tout simplement au normes de l’API: paramètres à fournir,

valeurs de retour, et opération désirée Les détails de l’interface du SE sont cachés derrière l’API.

• Géré par la bibliothèque de l’API (ensemble de fonctions fournit avec le compilateur)

Possible d’utiliser les appels système directement

Page 51: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

51

Exemple de l’API standard en CExemple de l’API standard en C

La fonction printf() qui fait un appel système write()

Page 52: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

52

Services pour assurer efficacité et bon Services pour assurer efficacité et bon fonctionnementfonctionnement

Allocation et gestion des ressources Nécessaire pour desservir plusieurs utilisateurs et

plusieurs programmes Certaines ressources ont leur code de gestion

spécifique:• UCT, mémoire principale, système de fichier

D’autres sont gérés via un code général – E/S Comptabilité

Statistiques sur l’usage des ressources par les utilisateurs

Protection et sécurité Empêcher les intrus (usagers non autorisés)

d’accéder au système Empêcher les usagers d’accéder aux ressources qui

ne leur sont pas destinées

Page 53: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

53

Les SEs évoluent toujoursLes SEs évoluent toujours

Doit s’adapter au nouveau matériel. Exemples: Introduction des terminaux graphiques Introduction du matériel de pagination

Doit offrir de nouveaux services, ex.: support à l’accès Internet

Le besoin de modifier régulièrement un SE impose une contrainte pour sa conception constr. modulaire avec interfaces bien définies méthodologie orientée objet

Page 54: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

54

Sujets du moduleSujets du module

Les composantes principales de l’ordinateur

Organisation et Architecture d’ordinateur Révision du CEG3531

Système d’exploitation

Un premier aperçu

Services fournis par le système d’exploitation

Réalisations principales des systèmes d’exploitation

Caractéristiques et structure des SE modernes

Page 55: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

55

Principales réalisations des SEsPrincipales réalisations des SEs

Pour rencontrer les exigences de la multiprogrammation et des systèmes à temps partagé, les SE nous ont apportés les réalisations suivantes: Processus Gestion de la mémoire Protection de l’information et sécurité Ordonnancement et gestion des ressources Structure du système

Page 56: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

56

Difficultés rencontrées par les SEsDifficultés rencontrées par les SEs

Synchronisation un programme en attente d’utilisation d’un

dispositif E/S doit recevoir un signal Exclusion mutuelle

permettre à un seul programme à la fois d’effectuer une transaction sur une portion des données

Impasse (deadlock) lorsque plusieurs pgms attendent indéfiniment

l’un après l’autre sans pouvoir continuer

Page 57: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

57

Exemple d’impasseExemple d’impasse

Pgm A veux copier du disque1 au disque2 et s’approprie le contrôle du disque1

Pgm B veux copier du disque2 au disque1 et s’approprie le contrôle du disque2

Pgm A doit attendre que pgm B libère le disque2 et pgm B doit attendre que pgm A libère le disque1.

Pgms A et B attendent indéfiniment

Page 58: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

58

ProcessusProcessus Introduit affin d’obtenir une méthode

systématique pour contrôler l’exécution des programmes

Un processus est un pgm exécutable, avec: ses données (variables, tampons…) context d’exécution: ie. l’information:

• nécessaire à l’UCT pour exécuter le processus:• contenu des registres du processeur

• nécessaire au SE pour gérer le processus:• priorité du processus• l’évènement après lequel le processus est en attente• autres données (introduits au prochain chapitre)

Page 59: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

59

Exemple simple de mise en applicationExemple simple de mise en application Le registre “process

index” indexe la liste des processus avec le processus en cours (B)

Pour commuter du processus B au processus A on sauvegarde en mémoire le contexte de B et on charge les registres du contexte de A

Une structure de données flexible (pour ajouter de nouvelles caractéristiques)

Registres UCT

i

Index deprocessus

PC

bh

.

.

.

Autresregistres

Base et limiteContexte

Données

Programme

Contexte

Données

Programme

Mémoire Principale

Listede

processus

ProcessusA

ProcessusB

i

j

b

h

Page 60: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

60

Gestion de la mémoireGestion de la mémoire

L’idée centrale: la mémoire virtuelle Donne au programme un espace mémoire

(adressable) logique qui est indépendant de la qte de mémoire physique disponible

Seule une partie à la fois d’un programme en exécution est maintenu en mémoire

Les autres parties du pgm sont sur disque le pgm à accès à un espace mémoire de

dimension supérieure à celui de la mémoire réelle

Page 61: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

61

Mémoire virtuelleMémoire virtuelle Chaque référence du pgm est à la mémoire

virtuelle qui est constituée de: un espace linéaire (un seul block homogène) une collection de segments (différente taille)

Les adresses virtuelles sont traduites par le matériel (“mapper”) en adresses réelles.

S’il y a référence à un mot dont l’adresse virtuelle n’est pas en mémoire: (1) une portion du contenu de la mémoire réelle

est transférée au disque (2) pour être remplacée par le block désiré

Page 62: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

62

Le système de fichiersLe système de fichiers

Utilisé pour la sauvegarde à long terme (souvent sur disque)

l’information est sauvegardée dans des objets (ayant un nom) appelés fichiers un unité d’accès pratique pour le SE

Fichiers (et portions) peuvent-être copiés en mémoire virtuelle pour être manipulés par les programmes

Page 63: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

63

Gestion des ressources et Gestion des ressources et ordonnancementordonnancement

Réactions différentes doit discriminer entre processus de différentes

classes Équité

ne pas discriminer entre processus de même classe

Efficacité maximiser la capacité de traitement, minimiser

le temps de réponse, et accommoder le plus d’utilisateurs possible

Page 64: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

64

Éléments clefs pour l’ordonnancementÉléments clefs pour l’ordonnancement Le SE maintient des files d’attente de

processus attendant la disponibilité d’une ressource: file d’attente à court terme de processus en

mémoire prêts à être exécutés• Le répartiteur de tâches (dispatcher) décide qui

sera le prochain à s’exécuter file d’attente de nouvelles jobs

• le SE ne doit pas admettre trop de processus file d’attente pour chaque dispositif E/S

constituée de processus désirant l’utiliser

Page 65: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

65

Structure du systèmeStructure du système

En raison de sa complexité, un SE est structuré en couches

Chaque couche se limite à effectuer un nombre restreint de fonctions

et dépend de la couche inférieure pour exécuter des fonctions plus primitives

Interfaces bien définies: une couche peut-être modifiée sans affecter les autres

Décomposition d’un problème en plusieurs plus petits problèmes

Page 66: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

66

Sujets du moduleSujets du module

Architecture d’ordinateur

Système d’exploitation

Services fournis par le système d’exploitation

Évolution des systèmes d’exploitations

Réalisations principales des systèmes d’exploitation

Caractéristiques et structure des SE modernes

Page 67: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

67

Caractéristiques d’un SE moderneCaractéristiques d’un SE moderne

De nouveaux concepts furent introduits récemment

En réponse au nouveau matériel: machines à processeurs multiples réseaux à grande vitesse UCT plus rapides et plus de mémoire

En réponse au nouveau logiciel: applications multimédia Internet et accès au Web applications client/serveur

Page 68: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

68

Structure de système - Approche Structure de système - Approche simplesimple

MS-DOS - cherchait à obtenir une fonctionnalité maximale avec des ressources limitées mono-tâche, mono-usager pas très modulaires

• manque de séparation claire entre couches accès direct aux périphériques (écran, etc.)

permis aux programmes d`application • manque de contrôles, vulnérabilité

malheureusement, il fut adapté à des fonctionnalités plus complexes...

Page 69: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

69

Couches du MS-DOSCouches du MS-DOS

Page 70: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

70

Structure UNIXStructure UNIX

Multi-tâches, multi-usagers depuis le début Le système UNIX initial était aussi préoccupé par les

limitation du matériel Distinction entre:

programmes du système noyau

• tout ce qu’il y a entre l ’interface des appels de système et le matériel

• fournit dans une seule couche un grand nombre de fonctionnalités

• système fichiers, ordonnancement UCT, gestion mémoire...

Plus modulaire et protégé que MS-DOS

Page 71: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

71

Structure UNIX: peu de couchesStructure UNIX: peu de couches

Page 72: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

72

Micronoyaux (microkernels)Micronoyaux (microkernels)

Dans les premiers SE, aussi UNIX, tout était dans le noyau

Après, un effort fut fait pour laisser dans le noyau UNIX seulement les fonctionnalités absolument nécessaires

Une des fonctionnalités du micro noyau UNIX est la communication par échange de messages utilisé pour la communication entre programme

client et service

Page 73: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

73

Structure à couches dans OS/2 (IBM)Structure à couches dans OS/2 (IBM)((suit les idées d’Unix)suit les idées d’Unix)

L ’OS/2 était beaucoup mieux organisé que MS-DOS, et donc moins vulnérable.  Cependant il était peu performant. Win-NT a cherché à utiliser des principes semblables, mais avec une intégration meilleure des couches.

Page 74: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

74

Structure client-serveur dans noyau Structure client-serveur dans noyau Win-NTWin-NT

Win-NT a un petit noyau qui fournit une structure client-serveur, en utilisant échanges de messages

Supporte différents SE: Win, OS/2, Posix 

Page 75: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

75

ModulesModules

Beaucoup de SEs modernes utilises un approche avec modules Approche orienté objet Chaque composant est séparé Échange se fait via des interfaces connues Chaque module est chargé au besoin par le

noyau (kernel) Semblable à une structures de couches, mais

plus flexible

Page 76: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

76

Approche de modules de Solaris Approche de modules de Solaris (UNIX)(UNIX)

Page 77: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

77

Machines virtuelles: le problème et la Machines virtuelles: le problème et la solutionsolution

Comment permettre de rouler différents SE sur une seule machine physique?

Pas évident, car chaque SE demande accès direct au matériel

SOLUTION: Un programme qui crée une couche qui met à disposition plusieurs machines physiques virtuelles

Sur chacune, nous pouvons rouler un SE différent

Page 78: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

78

Machines Virtuelles (série IBM3XX)Machines Virtuelles (série IBM3XX)

Virtuel en informatique dénote quelque chose qui n ’est pas réel, n ’est pas du matériel: il est construit par le logiciel sur la base des ressources fournies par le matériel

Une machine virtuelle est une machine créée par des couche de logiciel

Elle peut avoir des caractéristiques identiques à la machine physique donnée: mêmes instructions, etc.

Plusieurs machines virtuelles peuvent être créées sur une machine physique donnée!

Page 79: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

79

(a)(a) Une seule mach. réelle et un seul noyauUne seule mach. réelle et un seul noyau(b) plus. mach. virtuelles et plus. noyaux(b) plus. mach. virtuelles et plus. noyaux

Page 80: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

80

FonctionnementFonctionnement Le système VM laisse exécuter normalement les

instructions non privilégiées Les appels au système sont exécutés par le système

VM et les résultats sont passés à la machine virtuelle sur laquelle le processus exécute

Page 81: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

81

Avantages Avantages Chaque machine virtuelle peut utiliser un SE

différent! En théorie, on peut bâtir des machines

virtuelles sur des machines virtuelles! Protection complète, car les machines

virtuelles sont complètement isolées les unes des autres

Un nouveau SE peut être développé sur une machine virtuelle sans déranger les autres

Page 82: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

82

ImplémentationsImplémentations

Le concept de VM est très utilisé pour permettre de rouler un SE sur un autre

P.ex. SUN, Apple, Linux permettent de rouler Windows sur leur plateforme,

Ils doivent fournir à Windows un environnement que Windows reconnaît comme son environnement Intel usuel

Page 83: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

83

VMWARE sur LinuxVMWARE sur Linux

Page 84: 1 Introduction/survol du SE CSI3710 - Module 1 Lecture: Chapitre 1 et 2 (Silberchatz) Objectif: Faire un survol rapide des éléments dordinateurs – le processeur

84

Machine virtuelle de JavaMachine virtuelle de Java