Top Banner
ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS 3IS - Système d'exploitation 2010 – David Picard Contributions de : Arnaud Revel, Mickaël Maillard [email protected]
53

3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

Sep 13, 2018

Download

Documents

phunglien
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

3IS - Système d'exploitation

2010 – David PicardContributions de : Arnaud Revel, Mickaël Maillard

[email protected]

Page 2: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

1. Introduction

● Fonctionnement simplifié d'un ordinateur● Rôle d'un système d'exploitation

– Gestion du matériel– Gestion de tâches

● Types d'OS● Caractéristiques

– multitâches/multiutilisateur– portabilité

● Historique d'UNIX et Linux

Page 3: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Un ordinateur très simple

● Un processeur

CPU

Page 4: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Un ordinateur très simple

● Un processeur

● De la mémoire

CPU

Mémoire

Page 5: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Un ordinateur très simple

● Un processeur

● De la mémoire

● Quelques périphériques variés

CPU

Mémoire

Périphériques(disque dur)

Périphériques(clavier)

Périphériques(écran)

Périphériques(autres)

Page 6: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

● Mémoire :– Programmes

programmes

Mémoire CPU Périphériques

Page 7: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

● Mémoire :– Programmes– Données

programmes données

Mémoire CPU Périphériques

Page 8: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

● Mémoire :– Programmes– Données

● Périphériques :– Données– Interaction avec l'utilisateur (données prioritaires)

programmes données

Mémoire CPU Périphériques

données,interactions

Page 9: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Un programme

int main(int argc char ** argv){

int a, b, c ;float *A, *B ;

/* check input */if(argc < 3){

printf("usage : dotprod <a> <b>\n") ;return ­1 ;

}

/* read a from args */a = atoi(argv[1]);b = atoi(argv[2]) ;

...

● Suite d'instructions● Ensemble de données

Page 10: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Un programme

int main(int argc char ** argv){

int a, b, c ;float *A, *B ;

/* check input */if(argc < 3){

printf("usage : dotprod <a> <b>\n") ;return ­1 ;

}

/* read a from args */a = atoi(argv[1]);b = atoi(argv[2]) ;

...

● Suite d'instructions● Ensemble de données

Mémoire

données

instructions

Page 11: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Exécution d'un programme

● Lecture de l'instruction contenue à l'adresse du registre EIP dans la mémoire

CPU

EIP

…0xAD00 : instruction 10x1D04 : instruction 20xAD08 : instruction 30xAD0C : instruction 4...

Mémoire

Page 12: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Exécution d'un programme

● Lecture de l'instruction contenue à l'adresse du registre EIP dans la mémoire

● Exécution

CPU

EIP

…0xAD00 : instruction 10x1D04 : instruction 20xAD08 : instruction 30xAD0C : instruction 4...

Mémoire

Page 13: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Exécution d'un programme

● Lecture de l'instruction contenue à l'adresse du registre EIP dans la mémoire

● Exécution● Incrémentation EIP

CPU

EIP++

…0xAD00 : instruction 10x1D04 : instruction 20xAD08 : instruction 30xAD0C : instruction 4...

Mémoire

Page 14: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Exécution d'un programme

● Lecture de l'instruction contenue à l'adresse du registre EIP dans la mémoire

● Exécution● Incrémentation EIP● Itération suivante...

CPU

EIP

…0xAD00 : instruction 10x1D04 : instruction 20xAD08 : instruction 30xAD0C : instruction 4...

Mémoire

Page 15: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Interaction entre programmes, mémoire et périphériques

● Mémoire :– Lire des données en

mémoire– Écrire des données en

mémoire– En fonction des

données en mémoire, exécuter certaines instructions

– Lancer d'autres programmes stockés en mémoire

– ...

● Périphériques– Lire des données sur

un périphérique (ex. clavier)

– Écrire des données sur un périphérique (ex. écran)

– Réagir lorsqu'un périphérique est sollicité (ex. bouton power)

– ...

Page 16: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Rôle d'un système d'exploitation

● Gérer l'exécution des programmes– Lancement, terminaison, etc– Intégrité des programmes, sécurité des données– Servir d'interface entre les différents programmes en cours

d'exécution

● Gérer la mémoire– Allocation, droits d'accès, etc

● Gérer l'accès au matériel– Servir d'interface entre les programmes et le matériel– Répondre aux demandes du métériel (interruptions par

exemple)

Page 17: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Gestion du matériel

● Accès à une ressource matérielle– Le programme peut vouloir lire sur le disque, récupérer

ce qui est tapé au clavier, récupérer les données d'un scanner, afficher quelque chose à l'écran, imprimer un document ou encore communiquer avec d'autres programmes à travers un réseau. Le système d'exploitation se charge de réaliser les accès aux différents périphériques en proposant une unique interface.

– Les périphériques sont variés et ont différentes méthodologie d'utilisation. En proposant une interface, le système d'exploitation simplifie le développement des programmes.

Page 18: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Gestion du matériel

● Gestion des interruptions– Certains matériels peuvent imposer un changement de

comportement, voire la suspension, des programmes en cours (bouton stop sur une chaîne de montage par exemple).

Page 19: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Gestion du matériel

● Sécurisation des ressources critiques– Si deux programmes veulent accéder en même temps à

une ressource matérielle unique (l'imprimante, par exemple), c'est le rôle du système d'exploitation de faire en sorte que l'utilisation du matériel est correct et que le résultat correspond à celui qui est attendu (on ne veut pas que deux documents soient imprimés entremêlés sur la même feuille par exemple).

Page 20: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Gestion des tâches

● Contexte d'exécution– Lorsqu'un programme s'exécute, le système

d'exploitation se charge d'assurer la bonne mise en place de son contexte d'exécution (registre matériels comme le pointeur de pile, mais aussi charger le code des différentes bibliothèques utilisée, etc).

Page 21: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Gestion des tâches

● Commutation de processus– Sur certains OS, plusieurs programmes peuvent être en

cours d'exécution en même temps. Le rôle de l'OS est de s'assurer que chaque programme peut s'exécuter correctement (en mettant à jour son contexte, par exemple le pointeur de pile), et que chaque programme en cours est bien exécuté (ordonnancement)

– La sécurité des données propres à chaque programme (par exemple interdiction à un programme de modifier les données d'un autre programme) est aussi réalisée par le système d'exploitation.

Page 22: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Gestion des tâches

● Communication entre programmes– Certains programmes ont besoin de communiquer entre

eux (échange de données, attente de fin, etc). L'OS se charge de proposer une interface unifiée de communication (ce que l'on appelle les IPC – InterProcess Communication).

Page 23: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Anatomie d'un système d'exploitation

GestionDes

Processus

GestionDe la

Mémoire

GestionDu

MatérielNo

yau

libc toolkit

hardware

applications

Sys

tèm

e d'

exp

loita

tion

Page 24: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Types de systèmes d'exploitation

● Usages :– Grand public : réactifs, plein de programmes variés, peu

de contraintes (matérielles et temporelles)– Temps réel : comportement prédictible, répondant à des

contraintes temporelles fixes– Embarqués : peu de programmes, connus à l'avance,

mais forte contraintes matérielles (peu de mémoire, etc)

Page 25: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Types de noyaux

● Noyau :● Monolithique : Tout est inclu dans le noyau, gestion

de processus, gestion de mémoire, pilotes de périphériques, protocoles de communication, IPC, etc. (ex Linux, Solaris)

● Micronoyau : Le strict minimum est inclu dans le noyau : gestion de processus, gestion de la mémoire et IPC très complexes. Le reste est délégué à des applications spécifiques appelées services. (ex Mach, L4)

Page 26: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Comparaison entre noyaux monolithiques et micronoyaux

Page 27: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Noyaux modulaires

● Noyaux monolithiques mais– Possibilité d'ajouter et de retirer des fonctionnalités au

noyau en cours d'exécution– Plus petit (car un nombre limité de pilotes est chargé en

mémoire, les suivants pouvant être chargés à la demande si besoin)

● Ex : Linux

Page 28: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Caractéristiques de Systèmes d'exploitation

● Multi-tâches :– Plusieurs programmes peuvent s'exécuter en même

temps

● Multi-utilisateurs : – Plusieurs utilisateurs peuvent utiliser l'ordinateur en

même temps

● Multi-plateforme : – Le système peut être installé sur des machines très

variées

Page 29: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Multi-tâches

● Plusieurs programmes peuvent s'exécuter en même temps :

– Gerer la création et la suppression de tâches– Veiller à ce que chaque tâche ait accès aux ressources

demandées en un temps raisonnable :● Ordonnancement● Ressources critiques

– Veiller à l'intégrité des données de chaque tâches (gestion de droits)

Page 30: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Multi-utilisateur

● Plusieurs utilisateurs sur la machine :– Gérer l'accès aux ressources critiques– Veiller à l'intégrité des données de chaque utilisateur– Permettre un système de communication entre les

utilisateurs

Page 31: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Multi-plateforme

● Le système peut s'installer sur différents types d'environnements :

– Offrir une interface indépendante de l'architecture matérielle aux programmes

– Gérer plusieurs architecture matérielles différentes

Page 32: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Historique

● 69 : Thomson et Ritchie● mise au point de la première version UNIX● PDP7/9; noyau 16Ko; Process 8Ko, Fichier 64Ko

● 72 : Kernighan et Ritchie : langage C● 73 : Réécriture du noyau UNIX en C

● Gestion des processus● Gestion des fichiers● Banalisation des E/S

Page 33: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Historique

● 75 : Premier portage d ’UNIX● 76 : microprocesseurs 8/16 bits● 77 : Thomson à l ’université de Berkeley

● 500 installations

● 79 : Portage sur VAX et IBM● 82 : Commercialisation par ATT

● Unix-based et Unix-like (100 000 install.)

Page 34: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Historique

● 84 : Efforts de normalisation● DEC (Ultrix)● Gould (UTX)● HP (HP-UX)

● 85 : MINIX par A. Tanenbaum● 88 : standard sur les stations de travail

● SUN/BULL/IBM…

Page 35: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Historique

● 89 : Premier BSD libre● Sept 91 : Linux 0.01 (inspiré par Minix)● Oct 91 : Linux 0.03 (bash et gcc)● Dec 91 : Linux 0.10 (premières contributions

externes)● Jan 92 : Linux 0.12 (mémoire virtuelle,

licence GPL)● Mars 92 : linux 0.95 (init/login, X)

Page 36: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Historique

● 93 : NetBSD et FreeBSD● Mars 94 : Linux 1.0 (stable en production,

fournit des services comparables à UNIX)● Mars 95 : Linux 1.2 (nombreuses architectures,

modules chargeables)● Juillet 96 : Linux 2.0 (multiprocesseur, mascotte

Tux)● Janvier 99 : Linux 2.2

Page 37: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Historique

● 99 : MacOSX (noyau hybride)● 01 : Linux 2.4● 03 : Linux 2.6 (noyau préemptible)● 07 : Linux 2.6.23 (ordonnanceur CFS)● 08 : Linux 2.6.26 (Kgdb)● 21 Juillet 2011 : Linux 3.0.0 (13M lignes de

code)

Page 38: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Caractéristiques de Linux

● Noyau monolithique : comme la plupart des Unices

● Modules : des fonctionnalités peuvent être activées ou désactivées (seuls SVR4.2 et Solaris peuvent le faire aussi)

● Threads du noyau : certaines fonctionnalités sont indépendantes

● Support multithread natif

● Noyau préemptif : un processus peut être interrompu même en mode noyau

● Système multiprocesseur

● Nombreux systèmes de fichiers

● Nombreuse architectures supportées

● Petit et compact

● Performant

● libre

Page 39: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Distributions

● Système d'exploitation complet basé sur Linux :– Le noyaux Linux– Une libc et un compilateur C (souvent gcc)– Un gestionnaire de boot pour charger le noyau (grub,

lilo, ...)– Un système d'initialisation pour lancer les processus

offrant les services standards (réseau, impression, interface graphique, …)

– Un shell (bash, dash, ksh, …)– Un gestionnaire de packages (apt, rpm, portage, …)– Un dépôt de logiciels préparés en packages (et vérifiés

pour bien fonctionner avec le reste du système)

Page 40: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Familles de distributions

● Deb : Debian, ubuntu, et dérivée– Gestionnaire de paquets *.deb

– Debian : serveur, Ubuntu : desktop

● RPM : RedHat, SuSE, Mandriva, et dérivée– Gestionnaire de paquets *.rpm

– RedHat : serveur, Mandriva : desktop

● Slackware– plus vieille distribution (paquets *.tgz)

● Distributions sources : gentoo, sourcemage, ...– Recompiler tous les logiciels (paquets sources, donc)

– Gentoo : gestionnaire de paquets portage très puissant

Page 41: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Concepts fondamentaux

● Modes d'utilisation :– Mode utilisateur : routine du programme en cours

d'exécution● Espace mémoire réservé● Contexte matériel particulier (pointeurs de pile, de programme,

etc)● Droits restreints

– Mode noyau : routines du noyau● Espace mémoire total● Contexte matériel particulier● Droit d'accès totaux● On y accède par une interruption (soit matérielle, soit logicielle)

Page 42: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Concepts fondamentaux

● Processus : instance d'un programme en cours d' exécution et son contexte

● Fichiers : tout est fichier, les périphériques, les documents, etc

● Droits : les fichiers ont différents niveaux de droits (user, group, other)

● Réentrant : plusieurs processus peuvent simultanément s'exécuter en mode noyau

Page 43: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Page 44: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Contexte user/kernel

● L'utilisation de la machine est divisée en deux mode d'exécution :

– Le mode noyau (kernel mode)– Le mode utilisateur (user mode)

● Le mode utilisateur est le mode d'utilisation des utilisateurs :

– root– Les services (serveur de fichier, web, imprimante, …)– Les vrais usagers

Page 45: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Droits et mode

● La mémoire est réservée à un mode d'utilisation– Les applications en mode user ne peuvent pas accéder

● À l'espace mémoire du mode kernel● À l'espace mémoire des autres applications● À certains périphérique

● Pour gérer les droits, les processeurs dispose de plusieurs mode d'exécution

– Un mode protégé correspondant au mode user, dans lequel tout n'est pas accessible

– Un mode privilégié correspondant au mode kernel dans lequel on peut tout modifier

Page 46: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Accès au mode noyau

● Les zones de mémoire contenant le code du noyau sont en mode privilégié

– On ne peut pas y accéder en mode user– On y accède par une interruption– Le système passe en mode privilégié– Le noyau traite l'interruption– Retour en mode user et poursuite du programme

Page 47: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Passage en mode noyau

● Le passage en mode noyau se fait– Lors d'une interruption matérielle

● Le système passe en mode privilégié et exécute alors le code du noyau prévu pour cette interruption

– Lors d'une anomalie● Le système lève alors une exception, passe en mode privilégié

et exécute le code prévu pour cette exception

– Lors d'une demande de service au noyau via un appel système

● Il s'agit d'un interruption logicielle voulue par l'application appelante

● Le système passe en mode privilégié et exécute le code du noyau correspondant à l'appel système

Page 48: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Interruptions

● C'est un signal déclenché soit– Par un périphérique matériel

● Elle peut survenir à n'importe quel moment● Le code permettant de traiter l'interruption est appelé pilote

– Par une demande logicielle● Instruction spéciale déclenchant une interruption logicielle

● Le code à exécuter lors du déclenchement d'une interruption est installé à l'initialisation du système

● Ce code fait parti du noyau

Page 49: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Exceptions

● Ce sont les réponse du processeur à une instruction incorrecte lors de l'exécution d'un programme

– C'est une interruption générée par le processeur– Elles permettent de signaler les erreurs dans le code

(faute de droits, par exemple)– Elles permettent la récupération des anomalie par le

noyau● Par exemple, allouer des ressources aux programmes qui

demandent des ressources inexistantes

Page 50: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Traitement des interruptions

● Lors d'une interruption, le processeur exécute une routine du noyau mise en place lors de l'initialisation du système

User mode

Kernel mode

Programme 1 Programme 1

Routine du noyau

Appel système

Retourd'interruption

Programme 2

Routine du noyau

interruption horloge

Retourd'interruption

Page 51: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Appels systèmes

● Ce sont des fonctions dont :– L'appel se fait dans un programme en user mode– L'exécution se fait en mode kernel– Le retour se fait dans le programme appelant en user

mode

● L'appel se fait par une interruption logicielle unique (0x80)

– Cette interruption permet de passer en mode noyau– Les appels systèmes sont numérotés– Une table permet de faire la correspondance entre le

numéro de l'appel et la fonction du noyau à appeler

Page 52: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Linux 0.01

● Les appels systèmes sont disponibles dans la glibc

#define _syscall0(type,name) \type name(void) \{ \type __res; \__asm__ volatile ("int $0x80" \

: "=a" (__res) \: "0" (__NR_##name)); \

if (__res >= 0) \return __res; \

errno = ­__res; \return ­1; \}

Page 53: 3IS - Système d'exploitationperso-etis.ensea.fr/~picard/pluxml/data/documents/os/cours_1.pdf · Caractéristiques de Systèmes ... mise au point de la première version UNIX ...

ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET DE SES APPLICATIONS

Chemin de contrôle du noyau

● Un chemin de contrôle du noyau (kernel control path) est la séquence d'instruction exécutée par le noyau pour répondre à une interruption

● Plusieurs chemin de contrôle peuvent être entrelacés

– Un processus demande une ressource non disponible immédiatement, et un autre processus est exécuté à la place

– Une interruption est levée pendant l'exécution d'un chemin de contrôle

● Noyau réentrant obligatoire