Académique Documents
Professionnel Documents
Culture Documents
Audrey Queudet
Université de Nantes
2010
Projet DVD-MIAGE
1
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Plan du cours
Programmation shell
Processus et parallélisme
Ordonnancement
Communication et synchronisation
Gestion de la mémoire
Gestion de E/S
2
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Plan du cours
Programmation shell
Processus et parallélisme
Ordonnancement
Communication et synchronisation
Gestion de la mémoire
Gestion de E/S
3
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Introduction aux systèmes d'exploitation
1. l'écran
2. la carte mère
3. le processeur
6. l'alimentation
9. le clavier
10. la souris
4
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Introduction aux systèmes d'exploitation
Applications
SE
Matériel
5
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Introduction aux systèmes d'exploitation
SYSTEME D'EXPLOITATION
6
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Introduction aux systèmes d'exploitation
7
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Introduction aux systèmes d'exploitation
Processus :
programme en cours d'exécution auquel est associé du code,
des données et des ressources
Mémoire :
organe d’un ordinateur permettant d’enregistrer, de stocker et de
restituer des données
Système de fichiers :
structure de données permettant de stocker les informations et de les
organiser dans des fichiers sur des mémoires secondaires (disque dur,
disquette, CD-ROM, clé USB, disques SSD, etc.)
Périphériques d'E/S :
composants de matériel informatique assurant les communications
entre l'unité centrale de l'ordinateur et le monde extérieur, en particulier
l'utilisateur (clavier, souris, scanner, webcam, imprimante, modem, etc.)
8
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Introduction aux systèmes d'exploitation
9
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Introduction aux systèmes d'exploitation
Microsoft Windows
1.0 - 3.x - 95 - 98 - Me - NT - 2000 - XP - 2003 - Vista - 2008
GNU/Linux
Debian - Fedora - Gentoo - Mandriva - Red Hat - Slackware
SuSE - Ubuntu
Mac OS
Système 5 - 6 - 7 - 8 - 9
Mac OS X -.0 -.1 -.2 -.3 -.4 -.5- .6 - Server
BSD
FreeBSD - NetBSD - OpenBSD - DragonFly BSD - PC-BSD
Autres
AmigaOS - BeOS - DOS - Inferno - LynxOS - Haiku - OS/2 - QNX - Solaris - UNIX
MVS - OS/360 - OS/390 - OS/400 - Plan 9 - ReactOS - VMS - ZETA - FreeDOS
10
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Introduction aux systèmes d'exploitation
Microsoft Windows
11
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Introduction aux systèmes d'exploitation
UNIX
12
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Plan du cours
Programmation shell
Processus et parallélisme
Ordonnancement
Communication et synchronisation
Gestion de la mémoire
Gestion de E/S
13
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Présentation générale d'UNIX
Les origines
Développement de 2 branches :
BSD développé à l'Université de Berkeley (Californie)
System V vendu par AT&T à Sun Microsystems, IBM, DEC et HP
Caractéristiques principales
Multitâche
Multi-utilisateur
Portable
Interactif
15
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Présentation générale d'UNIX
Outils disponibles
Editeurs de texte
Développement logiciel
Communication
Documentation
Bureautique
16
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Présentation générale d'UNIX
Structure générale
Langages
de commandes (shell)
Outils
d’édition
Outils
Gestion Gestion
Ordonnanceur de
E/S mémoire Niveau Niveau Niveau
compil.
Noyau Exécutif SE
Gestion
du temps
Outils de
debuggage
17
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Présentation générale d'UNIX
4 types de fichiers :
Ordinaire : données, programme
Répertoire : contient d'autres données ou répertoires
Lien symbolique : pointe vers un autre fichier
Spécial : permet l'accès à un périphérique
Chaque fichier est caractérisé par son nom, sa taille, ses droits d'accès,
son propriétaire, ses dates de création, de modification...
L'arborescence UNIX
racine
Liste des
périphériques
Commandes
système
Accès aux
périphériques
Utilitaires
Fichiers temporaires
Bibliothèques
système
19
Utilisateurs
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Présentation générale d'UNIX
Chemin absolu :
/home/queudet/programmes/progC/p1.c
/home/queudet/textes/lettre.txt
Utilisateurs et groupes
Exemples :
root:12dGe12ge35qF:0:0:root:/users/root:/bin/bash
pascal:12dGeg5AqFdhr2:500:100:Pascal:/users/pascal:/bin/tcsh
21
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Présentation générale d'UNIX
22
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Présentation générale d'UNIX
Droits Valeur
--- 0
--x 1
-w- 2
-wr 3
r-- 4
r-x 5
rw- 6
rwx 7
Exemples :
-rw------- :
drw-r—-r-- :
drwxr-x--- :
23
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Présentation générale d'UNIX
A) Documentation en ligne
B) Navigation dans l'arborescence
C) Visualisation de fichiers
D) Manipulation de fichiers
E) Gestion des droits d'accès
F) Processus
G) Identification des utilisateurs
H) Recherche de fichiers ou de chaînes de caractères
I) Utilitaires classiques : éditeurs, compilateurs
J) Redirections et tubes
24
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Présentation générale d'UNIX
TITLE
NAME
SYNOPSIS
DESCRIPTION
OPTIONS
USAGE
EXAMPLES
SEE ALSO
25
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Présentation générale d'UNIX
Sections :
26
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Présentation générale d'UNIX
Changement de répertoire :
cd chemin
cd /home
cd textes
cd ../programmes
Options : - d - l
- i - a
- x - t
- u - r
- R - F
Exemple :
ls -l textes
total 2
-rw-rw-r-- 1 Olivier etudiant 168 Dec 2 15:09 chant.txt
-rw-r--r-- 1 Olivier etudiant 81 Nov 30 14:19 lettre.txt
28
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Présentation générale d'UNIX
29
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Présentation générale d'UNIX
D) Manipulation de fichiers
30
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Présentation générale d'UNIX
Exemple :
chmod go+rx programmes/progc
chmod o-w textes/*.txt
chmod 765 textes/lettre.txt
31
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Présentation générale d'UNIX
F) Processus
Exemple :
ps -u dupont
ps -r
ps -elf
32
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Présentation générale d'UNIX
33
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Présentation générale d'UNIX
Affichage des lignes d'un ou plusieurs fichiers contenant une ch. de car. :
grep [-options] expression fichier
grep "Cher Monsieur" textes/*.txt
textes/lettre.txt:Cher Monsieur,
Exemples :
find programmes -name "*.c"
./programmes/progc/p1.c
./programmes/progc/p2.c
find . -type d -name "*s" -print
./programmes/
./textes/
35
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Présentation générale d'UNIX
Autres éditeurs :
emacs
gedit
xedit
Compilateurs :
cc
gcc
g++
f77
pc
36
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Présentation générale d'UNIX
37
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Présentation générale d'UNIX
101110010
1100011101
1110010110
1111000101
110001011
ls -l
Le Shell
cat f
mv fi
wc -l
cp te
grep
39
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Plan du cours
Programmation shell
Processus et parallélisme
Ordonnancement
Communication et synchronisation
Gestion de la mémoire
Gestion de E/S
40
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Programmation shell
2 modes d'utilisation :
Simple interpréteur de commandes (mode interactif)
Langage de programmation interprété (scripts)
41
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Programmation shell
Le shell affiche une invite en début de ligne, appelée prompt ('$' ou '#'
ou '%'), pour indiquer à l'utilisateur qu'il attend l'entrée d'une commande
42
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Programmation shell
43
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Programmation shell
Relative lenteur
44
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Programmation shell
C shell : csh
Tenex C shell (version moderne du csh) : tcsh
Shell de Kenneth Almquist prenant peu de place sur le disque :
Almquist shell : ash
Debian Almquist shell : dash
Z Shell (zsh), intégrant les fcts les plus pratiques de bash, ksh et tcsh
45
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Programmation shell
Caractères spéciaux
Variables
variables d'environnement
variables de l'utilisateur
Opérateurs
Structures de contrôle
exécution conditionnelle
choix multiple
boucle for
boucles while et until
Expressions régulières
46
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Programmation shell
Caractère Description
* Métacaractère qui remplace n'importe quelle chaîne de caractères (même vide)
? Métacaractère qui remplace un caractère quelconque
; Permet de séparer plusieurs commandes écrites sur une même ligne
( ) Regroupe des commandes
& Permet le lancement d'un processus en arrière plan
| Permet la communication par tube entre deux commandes
# Introduit un commentaire. Tout ce qui suit dans une ligne est ignoré par le shell
\ Déspécialise le caractère qui suit
'...' Définit une chaîne de caractères qui ne sera pas évaluée par le shell
"..." Définit une chaîne de caractères dont les variables seront évaluées par le shell
`...` Définit une chaîne de caractères qui sera interprétée comme une commande et
remplacée par la chaîne qui serait renvoyée à l'exécution de la dite commande
47
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Programmation shell
Variable Description
PWD Stocke le chemin et le nom du répertoire courant
HOSTNAME Nom du serveur
HISTSIZE Taille de l'historique des dernières commandes passées au shell
LANGUAGE Suffixe de la langue du système
PS1 Chaîne apparaissant à l'invite du Shell
USER Nom de l'utilisateur
DISPLAY Adresse du terminal d'affichage
SHELL Chemin et nom du programme Shell
HOME Chemin du répertoire de connexion
PATH Liste des répertoires où chercher les exécutables des commandes externes
48
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Programmation shell
Exemples :
printenv
PWD=/home/Olivier
LANG=fr
SHELL=/bin/bash
printenv LANG
fr
49
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Programmation shell
Variables de l'utilisateur
Exemples :
EMAIL=audrey.queudet@univ-nantes.fr
moi=audrey
vous=L2
phrase1="Bonjour $vous, moi c\'est $moi"
phrase2='Bonjour $vous, moi c\'est $moi'
echo $phrase1
Bonjour L2, moi c'est audrey
echo $phrase2
Bonjour $vous, moi c\'est $moi
rep=`pwd`
echo $rep
/home/queudet/data
50
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Programmation shell
Opérateur Description
-e filename Vrai si filename existe
-d filename Vrai si filename est un répertoire
-f filename Vrai si filename est un fichier ordinaire
-L filename Vrai si filename est un lien symbolique
-r filename Vrai si filename est lisible (r)
-w filename Vrai si filename est modifiable (w)
-x filename Vrai si filename est exécutable (x)
file1 -nt file2 Vrai si file1 plus récent que file2
file1 -ot file2 Vrai si file1 plus ancien que file2
51
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Programmation shell
Opérateur Description
-z chaîne Vrai si la chaîne est vide
-n chaîne Vrai si la chaîne est non vide
chaîne1 = chaîne2 Vrai si les deuxchaînes sont égales
Chaîne1 != chaîne2 Vrai si les deuxchaînes sont différentes
52
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Programmation shell
Opérateurs arithmétiques
Opérateur Description
+ addition
- soustraction
* multiplication
/ division
** puissance
% modulo
Expressions arithmétiques :
$(( ... ))
n=1
echo $(( 5*n+1 ))
53
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Programmation shell
Opérateur Description
num1 -eq num2 égalité
num1 -ne num2 inégalité
num1 -lt num2 inférieur (<)
num1 -le num2 inférieur ou égal (≤)
num1 -gt num2 supérieur (>)
num1 -ge num2 supérieur ou égal (≥)
54
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Programmation shell
Opérateurs booléens
Opérateur Description
-a ET logique
-o OU logique
! NON logique
55
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Programmation shell
56
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Programmation shell
57
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Programmation shell
Schéma classique
for VAR in LISTE
do
actions
done
Schéma alternatif
for ((initialisation de VAR; contrôle de VAR; modification de VAR))
do
actions
done
58
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Programmation shell
while [ condition ]
do
actions
done Condition de continuation de la boucle
until [ condition ]
do
actions
done Condition d'arrêt de la boucle
59
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Programmation shell
60
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Programmation shell
Opérateur Description
. Correspond a tout caractère
? L'élément précédent est optionnel et sera présent au plus une fois
* L'élément précédent sera présent zéro fois ou plus
+ L'élément précédent sera présent une fois ou plus
{N} L'élément précédent sera présent exactement N fois
{N,} L'élément précédent sera présent N ou plus de fois
{N,M} L'élément précédent sera présent au moins N fois, mais pas plus de M fois
- Représente l'intervalle s'il n'est pas le premier ou le dernier dans une liste
^ Correspond à une chaîne vide au début de la ligne; Représente aussi les caractères
ne se trouvant pas dans l'intervalle d'une liste
$ Correspond à la chaîne vide à la fin d'une ligne
\b Correspond à la chaîne vide au début ou à la fin d'un mot
61
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Programmation shell
62
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Programmation shell
ou . bonjour.sh
ou sh bonjour.sh
ou exec bonjour.sh
63
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Programmation shell
Programmation shell
Processus et parallélisme
Ordonnancement
Communication et synchronisation
Gestion de la mémoire
Gestion de E/S
65
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Processus et parallélisme
66
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Processus et parallélisme
67
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Processus et parallélisme
Mise en forme
HD
68
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Processus et parallélisme
init (1)
konsole (530) konsole (531) konsole (532) konsole (533) lpd (408)
Exemples :
ps -ef
UID PID PPID C STIME TTY TIME COMMAND
root 1 0 0 Dec 6 ? 1:02 init
...
jean 319 300 0 10:30:30 ? 0:02 /usr/dt/bin/dtsession
olivier 321 319 0 10:30:34 ttyp1 0:02 csh
olivier 324 321 0 10:32:12 ttyp1 0:00 ps -ef
ps -efu Olivier
olivier 321 319 0 10:30:34 ttyp1 0:02 csh
olivier 324 321 0 10:32:12 ttyp1 0:00 ps -efu
71
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Processus et parallélisme
72
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Processus et parallélisme
processus 2
execlp(B)
(enfant) exit()
73
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Processus et parallélisme
74
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Processus et parallélisme
blocage
actif bloqué
préemption
élection réveil
prêt
P3
L'ordonnanceur
P1 CPU
P2
76
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Plan du cours
Programmation shell
Processus et parallélisme
Ordonnancement
Communication et synchronisation
Gestion de la mémoire
Gestion de E/S
77
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Ordonnancement
Compromis entre :
Temps de traitement moyen du système
Utilisation efficace du processeur
Temps de réponse moyen/max du système
Satisfaction des conditions d'échéance pour les processus
Bonne utilisation des autres ressources du système
78
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Ordonnancement
Systèmes interactifs
répondre rapidement aux requêtes
répondre aux attentes des utilisateurs
ORDONNANCEUR PROCESSEUR
processus élu
file d’attente
file d’attente des
des processus bloqués
processus prêts
80
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Ordonnancement
Critères d’ordonnancement
Utilisation du processeur
Temps de traitement
Temps d'attente
Temps de réponse
Prévisibilité
Equité
Priorités
81
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Ordonnancement
Monoprocesseur / multiprocesseur
En-ligne / Hors-ligne
Centralisé / Réparti
82
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Ordonnancement
83
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Ordonnancement
Ordonnancement préemptif
CPU
Round-Robin (RR)
84
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Ordonnancement
85
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Ordonnancement
Intérêts :
Algorithme facile à comprendre
Faible complexité d'implémentation (une seule liste chaînée)
Inconvénients :
Pas de prise en compte de l’importance relative des processus
Temps d'attente du processeur généralement important
86
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Ordonnancement
87
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Ordonnancement
Intérêts :
SJF réduit le temps d'attente des processus
Utilisation limitée à des environnements et à des applications spécifiques
Inconvénients :
Pas de prise en compte de l’importance relative des processus
Algorithme optimal uniquement dans le cas où tous les processus sont
disponibles simultanément
88
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Ordonnancement
89
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Ordonnancement
Intérêts :
SRT minimise le temps d'attente moyen des processus les plus courts
Utilisation limitée à des environnements et à des applications spécifiques
Inconvénients :
Pas de prise en compte de l’importance relative des processus
Non équité de service : SRT pénalise les processus longs
Possibilité de famine pour les processus longs
90
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Ordonnancement
Intérêts :
Equité de l’attribution du processeur entre toutes les tâches
Mise en œuvre simple
Inconvénients :
Pas de prise en compte de l’importance relative des tâches
Difficulté du choix de la tranche de temps
Si q est trop grand, Round-Robin devient équivalent à FIFO
Si q est trop petit, il y a augmentation du nombre de changements
de contexte !
92
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Ordonnancement
Intérêts :
Prise en compte de l'importance relative des processus
Mise en œuvre simple
Inconvénients :
Problèmes de blocages durant des périodes de temps illimitées
Problèmes de famines des processus de moindres priorités
94
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Ordonnancement
Détermination du bonus :
Temps de sommeil moyen Bonus
Entre 0 et 100ms 0
1 seconde 10
97
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Ordonnancement
/usr/src/linux2.6.x/kernel/sched.c
98
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Plan du cours
Programmation shell
Processus et parallélisme
Ordonnancement
Communication et synchronisation
Gestion de la mémoire
Gestion de E/S
99
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Communication et synchronisation
Contexte (1)
100
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Communication et synchronisation
Contexte (2)
101
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Communication et synchronisation
Contexte (3)
Une ressource est dite critique lorsque des accès concurrents à cette
ressource peuvent mener à un état incohérent
102
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Communication et synchronisation
process#1 process#2
utilise Ressource#1
process#1 attend process#2
attend utilise
Ressource#2
105
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Communication et synchronisation
attend utilise
Ressource#1 Ressource#2
process#1 process#4
utilise attend
Paradigmes de concurrence
107
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Communication et synchronisation
108
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Communication et synchronisation
109
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Communication et synchronisation
110
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Communication et synchronisation
Principe :
Les lecteurs n'ont besoin de cette exclusion mutuelle que dans le cas
où aucun autre lecteur n'utilise la mémoire
111
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Communication et synchronisation
Pour manger, ils ont besoin de 2 fourchettes mais il n'y a que 5 fourchettes
112
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Communication et synchronisation
Principe :
113
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Communication et synchronisation
- de communication
- de synchronisation
114
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Communication et synchronisation
Communications inter-processus
3 catégories de mécanismes :
outils permettant aux processus de s'échanger des données
les fichiers
la mémoire partagée
outils permettant de synchroniser des processus
les sémaphores
les signaux
outils permettant d'échanger des données et de synchroniser des processus
les tubes
les files d'attente de messages
115
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Communication et synchronisation
process#1
-------
process#3
-------
--------
-------
------
flock()
LOCK_SH : verrouillage en mode partagé
LOCK_EX : verrouillage en mode exclusif
lockf()
F_TEST : teste si une zone est verrouillée
F_LOCK : verrouille une zone
fcntl()
117
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Communication et synchronisation
Espace d'adressage
du processus
Segment de
mémoire partagée
118
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Communication et synchronisation
IPC_STAT
IPC_SET
SHM_LOCK
SHM_UNLOCK
...
119
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Communication et synchronisation
compteur
Sémaphore
Sem
120
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Communication et synchronisation
Exclusion mutuelle
Section critique
process#1 process#2
Barrière de synchronisation
process#1 process#2
121
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Communication et synchronisation
Sem.P() : si (Sem.compteur>0)
alors Sem.compteur = Sem.compteur-1
sinon insère_ce_processus(Sem.file)
finsi
P3
P8 P5 P3 P8 P5
liste d'attente des processus liste d'attente des processus
bloqués sur le sémaphore bloqués sur le sémaphore
122
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Communication et synchronisation
P3
P5 P5
liste d'attente des processus liste d'attente des processus
bloqués sur le sémaphore bloqués sur le sémaphore
123
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Communication et synchronisation
Types de sémaphores :
124
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Communication et synchronisation
semget()
création d'un tableau de sémaphores
semop()
test de prise d'un sémaphore (sem.P())
libération d'un sémaphore (sem.V())
semctl()
initialisation d'un sémaphore
suppression d'un sémaphore
125
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Communication et synchronisation
process#1
signal
Ctrl-C
Noyau du SE
126
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Communication et synchronisation
127
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Communication et synchronisation
Un caractère de contrôle :
CRTL-C envoie SIGINT (interruption)
CRTL-Z envoie SIGSTOP (suspension)
CRTL-\ envoie SIGQUIT (fin)
En ligne de commande :
kill [-no_signal] no_processus
kill -9 4014
129
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Communication et synchronisation
130
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Communication et synchronisation
process#1 process#2
Les tubes peuvent être considérés comme des fichiers ouverts (sans
l'inconvénient des accès coûteux au système de fichier du disque)
131
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Communication et synchronisation
132
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Communication et synchronisation
process#4 process#5
133
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Communication et synchronisation
la communication
identification unique du destinataire et de l'expéditeur du message
description exacte des données
description de l'adressage
la synchronisation
envoi bloquant ou non
réception bloquante ou non
priorité des messages
msgget()
création d'une nouvelle file de messages
accès à une file de messages existante
msgsend()
envoi d'un message dans une file
msgctl()
contrôle d'une file (suppression, permissions, etc.)
135
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Communication et synchronisation
137
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Plan du cours
Programmation shell
Processus et parallélisme
Ordonnancement
Communication et synchronisation
Gestion de la mémoire
Gestion de E/S
138
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion de la mémoire
le temps d'accès
le temps de cycle
le débit
la non volatilité
3 types de mémoires :
Mémoire morte (appelée également mémoire non volatile)
mémoire ROM (Read-Only Memory)
mémoire ne s'effaçant pas en absence de courant électrique
mémoire conservant les données nécessaires au démarrage de l'ordinateur
temps d'accès de l'ordre de 150ns
Mémoire vive (appelée également mémoire volatile)
mémoire RAM (Random Access Module)
données ne perdurant pas en l'absence de courant électrique
2 types de mémoire RAM : DRAM et SRAM
temps d'accès pour la DRAM de l'ordre de 50ns
temps d'accès pour la SRAM de l'ordre de 10ns
Mémoire flash
compromis entre la mémoire RAM et la mémoire ROM
non volatilité de la mémoire morte
accès en lecture/écriture de la mémoire vive
140
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion de la mémoire
Niveau matériel
les registres du processeur
la mémoire cache
Le gestionnaire de mémoire du SE
Mécanisme + Mécanismes
de mémoire virtuelle de découpage de la mémoire
142
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion de la mémoire
143
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion de la mémoire
process#1
espace d'adressage
de l'utilisateur
process#2
espace d'adressage
du noyau OS
144
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion de la mémoire
145
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion de la mémoire
146
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion de la mémoire
MMU
Mémoire Disque
adresses principale
virtuelles CPU
147
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion de la mémoire
par pagination
elle consiste à diviser la mémoire en blocs, et les programmes en
pages de longueur fixe.
par segmentation
les programmes sont découpés en parcelles ayant des longueurs
variables appelées segments.
148
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion de la mémoire
La pagination (1)
149
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion de la mémoire
La pagination (2)
Exemple :
150
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion de la mémoire
La pagination (3)
151
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion de la mémoire
La pagination (4)
un bit de présence 01
02
05
un bit de référence (R)
06
07
un bit de protection
152
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion de la mémoire
La pagination (5)
- 3 pages de code
Exemple de partage de code entre processus - 2 pages de données
153
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion de la mémoire
La pagination (6)
Verrouillage de pages
Applications
Processus temps réel
Applications multimédia
154
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion de la mémoire
La segmentation (1)
Cette adresse virtuelle est traduite en adresse physique par le biais d'une
table des segments
155
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion de la mémoire
La segmentation (2)
156
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion de la mémoire
La segmentation (3)
157
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion de la mémoire
Pagination :
Segmentation :
158
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion de la mémoire
La segmentation paginée
Adr. virtuelle
Unité de Adr. linéaire
Unité de Adr. physique
segmentation pagination
159
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion de la mémoire
La fragmentation mémoire
160
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion de la mémoire
La fragmentation (1)
Une mémoire fragmentée est une mémoire dans laquelle plusieurs blocs
de mémoire non contigus sont libres
161
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion de la mémoire
La fragmentation (2)
Mémoire Un process A
divisée en demande un
pages de 4Ko bloc de 5Ko
162
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion de la mémoire
La fragmentation (3)
Blocs de
mémoire
contiguës
contigus
B libère C demande plus
alloués
sa mémoire de mémoire qu'il
par A, B et C
n'y en a de
contiguë donc
celle-ci reste
inutilisée
163
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion de la mémoire
Algorithmes existants :
165
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion de la mémoire
L'algorithme de Belady
Principe : choisir la page qui sera référencée le plus tard possible dans
le futur
Algorithme optimal
Pages
demandées
3 cadres de
mémoire physique
temps
166
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion de la mémoire
L'algorithme FIFO
Pages
demandées
3 cadres de
mémoire physique
temps
167
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion de la mémoire
L'algorithme FINUFO
L'algorithme FINUFO
Exemple :
Pages
demandées
3 cadres de
mémoire physique
temps
169
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion de la mémoire
L'algorithme LRU
Pages
demandées
3 cadres de
mémoire physique
temps
170
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion de la mémoire
L'algorithme NRU
(R,M)=(0,0)
(R,M)=(0,1)
(R,M)=(1,0)
(R,M)=(1,1)
L'anomalie de Belady
172
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion de la mémoire
Zone de la pile
pile
tas
espace d'adressage BSS données non initialisées
de l'utilisateur
DATA données initialisées
TEXT instructions
+
174
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion de la mémoire
cat /proc/1/maps
08048000-0805e000 r-xp 00000000 08:05 1212502 /sbin/init
0805e000-0805f000 rw-p 00015000 08:05 1212502 /sbin/init
0805f000-0818b000 rw-p 0805f000 00:00 0 [heap]
b7e7a000-b7e7b000 rw-p b7e7a000 00:00 0
b7e7b000-b7fc4000 r-xp 00000000 08:05 169844 /lib/tls/i686/cmov/libc-2.7.so
b7fc4000-b7fc5000 r--p 00149000 08:05 169844 /lib/tls/i686/cmov/libc-2.7.so
b7fc5000-b7fc7000 rw-p 0014a000 08:05 169844 /lib/tls/i686/cmov/libc-2.7.so
b7fc7000-b7fca000 rw-p b7fc7000 00:00 0
b7fd7000-b7fd9000 rw-p b7fd7000 00:00 0
b7fd9000-b7fda000 r-xp b7fd9000 00:00 0 [vdso]
b7fda000-b7ff4000 r-xp 00000000 08:05 1114565 /lib/ld-2.7.so
b7ff4000-b7ff6000 rw-p 00019000 08:05 1114565 /lib/ld-2.7.so
bfd18000-bfd2d000 rw-p bffeb000 00:00 0 [stack]
175
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion de la mémoire
Exemple :
cat /proc/pid_process/statm
cat /proc/self/statm
734 148 126 7 0 61 0
176
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion de la mémoire
cat /proc/6252/status
Name: bash
State: S (sleeping)
Tgid: 6252
Pid: 6252
PPid: 6248
[...]
VmPeak: 5956 kB
VmSize: 5956 kB
VmLck: 0 kB
VmHWM: 3196 kB
VmRSS: 3196 kB
VmData: 1840 kB
VmStk: 84 kB
VmExe: 668 kB
VmLib: 1784 kB
VmPTE: 12 kB
Threads: 1
[...] 177
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion de la mémoire
Exemple :
vmstat nb_secondes nb_fois
vmstat 5 10
procs ---------memory---------- --swap-- --io--- --system- ---cpu----
r b swpd free buff cache si so bi bo in cs us sy id
. . .
1 0 13344 1444 1308 19692 0 168 129 42 1505 713 20 11 69
1 0 13856 1640 1308 18524 64 516 379 129 4341 646 24 34 42
3 0 13856 1084 1308 18316 56 64 14 0 320 1022 84 9 8
178
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion de la mémoire
brk(adr)
modifie la taille d'un segment de données
munmap(adr, lg)
supprime le mappage d'un fichier
179
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Plan du cours
Programmation shell
Processus et parallélisme
Ordonnancement
Communication et synchronisation
Gestion de la mémoire
Gestion de E/S
180
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion des E/S
La gestion des E/S par le système d'exploitation est un véritable défi lié
aux différences multidimensionnelles des périphériques :
rapidité du périphérique
service proposé
protocole de communication
181
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion des E/S
183
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion des E/S
184
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion des E/S
Dispositifs de pointage
Dispositifs d'acquisition
185
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion des E/S
186
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion des E/S
187
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion des E/S
188
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion des E/S
189
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion des E/S
190
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion des E/S
191
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion des E/S
Espace Programme
utilisateur utilisateur
Périphériques
192
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion des E/S
Les disques
disquettes
disques durs
193
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion des E/S
Sillon
en spirale
Secteur
194
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion des E/S
Segment
Secteur
Secteur Tête
Bras
Piste Cylindre
195
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion des E/S
Quelques chiffres :
196
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion des E/S
temps de positionnement S
temps de rotation R
temps de transfert T
A = S + R + T
197
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion des E/S
198
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion des E/S
FIFO
SSTF
SCAN et C-SCAN
LOOK et C-LOOK
F-SCAN
N-step SCAN
199
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion des E/S
10
35
20
Requêtes : 1, 36, 16, 34, 9, 12
Ordre de service : 1, 36, 16, 34, 9, 12 18
25
3
Nb total de cylindres parcourus : 111
200
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion des E/S
3
Requêtes : 1, 36, 16, 34, 9, 12
7
Ordre de service : 12, 9, 16, 1, 34, 36
15
33
2
Nb total de cylindres parcourus : 61
201
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion des E/S
18
Requêtes : 1, 36, 16, 34, 9, 12
2
Ordre de service : 12, 16, 34, 36, 9, 1
13
40
8
18
Requêtes : 1, 36, 16, 34, 9, 12
2
Ordre de service : 12, 16, 34, 36, 1, 9
13
49
1
8
Nb total de cylindres parcourus : 96
203
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion des E/S
18
27
18
35
8
Nb total de cylindres parcourus : 68
205
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion des E/S
F-SCAN
dans chaque sous-file les requêtes sont servies selon l'algorithme SCAN
206
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion des E/S
N-step SCAN
dans chaque sous-file les requêtes sont servies selon l'algorithme SCAN
207
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion des E/S
208
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion des E/S
En résumé...
L'interface fournie doit être simple et identique (si possible) pour tous
les périphériques
Sous Linux, tous les périphériques sont vus comme des fichiers spéciaux
dans l'arborescence :
/dev/cdrom : accès au CD-ROM
/dev/fd0 : accès au lecteur de disquette
/dev/hda : accès au premier disque dur
/dev/sda : accès à une clé usb
/dev/mouse : accès à la souris
209
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Gestion des E/S
210
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009
Références
211
Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009