Niveau 1
Plan du Chapitre
1 Notion de SE
2 Evolution des SE
3 Architecture Matérielle
4 Programmation
5 Mécanismes de base
2
Plan du Chapitre
1 Notion de SE
2 Evolution des SE
3 Architecture Matérielle
4 Programmation
5 Mécanismes de base
3
Notion de SE
• OS: Operating System (en anglais)
• Pas de définition standard
• Interface entre l’utilisateur et la machine
4
Notion de SE
Définitions
• Point de vue matériel
Matériel = machine physique
{composantes physiques et logiques}
Composantes physiques : processeur, écran, …
Composantes logiques : fichiers
Ressources
5
Notion de SE
Définitions
• Point de vue utilisateur/Applications
Utilisateur = personne humaine / Application= {programmes}
OS = machine virtuelle
Copie de la machine physique
Simple à utiliser par rapport à la machine physique
(ERGONOMIE)
6
Notion de SE
Exemples de SE
• Systèmes pour ordinateurs personnels
Windows, Linux, MacOSX…
• Systèmes mainframes (grands systèmes)
Multics, IBM MVS, BS2000…
• Systèmes pour smartphones
Android, iOS, Backberry OS, Windows Phone, Bada…
• Systèmes pour TV
Android TV, Tizen, tvOS, Firefox OS…
• Et bien d’autres…
7
Plan du Chapitre
1 Notion de SE
2 Evolution des SE
3 Architecture Matérielle
4 Programmation
5 Mécanismes de base
8
Evolution des SE
Historique
9
Evolution des SE
Historique
1ère Génération
1938 - 1955
10
Evolution des SE
Historique
13
Evolution des SE
Historique
Objectifs:
Développer l’appareil qui pourra répondre
correctement au langage naturel et capable
d’apprendre et s’organiser lui-même
14
Evolution des SE
Historique
• Plusieurs périodes
• Evolution technologique
• Evolution conceptuelle
Types de SE
• Systèmes Batch
• Systèmes Multiprogrammés
• Systèmes Temps-partagé
• Ordinateurs Personnels (PC)
• Systèmes Réseaux
• Systèmes Parallèles
• Systèmes Répartis (Distribués)
• Grilles de calcul et de données
• Cloud Computing
15
Evolution des SE
Types de SE (1) : Systèmes Batch
• Batch Processing = Traitement par Lots
• Caractéristiques
Début des véritables OS (50)
Soumission de Job’s (User)
Soumission de lots de Job’s (Opérateur)
Exécution Job/Job (Moniteur)
Moniteur résident en MC
Un seul Job à la fois
• Fondements
Premiers concepts des OS / Repris par tous les systèmes
Evolution
Avancées technologiques
Techniques de développement
16
Evolution des SE
Types de SE (1) : Systèmes Batch
Bandes magnétiques
Disques
Lecteur de
cartes
Console opérateur
17
Evolution des SE
Types de SE (1) : Systèmes Batch
18
Evolution des SE
Types de SE (1) : Systèmes Batch
• Concept Moniteur
Lecture des Job’s (Suite de cartes perforées)
Interprétation des cartes
Début, Fin de Job
Données, Instructions
Chargement en MC
Donne le contrôle à un Job
• Exécution jusqu’à
Fin du Job courant
Déclenchement E/S
Erreur
• Moniteur reprend le contrôle
Le donne au même Job (fin d’E/S)
Ou Job suivant (Exécution séquentielle de Job’s)
19
Evolution des SE
Types de SE (1) : Systèmes Batch
• Propriétés exigées
Protection mémoire : Jobs ne doivent pas accéder au moniteur
Gestion du temps
Eviter qu’un Job utilise le temps indéfiniment (Boucle infinie)
L’arrêter (interrompre) en cas de besoin
• Exécution des instructions : deux classes d’instructions machine (Modes)
Celles exécutées uniquement par le moniteur
Instructions Privilégiées
Mode Moniteur
Celles exécutées par les Jobs utilisateurs
Instructions non privilégiées
Mode User (utilisateur)
Passage d’un mode à un autre (Règles)
20
Evolution des SE
Types de SE (2) : Systèmes Multiprogrammés
• Caractéristiques
Défaut des systèmes batch : Très mauvaise utilisation des ressources
■ Job/Job
■ Ralentissement dû aux E/S
Evolutions technologiques
Utilisation de disques (vs bandes)
■ Grandes capacités
■ Accès direct aux données (non séquentiel)
■ Temps d’accès rapide
Naissance des canaux d’E/S
Véritables processeurs
Spécialisés dans les opérations d’E/S
Evolution des mémoires centrales
Plus grandes capacités
Temps d’accès rapide
21
Evolution des SE
Types de SE (2) : Systèmes Multiprogrammés
• Multiprogrammation
Faire du calcul en même temps que les E/S
Plusieurs programmes en MC
22
Evolution des SE
Types de SE (2) : Systèmes Multiprogrammés
• Propriétés exigées
Les mêmes que pour le Batch
Interruptions
23
Evolution des SE
Types de SE (2) : Systèmes Multiprogrammés
• Nouveauté
Spooling ou Spoule
Anticipation
■ Quand charger ?
24
Evolution des SE
Types de SE (2) : Systèmes Multiprogrammés
• Principe
Simultanéité entre calcul et E/S
Processeur : Calcul
Canal : E/S
Trouver un équilibre
25
Evolution des SE
Types de SE (3) : Systèmes Temps-Partagé
• Systèmes multiprogrammés
Meilleure exploitation des ressources
Pas d’interactivité avec les utilisateurs (user passif)
Soumission, récupération des résultats
Mauvaise répartition des ressources d’une machine entre utilisateurs
Exemple: temps
• Idée
Garder les principes des systèmes multiprogrammés
Partager équitablement le temps
Accès simultané et interactif à l’aide de TERMINAUX (user actif)
Légers : Clavier/Ecran
Lourds : PC, Stations, …
26
Evolution des SE
Types de SE (3) : Systèmes Temps-Partagé
Terminaux Intelligents
Ordinateur central
Serveur
27
Evolution des SE
Types de SE (3) : Systèmes Temps-Partagé
• Propriétés exigées
Les mêmes que les systèmes multiprogrammés avec en plus
28
Evolution des SE
Types de SE (4) : Systèmes Réseaux
• Caractéristiques
Evolution des technologies de communication
Evolution des ordinateurs : Plus petits, plus puissants
Développement de l’Internet
Notion de machine SERVEUR : Ressources partagées et accessibles
par plusieurs utilisateurs (Clients)
• Idée
Interconnecter des ordinateurs
Réseau Local (LAN)
Réseau Mondial (WAN)
• Propriétés exigées
Gestion de la communication
Protocoles de communication : TCP/IP, …
29
Evolution des SE
Types de SE (5) : Systèmes Parallèles & Systèmes Répartis
• Systèmes parallèles
Ensemble d’éléments de calcul
• Systèmes distribués
Ensemble de processeurs autonomes
30
Evolution des SE
Types de SE (5) : Systèmes Parallèles & Systèmes Répartis
• Parallèles et distribués
Réseau de stations de travail connectées à un réseau
local/spécialisé
31
Evolution des SE
Types de SE (6) : Grilles de calcul
• Caractéristiques
Types
32
Plan du Chapitre
1 Notion de SE
2 Evolution des SE
3 Architecture Matérielle
4 Programmation
5 Mécanismes de base
33
Architecture Matérielle
Ordinateur
34
Architecture Matérielle
35
Architecture Matérielle
Composants d’un ordinateur
• Processeur
Responsable de l’interprétation des instructions et du calcul
• Carte Mère
Relie les différents composants d’un ordinateur via un bus
Responsable de contrôler l’accès aux différents types
d’entrées/sorties
• Mémoire Vive
Mémoire auxiliaire permettant de sauvegarder temporairement
les données en vue de travailler avec plusieurs ressources
Appelée la RAM (Random Access Memory)
Mémoire volatile : elle ne garde les données que si elle est
alimentée électriquement
36
Architecture Matérielle
Composants d’un ordinateur
• Mémoires de Masse
Permettent de sauvegarder les données de manière persistante
Ex: Disque dur, Clé USB, CD-ROM…
Plus lentes que la mémoire vive
• Périphériques
Composants permettant à l’ordinateur de communiquer avec
l’extérieur (utilisateur ou autre ordinateur)
Périphériques d’entrée: Clavier, carte réseau, mémoire de masse, etc.
Périphériques de sortie: Écran, carte réseau, mémoire de masse, etc.
• Logiciels
Programmes systèmes : gère le fonctionnement de l’ordinateur
Programmes d’application : exécute le travail demandé par les
utilisateurs
37
Plan du Chapitre
1 Notion de SE
2 Evolution des SE
3 Architecture Matérielle
4 Programmation
5 Mécanismes de base
38
Programmation
Langages
• Supports de programmation
• Hiérarchie de langages
Langage machine (Intel, Motorola, …)
Langage Assembleur (Intel, Motorola, …)
Langages évolués
Fonctionnels, Procéduraux, Objets, Agents
Parallèles, Distribués, Scripts, …
Langages spécifiques
Temps-réel, Mobiles, …
Environnements de programmation
• Ensemble d’outils graphiques : Développer, Compiler, Exécuter, …
• Exemples : VB, Visual J++, JBuilder, Eclipse, …
39
Programmation
40
Programmation
Etapes de mise en œuvre d’un programme
• Edition
Ecriture du programme (éditeur+fichier)
Programme source
• Compilation (interprétation)
Analyse syntaxique du programme source : Détection d’erreurs syntaxiques
Analyse sémantique
Programme objet ou exécutable
• Edition de liens
Résolution de références
Liens entre programmes compilés séparément
• Chargement + Exécution
Détermination de l’adresse de chargement
Chargement du code exécutable en MC
Exécution
41
Plan du Chapitre
1 Notion de SE
2 Evolution des SE
3 Architecture Matérielle
4 Programmation
5 Mécanismes de base
42
Mécanismes de base
Contexte d’exécution
• Exécution d’instructions
Réalisée par le processeur
Chargées à partir de la MC (1/1)
Exécution d’une seule instruction à la fois
Exécution séquentielle
• Contexte
Etat avant exécution : Contexte d’entrée (E)
Etat en cours d’exécution
Etat après exécution : Contexte de sortie (S)
E S
Instk
43
Mécanismes de base
Contexte d’exécution
• Contexte d’entrée (E)
Etat du processeur
Valeurs des registres du processeur
Etat de la mémoire centrale
Valeurs des mots mémoire
Etat des canaux
Etats des canaux et des périphériques
• Contexte de sortie (S)
Etat (processeur, mémoire centrale, canaux) après
exécution
S ≠ E ( TOUJOURS !!! )
44
Mécanismes de base
Contexte d’exécution
• Caractéristique
Peut être sauvegardé
Arrêt et reprise du programme en cours
d’exécution
• Moments de sauvegarde
Instant où le contexte a une valeur bien définie
Entre la fin d’une instruction et le début de la
suivante
Possibilité d’arrêter l’exécution du programme
en cours pour la reprendre par la suite
Sauvegarder et Restaurer le contexte
POINT INTERRUPTIBLE
45
Mécanismes de base
Point Interruptible
Points Interruptibles
46
Mécanismes de base
Interruptions
• Signal technologique destiné au processeur
• Buts
Arrêter l’activité en cours
Arrêt du programme en cours d’exécution
Exécuter un autre programme (système)
Revenir éventuellement au programme interrompu
47
Mécanismes de base
Interruptions
• Causes
Externes au programme en cours : INTERRUPTION
Exemples: Touches du clavier (Pause, CTRL+ALT+DEL)
Internes au programme en cours : DEROUTEMENT (TRAP)
Instruction en cours (Exemple: Division par 0)
• Caractéristique fondamentale
Evénement asynchrone :Imprévisible (temps & nombre)
• Instants
Arrivée : N’importe quel moment (Avant/Durant/Après l’exécution
d’une instruction
Prise en compte : Commutation automatique (Point Interruptible)
48
Mécanismes de base
Interruptions P : Programme en
cours d’exécution
Programme Q
Traitement de l’interruption
Interruption
Sauvegarde du contexte de P
Commutation de contexte
Chargement du contexte de Q
Traitement de l’interruption
Restauration (éventuelle)
du contexte de P
Commutation de contexte
Reprise de l’exécution du
programme P
49
Mécanismes de base
Exécution d’instructions
• Principe
UC ramène une instruction de la MC (CO)
CO = CO+1
50
Mécanismes de base
Exécution d’instructions avec ITs
• Principe
attente de traitement
Si oui
51
Mécanismes de base
Exécution d’instructions avec IT
52
Mécanismes de base
Adressage
• Utilité
Définir l’adresse (emplacement) d’une information en MC
Instruction
Données
• Plusieurs formes
Immédiat, Direct, Indirect
Combinaisons
53
Mécanismes de base
Adressage
Immédiat Indirect
Opérande : donnée elle-même
Opérande : Adresse d’un mot
LOAD 5 contenant l’adresse de la
ADD -1 donnée (symbole *)
LOAD *X’12A9’
Direct SUB *X’1011’
54
Mécanismes de base
Adressage
Basé
Adressage plus flexible
Adresse
Relatif
Base +/- Déplacement
Idem que basé
Utilise un registre
Indexé
Utilise un registre d’index
Index
Déplacement par
rapport à un début
55
Mécanismes de base
Virtualisation
• Constat
Système lié à l’architecture : Accès aux ressources physiques
Problème
Machine i Système i
Peut-on définir un OS pour tout type de machine ?
• Solution
Approche logicielle
Programme crée une couche qui offre plusieurs machines
physiques virtuelles
Faire fonctionner un OS sur chacune de ces machines
56
Mécanismes de base
Virtualisation
• Principe
Ressource Virtuelle
57
Mécanismes de base
Virtualisation
58
Mécanismes de base
Mode du processeur
• Le processeur a plusieurs modes d’exécution, au moins un mode
superviseur et un mode utilisateur
• Mode superviseur/noyau
Mode propre au système d’exploitation, pour réaliser des opérations
critiques, appelées instructions privilégiées
Le code en mode noyau a un accès total à la machine (mémoire,
instructions, périphériques)
• Mode utilisateur/usager
Mode d’exécution des programmes ou applications utilisateur
Mode non privilégié (Esclave, Slave, Utilisateur, User, Programme)
Le code en mode utilisateur n’a qu’un accès limité à la mémoire et ne
peut pas exécuter certaines instructions dangereuses
59
Mécanismes de base
Appel Système
Quand un processus usager a besoin d’un service du SE, par ex. E/S, il
exécute un appel du système
C’est une instruction (Supervisor Call) qui cause une interruption (trap)
et changement de mode (mode superviseur)
Est associée à des paramètres qui indiquent le type de service désiré
Le SE prend la relève et exécute le service, puis il retourne au
processus appelant avec des params qui indiquent le type de résultat
Changement de mode (mode usager)
Interrupt/Fault
Superviseur Utilisateur
60