Chapitre 1 Introduction aux systèmes d`exploitation

Transcription

Chapitre 1 Introduction aux systèmes d`exploitation
Chapitre 1
Introduction aux systèmes
d’exploitation
Jean Privat
Université du Québec à Montréal
INF3172 — Principes des systèmes d’exploitation
Automne 2016
Jean Privat (UQAM)
01 — Introduction
INF3172 — Automne 2016
1 / 36
Introduction Générale
1
Définition des systèmes d’exploitation
2
Revue matérielle d’un ordinateur
3
Rôles d’un système d’exploitation
Jean Privat (UQAM)
01 — Introduction
INF3172 — Automne 2016
2 / 36
Principes des SE
Objectifs du cours
Comprendre comment ça marche
Savoir utiliser les services offerts par les SE
Difficultés : plusieurs spécialités
Algorithmique
Architecture
Programmation
Jean Privat (UQAM)
01 — Introduction
INF3172 — Automne 2016
3 / 36
Plan
1
Définition des systèmes d’exploitation
2
Revue matérielle d’un ordinateur
3
Rôles d’un système d’exploitation
Jean Privat (UQAM)
01 — Introduction
INF3172 — Automne 2016
4 / 36
Définition des SE
Questions essentielles
C’est quoi ?
À quoi ça sert ?
Jean Privat (UQAM)
01 — Introduction
INF3172 — Automne 2016
5 / 36
Composantes d’un ordinateur
Un ordinateur comporte
Matériel
Système d’exploitation
Programmes faisant presque partie du « système
d’exploitation »
Programmes d’application
Jean Privat (UQAM)
01 — Introduction
INF3172 — Automne 2016
6 / 36
Composantes d’un ordinateur :
Vision de l’utilisateur
Système
bancaire
Montage
Navigateur
vidéo
web
Compilateur Éditeur de Interprète de
commandes
textes
Système d’exploitation
(noyau)
Programmes
d’application
Programmes
systèmes
Langage machine
Micro-architecture
Matériel
Dispositifs physiques
Jean Privat (UQAM)
01 — Introduction
INF3172 — Automne 2016
7 / 36
Éditeur de textes
Interprète
de commande
Compilateur
Navigateur web
Montage vidéo
Système bancaire
Composantes d’un ordinateur :
Vision du système d’exploitation
Système d’exploitation
Vision du SE
= notre vision
Une seule catégorie de
programmes
Pas d’accès direct entre
les programmes et le
matériel
Matériel
Jean Privat (UQAM)
01 — Introduction
INF3172 — Automne 2016
8 / 36
Qu’est-ce qu’un SE ?
Pas de définition formelle
Ni sur le rôle d’un SE
Ni sur les composantes d’un SE
Plusieurs points de vue
Noyau vs. SE au sens large
Matériel vs. programmes vs. utilisateurs
Mécanismes vs. Politiques
Dept. Of Justice vs. Microsoft (en 1998)
Jean Privat (UQAM)
01 — Introduction
INF3172 — Automne 2016
9 / 36
SE = Couche d’abstraction
Abstrait la machine
Cache certains détails que l’utilisateur n’a pas à
connaître pour exploiter la machine
Présente à l’utilisateur une machine virtuelle facile à
utiliser et à programmer
Offre des services abstraits
Connaît
Connaît les détails internes intimes de la machine
Utilise les services concrets de la machine
Jean Privat (UQAM)
01 — Introduction
INF3172 — Automne 2016
10 / 36
SE = Couche d’abstraction
Applications
demandes de
services abstraits
Système d’exploitation
demandes de
services concrets
Matériel
Jean Privat (UQAM)
01 — Introduction
INF3172 — Automne 2016
11 / 36
SE = Gestionnaire de ressources
Répartir efficacement les ressources (limitées)
entre les programmes
Temps CPU
Mémoire
Périphérique (ex. disques, imprimante)
Faire cohabiter pacifiquement plusieurs
programmes et utilisateurs
Protection mémoire
Gestion des droits
Jean Privat (UQAM)
01 — Introduction
INF3172 — Automne 2016
12 / 36
SE = Gestionnaire de ressources
Analogie :
Le SE est le gouvernement de l’ordinateur
Il ne sert à rien en soi
Il permet la cohabitation entre les différents
programmes, les différents utilisateurs et les
différents matériel de l’ordinateur
Il possède les capacités de permettre cette
cohabitation (la force)
Jean Privat (UQAM)
01 — Introduction
INF3172 — Automne 2016
13 / 36
Types de SE
SE
SE
SE
SE
SE
SE
SE
SE
de Mainframe (gros système)
pour un serveur
pour un multiprocesseur
pour PC
temps-réel
tolérant aux pannes
embarqué
pour carte à puce
Jean Privat (UQAM)
01 — Introduction
INF3172 — Automne 2016
14 / 36
Plan
1
Définition des systèmes d’exploitation
2
Revue matérielle d’un ordinateur
3
Rôles d’un système d’exploitation
Jean Privat (UQAM)
01 — Introduction
INF3172 — Automne 2016
15 / 36
Revue matérielle d’un ordinateur
CPU
Mémoire
Moniteur
Clavier
Disque dur
Controleur
vidéo
Controleur
clavier
Controleur
disque
Bus
Jean Privat (UQAM)
01 — Introduction
INF3172 — Automne 2016
16 / 36
CPU - Unité centrale de traitement
N’est qu’une machine
Ne sait pas ce qu’est un SE, un programme ou un
utilisateur
Exécute des instructions jusqu’a l’arrêt de
l’ordinateur
Jean Privat (UQAM)
01 — Introduction
INF3172 — Automne 2016
17 / 36
CPU et registres
Registres généraux
Pour les calculs
Registres spéciaux
Compteur ordinal
Pointeur de pile
Mot d’état
Jean Privat (UQAM)
01 — Introduction
INF3172 — Automne 2016
18 / 36
Mémoire et stockage
Compromis prix/vitesse
La mémoire idéale n’existe pas
Meilleur prix ⇒ meilleure capacité
Hiérarchie de mémoire
Registres
Cache
Mémoire centrale (RAM)
Disques
Jean Privat (UQAM)
01 — Introduction
INF3172 — Automne 2016
19 / 36
Interruptions matérielles
Permettre au matériel de signaler des évènements
Appui d’une touche, nouveaux paquet réseau, etc.
Complètement d’une commande
Problème physique
SE = Destinataire des interruptions
Le SE configure le vecteur d’interruption (v)
Le CPU exécute quelque chose
Un contrôleur fait une requête d’interruption (IRQ)
Le CPU exécute l’instruction à v[IRQ]
Jean Privat (UQAM)
01 — Introduction
INF3172 — Automne 2016
20 / 36
Interruptions matérielles
(a) Étapes d’une opération d’E-S
(b) Interruption du CPU
Jean Privat (UQAM)
01 — Introduction
INF3172 — Automne 2016
21 / 36
Plan
1
Définition des systèmes d’exploitation
2
Revue matérielle d’un ordinateur
3
Rôles d’un système d’exploitation
Jean Privat (UQAM)
01 — Introduction
INF3172 — Automne 2016
22 / 36
Rôles d’un système d’exploitation
4 grands rôles
Gestion des processus
Gestion de la mémoire
Gestion de l’espace disque
Gestion des périphériques (entrées-sorties)
Jean Privat (UQAM)
01 — Introduction
INF3172 — Automne 2016
23 / 36
Processus
Processus =
Programme en cours d’exécution
Évolution des SE
Monotâche → Multiprogrammation → Multitâche
→ Multiutilisateurs
Tables des processus
Informations relatives à chaque processus
Jean Privat (UQAM)
01 — Introduction
INF3172 — Automne 2016
24 / 36
Hiérarchie de processus (Unix)
Arbre de processus
A
E
B
C
F
G
A crée deux processus fils, B et C
B crée deux processus fils, D, E, et F
Jean Privat (UQAM)
01 — Introduction
INF3172 — Automne 2016
25 / 36
Contexte d’exécution des processus
En mémoire
Programme
Données (pile, tas...)
Processeur
Registres
Jean Privat (UQAM)
01 — Introduction
INF3172 — Automne 2016
26 / 36
Mémoire et processus
Code P3
Data P3
Data P2
4G
Chaque programme
A accès (lecture/écriture) qu’à
son propre espace
Tout accès en dehors est
physiquement interdit
Le SE
A accès à toute la mémoire
Gère les limites physiques des
programmes
Code P1&2
Data P1
SE
0
Jean Privat (UQAM)
01 — Introduction
INF3172 — Automne 2016
27 / 36
Ordonnancement des processus
Besoin
Un processus qui utilise le CPU doit pouvoir être
délogé (puis relogée plus tard)
Moyens mis en œuvre
Utilisation des interruptions : périphériques et
horloge
Sauvegarde et restauration du contexte : opération
coûteuse
Jean Privat (UQAM)
01 — Introduction
INF3172 — Automne 2016
28 / 36
Systèmes de fichiers
Vision unifiée
Indépendante du support matériel physique
Arborescente
Répertoires
Répertoire courant par processus
Chemins (absolus et relatifs)
Sécurisé
Gestion des droits
Jean Privat (UQAM)
01 — Introduction
INF3172 — Automne 2016
29 / 36
Appels systèmes
Appel système
L’exécution d’une routine du système d’exploitation
Permet l’utilisation d’instructions sensibles
normalement interdites aux processus utilisateurs
Mode d’exécution du CPU
Mode privilégié, noyau, maître
Mode non privilégié, utilisateur, esclave
Jean Privat (UQAM)
01 — Introduction
INF3172 — Automne 2016
30 / 36
Appels systèmes
Moyen
Une instruction spéciale (TRAP) permet de basculer
du mode utilisateur au mode noyau
TRAP est spécifique à chaque architecture
Objectif
Permet de se brancher dans une zone mémoire
exclusive au SE
Mais on ne se branche pas où on veut
Jean Privat (UQAM)
01 — Introduction
INF3172 — Automne 2016
31 / 36
Fonctions systèmes
En réalité, un programme utilise des fonctions
système
Les fonctions systèmes abstraient les appels
systèmes
Jean Privat (UQAM)
01 — Introduction
INF3172 — Automne 2016
32 / 36
Appels systèmes : Exemple de read
Jean Privat (UQAM)
01 — Introduction
INF3172 — Automne 2016
33 / 36
Conclusion :
Le SE au centre de tout
Applications
appels
systèmes
Système d’exploitation
demandes
d’interruptions
Matériel
Jean Privat (UQAM)
01 — Introduction
INF3172 — Automne 2016
34 / 36
Interprète de commandes Shell
C’est un programme
Il ne fait pas partie du noyau
Permet à l’utilisateur d’exécuter des commandes
Exemple : bash
Commandes
De nombreuses commandes se contentent
d’encapsuler un seul appel système.
Jean Privat (UQAM)
01 — Introduction
INF3172 — Automne 2016
35 / 36
Pages de manuel (man)
Aide en ligne
Pour le programmeur, pour l’administrateur, pour
l’utilisateur
Plusieurs sections
1. commandes shell (ex. cp, man)
2. fonctions systèmes (ex. read())
3. fonctions de bibliothèques (ex. printf())
Jean Privat (UQAM)
01 — Introduction
INF3172 — Automne 2016
36 / 36