Initiation aux technologies de l’information Frédéric Gava (MCF)

Download Report

Transcript Initiation aux technologies de l’information Frédéric Gava (MCF)

Initiation aux technologies
de l’information
Frédéric Gava (MCF)
[email protected]
LACL, bâtiment P2 du CMC, bureau 221
Université de Paris XII Val-de-Marne
61 avenue du Général de Gaulle
94010 Créteil cedex
Systèmes d’exploitation
Pourquoi ?
Qui est censé travailler sur un ordinateur : Albert
Einstein ? Stevee avec bouriquet ?
Comment rendre le système d’exploitation
accessible pour M. Quelconque ?
Comment rendre la vie facile pour les
programmeurs dans le système ?
Est-ce que le système devrait permettre de
rajouter/enlever des composants ?
Quel est le degré de communication du système
avec d’autre déjà existants ? Quel est son degré
d’intégration dans un système plus grand ?
3/118
Sources
http://www.univ-rouen.fr/LIFAR/Membres/caron/PascalCaron_files/ENS/LMD/se.html
A. TANENBAUM, Systèmes d’exploitation, Prentice
Hall, 1994
J.-M. RIFFLET, La programmation sous Unix. 3ème
éd., Ediscience, 1993
A. SILBERSCHATZ et P.-B. GALVIN, Principes des
syst`emes d’exploitation, Addison- Wesley, 1994
4/118
Histoire
Première génération
Des énormes machines pour des tâches pointues
Concepteurs, programmeurs, opérateurs et responsable
d’entretien formaient une seule et même équipe, souvent les
compétences s’entremêlaient
Programmation = construction d’un tableau de connexion !
Ordinateurs réservaient à une seule tâche à la fois
Mode d’opération :
L’opérateur réserve la machine sur le planning
L’opérateur prend sa table de connexion et la branche sur la
machine
L’opérateur croise les doigts pour qu’aucun tube cathodique ne
grille pas
L’opérateur récupère les résultats sur papier
Grande optimisation : lecteur de carte perforées
6/118
Seconde génération
Ordinateurs de plus en plus fiable grâce aux transistors et
au principe de l’unité centrale
Distinction entre les précédents métiers
Programmeur écrit des programmes sur papier, ensuite fait
perforer ses carte par une machine dédiée
Programmeur donne sa pile de cartes perforées à l’opérateur puis
se prend une grande pause café dans l’attente des résultats sur
papier
L’opérateur rajoute des « piles génériques » utilisées par les
programmeurs (bibliothèques de calcul etc.)
Goulot d’étranglement :
Temps d’unité centrale perdu si l’opérateur doit rechercher les
bonnes « piles » (d’autres cartes perforées)
Temps perdu par le programmeur car s’il y a la moindre erreur
même petite, il doit tout recommencer (une journée de perdu) 7/118
Progrès des architectures
Partage des tâches au niveau matériel :
Machines dédiées à la lecture de carte perforées sur
bande magnétique
Machines plus performantes en calculs numérique avec
E/S sur bande magnétique
Traitement par lots : déconnexion du temps d’E/S
du temps de programmation
E/S en différées : imprimantes déconnectées de
l’ordinateur (périphérique externe)
Problèmes d’optimisations : comment placer
plusieurs tâches sur une bande afin de sorte que les
temps d’attentes moyen soient minimisés
8/118
Troisième génération
Circuit intégrés
Intégration de systèmes dédiés dans une seule architecture
On commence à trouver des systèmes compatibles, pouvant
utiliser les mêmes logiciels, différenciés seulement par les
capacités matérielles (IBM…) :
Portabilité
Facilité de développement (équipe unique de concepteurs du SE,
OS « operating system » en anglais)
Faiblesse, les SE sont de grosses « usines à gaz » comprenant des
millions de lignes de code avec donc pleins de bogues…
Début des systèmes UNIX…
9/118
Progrès de cette génération
Multi-tâches/utilisateurs : partage de la mémoire
entre plusieurs tâches et utilisateurs :
problèmes de protection d’accès mémoire
partage du temps entre les différents tâches et utilisateurs
Spooling = opérations d’E/S exécuté en ligne
Les racines des SE actuels se trouvent dans les SE
développés pour les systèmes de 3ème génération
10/11
Quatrième génération
Progrès majeur, les GUI « Graphical user
interface »
possible grâce au nouveau faible coût des terminaux
(moniteurs) graphiques
plus grande facilité d’utilisation
mais pas de concepts vraiment nouveaux…
Windows, Mac OS, OS/2 etc.
11/11
Concepts fondamentaux
De quoi parle t’on ?
Ordinateur : Machine permettant de stocker des informations et
d’effectuer des calculs (beaucoup plus rapide que l’humain)
Cet ordinateur regroupe un certain nombre de composants que
nous appellerons matériel (hardware)
Les logiciels sont des séquences d’instructions que l’on appelle
souvent programmes. Un programme est l’implantation d’un
ensemble de méthodes de résolution de problèmes dans un
langage compris par l’ordinateur
La méthode de résolution est ce que l’on appelle l’algorithme
Le système d’exploitation d’un ordinateur est un programme
servant d’interface entre le matériel et les utilisateurs. Son but
est de rendre le maniement de l’ordinateur facile et de proposer
une utilisation efficace de celui-ci
13/11
Objectifs essentiels (1)
On peut faire une décomposition de l’ordinateur
selon les 4 grandes classes suivantes :
Les utilisateurs (et leurs programmes),
Les programmes d’application
Le système d’exploitation,
Le matériel
Utilisateurs
Système
d’exploitation
Ressources
Machine virtuelle
14/11
Objectifs essentiels (2)
Le système d’exploitation (ou OS, pour « Operating System ») est chargé
d’assurer la liaison entre :
Les ressources matérielles via les pilotes (« drivers »); c’est une application qui
sert d’interface entre l’SE et le matériel (carte réseau, etc.) ; sans pilote, chaque
application devrait apprendre à parler à tous les matériels
L’utilisateur
Les applications
Le SE permet ainsi à l’utilisateur de s’affranchir de la complexité du
matériel en communiquant à travers une interface homme machine (IHM,
GUI en anglais)
Les buts sont donc :
masquer le matériel
rendre la machine plus « friendly »
Fournir des méthodes standards d’accès aux ressources mémoires/calculs
Permette un usage efficace des ressources indépendamment du programme à
exécuter
Permettre un usage honnête aux utilisateurs honnêtes (protection
fichiers/programmes, comptes utilisateurs, etc.)
15/11
En résumé
Utilisateurs
Programmes
Interface utilisateur
Système d’exploitation
Pilotes (Drivers)
Ordinateur / Matériel
16/11
Aspects d’un SE
Illusionniste : machine virtuelle
Gestionnaire par politique de gestion des ressources
Impérialiste : le plus général possible et on doit
quasiment toujours passer par lui
Protectionniste : utilisateurs entre-eux, utilisateurs
extérieurs (pirates), systèmes des utilisateurs
Contradictoire : général, simple et efficace =
compromis à faire
17/11
Exemple
Un système informatique complexe peut être composé
d’une multitude de périphériques.
Imaginez ce qui se passerait si trois programmes
s’exécutant sur la même machine tentaient d’imprimer leur
résultat simultanément:
Aurait-on une ligne provenant de chacun des programmes ? un
caractère ? On voit ici que le rôle du système d’exploitation dans la
répartition des périphériques aux différents utilisateurs est essentiel
C’est donc le SE qui stocke les données allant vers l’imprimante et
qui s’occupe de gérer une file d’attente.
18/11
Principaux composants
Le SE est essentiellement composé :
d’un gestionnaire des processus (ordonnanceur)
gestionnaire de la mémoire vive
simulateur d’une grande mémoire vive (« swapper »)
système de fichier
droit d’accés
sauvegarde
classement (répertoires, fichiers, recherches logiques)
Le tout est gérer par un chef d’orchestre appelé noyau
(« kernel ») et qui gère aussi
les périphériques
interruptions systèmes
etc.
en gros, tout ce qui se passe dans la machine…
19/11
L’interface graphique
Qu’est-ce ?
L’interface graphique d’un SE est la partie visible de l’iceberg
C’est ce que l’utilisateur voit.
Bien « comprendre » la machinerie que se cache dernière l’interface
permet de mieux l’utiliser
L’interface est un environnement de travail graphique permettant
d'effectuer les diverses tâches dévolues à un micro-ordinateur
Et ce, de la manière la plus conviviale possible
Parfois au dépend de l’efficacité d’où des compromis et de longue
études :
les utilisateurs lambda préfère la facilité à l’efficacité
les informaticiens le contraire
les pro non informaticiens (les vrais cibles de l’industrie) oscillent entre les 2
Un grand nombre de principes (souris, fenêtre, icônes, menu, menu
déroulant, etc.) n’ont pas changé depuis longtemps…
21/11
Et pour nous ?
Dans notre cas, nous allons regarder et étudier Windows
XP
Pourquoi ?
Alors très répandu
Celui qui est installé dans les salles machines
Seul Windows qu’à l’enseignant (en plus de Linux)
Facile d’emploie mais pas des plus efficace
GNU/Linux, en général, plus efficace mais plus compliqué
Mac OS X, les 2 mais plus cher et bcp moins répandue
22/11
Windows (1)
icône de raccourci
menu démarrer
icône de dossier
fenêtre
barre des tâches
23/11
Animation (double clic dessus)
24/11
Windows (2)
icônes standards : dossier, fichier (document, programme...),
raccourci
icônes spéciales : poste de travail, corbeille
Le menu Démarrer donne notamment l'accès :
aux programmes du disque dur, dont l'explorateur Windows (qui procure une
interface pour gérer les dossiers)
aux paramètres (dossier Panneau de configuration et dossier Imprimantes)
à la fonction Rechercher, qui permet de retrouver un fichier à partir d'une partie
de son nom
à l'aide et l'option Arrêter qui propose alors d'arrêter ou de redémarrer
Le panneau de configuration ; il contient, parmi d'autres, les
éléments suivants :
Affichage, pour gérer l'écran : fond d'écran, taille et nombre de couleurs,
économiseur d'écran (écran de veille)
Ajout de nouveau matériel, pour installer un périphérique
Ajout/suppression de programmes, pour désinstaller un programme, ajouter des
composants de Windows ou créer une disquette de démarrage
Système, pour gérer les périphériques et les performances du système
25/11
Exemple fenêtre : le poste de travail
barre des menus
agrandissement/réduction
mise en barre des tâches
fermeture
icône sélectionnée
26/11
Animation (double clic dessus)
27/11
Raccourcies clavier
Son contenu dépend de l'application utilisée (Windows,
Word, ...).
Les éléments standards :
Menu Fichier
Nouveau
Ouvrir
Fermer
Enregistrer
Enregistrer sous...
Quitter
Ctrl+N nouveau fichier / dossier
Ctrl+O ouvrir un fichier
Ctrl+S enregistrer un document
enregistrer ailleurs
Ctrl+Q quitter l'application en cours
Menu Edition
Annuler
Couper
Copier
Coller
Ctrl+Z
Ctrl+X
Ctrl+C
Ctrl+V
annule la dernière opération
supprime et mémorise
copie et mémorise
insère l'élément mémorisé
28/11
Presse papier (ou copier/coller)
Zone commune à toutes les applications
fonctionnant sous Windows et même à Windows lui
même (fichier dans l’explorateur etc.)
Emplacement des éléments copiés
Presse papier
Document word
Document excel
29/11
Presse papier (ou copier/coller)
Presse papier
Document word
Document excel
copier
30/11
Presse papier (ou copier/coller)
Presse papier
Document word
Document excel
coller
31/11
Animation (double clic dessus)
32/11
Bouton droit de la souris
Il ouvre un menu
déroulant (menu
contextuel) qui dépend
de l'objet pointé par la
souris.
Exemple d’un disque
:
33/11
Boîte de dialogue
Elles permettent de spécifier les paramètres de
l'action en cours. Elles apparaissent généralement
quand on choisit une option d'un menu dont le nom
se termine par des pointillés.
Exemple (menu Démarrer option Rechercher... ) :
bouton par défaut
(appui sur Entrée)
zone de saisie
menu déroulant
34/11
Animation (double clic dessus)
35/11
Les menus sous Windows (1)
Le menu « Fichier » permet de créer des nouveaux
« projets » (fichiers), de les mettre sur le disque dur,
de les reprendre du disque
Il permet d’autres opérations générales, comme
quitter l’application
36/11
Les menus sous Windows (2)
Le menu édition permet de copier, coller, supprimer
des données de la zone de travail
Ces copies peuvent avoir lieu entre applications
On peut aussi « annuler » la ou les dernières
manipulations effectuées
37/11
La corbeille
Divers
Elle permet de supprimer un fichier. Il suffit de déplacer (cliquer / glisser) l'icône d'un
fichier et de le placer sur la corbeille (qui doit être grisée).
On peut aussi supprimer un fichier par le bouton droit de la souris (option supprimer).
La corbeille est un dossier qui contient tous les fichiers supprimés, lesquels peuvent être
récupérés en cas d'erreur. Quand la corbeille occupe beaucoup de place sur le disque dur,
il faut la vider (clic droit sur l'icône de la corbeille). Les éléments sont alors
définitivement supprimés.
La copie et le déplacement d'un fichier ; Plusieurs solutions sont possibles.
utiliser l'Explorateur Windows
utiliser le copier / coller (vs couper / coller qui déplace le fichier puisque supprimer à
l’origine)
utiliser l'option envoyer vers (clic droit sur l'élément)
utiliser le cliquer / glisser : on déplace ainsi un ou plusieurs fichiers d'une fenêtre vers
l'intérieur d'une autre fenêtre ou alors vers une icône de dossier ou de disque ;
Important : si le dossier d'origine et le dossier destinataire appartiennent au même
support magnétique, il y aura déplacement. Dans le cas contraire, il y aura copie (le
signe + apparaît). On peut forcer la copie en appuyant sur la touche Ctrl quand on
relâche le bouton de la souris.
38/11
Les processus et leurs
ordonnancement
Définition
Un processus est un programme en cours d’exécution. C’est-àdire, un programme à l’état actif. Un processus regroupe
un programme exécutable
sa zone de données
son compteur ordinal (où est-ce que l’on en ai dans la suite
d’instruction du programme ?)
ainsi que toutes autres informations nécessaire à l’exécution du
programme (pile d’exécution, fichiers ouverts, etc.)
Un seul processus est exécuté à la fois sur un processeur (donc
si 2 processeurs, 2 processus en même temps…).
Comme le processeur commute entre les différents processus,
on a une impression de parallélisme. Le compteur ordinal permet
de garder en mémoire la prochaine instruction à exécuter.
2 processus peuvent être associés au même programme
Histoire de la confiture de « maman »
40/11
Cycle de vie d’un processus
Chaque processus peut se trouver dans un des états suivants :
Nouveau ; le processus est en cours de création
Élu ; le processus est en cours d’exécution sur le processeur
Éligible (ou prêt) ; le processus attend d’être sélectionné
En attente (ou bloqué) ; le processus attend qu’un évènement extérieur
se produise
Terminé ; le processus a fini son exécution
PECA
41/11
Ordonnanceur (1)
Le SE comporte donc un ordonnanceur « scheduller » qui a
pour but de sélectionner les processus élus
Cette ordonnanceur comporte donc ;
une file d’attente des processus
table des processus contenant des informations sur leur état
(compteur ordinal, registres UC utilisés, priorité du processus,
information sur la mémoire et les E/S utilisée
Le rôle majeur de l’ordonnancement est de maximiser
l’utilisation des ressources. Un bon algorithme
d’ordonnancement doit être capable de :
assurer que chaque processus reçoit sa part du temps processeur
utiliser le temps processeur à 100% (au maximum)
minimiser le temps de réponse des processus interactifs
maximiser le nombre de travaux effectués dans un intervalle de
42/11
temps.
Ordonnanceur (2)
PECA
Pour s’assurer qu’un processus ne prendra pas tout le temps
CPU, chaque ordinateur dispose d’une horloge qui génère des
interruptions. A chaque interruption de l’horloge le noyau
reprend la main et décide si le processus doit continuer ou
donner la main (ordonnancement avec réquisition ou
préemptive)
Elle s’oppose à la stratégie qui consiste à laisser finir la tâche
L’ordonnancement avec réquisition pose le problème de
l’actualisation des données. Supposons un processus P1 en train
de mettre à jour des données. Ce processus est interrompu en
cours de tâche. Le processus p2 est élu. Ce dernier va lire les
données précédentes qui sont cependant dans un état instable.
Des mécanismes de synchronisation sont alors nécessaires.
Voyons maintenant différentes méthodes d’ordonnancement
43/11
Méthodes d’ordonnancement
« Premier arrivé, premier servi » : le plus simple, un
processus rentre dans la file d’attente, et attend que
ces prédécesseurs aient tous été exécuté
Exemple :
PECA
Processus Temps de cycle
P1
24
P2
3
P3
3
Temps d’attente moyen = (0 + 24 + 27)/3 = 17ms
44/11
Méthodes d’ordonnancement
« Le plus court d’abord » : à chaque fois, le
processus ayant un temps de cycle le plus court
(temps d’exécution) est traité en premier
PECA
Exemple :
Le temps moyen d’attente est cette fois de (0 + 3 +
6)/3 = 2ms. Cet algorithme est optimal, mais
cependant il est difficile (impossible même) de
pouvoir estimer le temps d’exécution d’un
programme
45/11
Méthodes d’ordonnancement
Le tourniquet :
PECA
Méthode la plus courante
On définit une petite tranche de temps appelée quantum ;
chaque processus est donc autorisé à s’exécuter pendant
ce quantum puis doit laisser la main à un autre qui
s’exécutera un quantum etc. etc. etc.
Le principal problème de ce modèle est de fixer la taille
du quantum de temps. Il faut donc trouver un juste
équilibre afin d’obtenir à la fois un temps d’attente
convenable et une perte de temps processeur raisonnable
46/11
Méthodes d’ordonnancement
L’ordonnancement avec priorité :
On définit des priorités aux processus (par
exemple, un processus système est sûrement
plus important qu’un processus utilisateur)
Un algorithme d’ordonnancement avec des files
d’attente multi-niveaux regroupe les processus
prêts selon leur priorité. Chaque file d’attente
possède
son
propre
algorithme
d’ordonnancement. On doit également avoir un
algorithme d’ordonnancement entre les files
Chaque file d’attente est absolument prioritaire
par rapport à la file immédiatement inférieur. Un
processus interactif ne sera élu que lorsque la
file des processus système sera vide. Une autre
possibilité consiste à assigner des tranches de
temps aux files. Chaque file obtient un
pourcentage du temps processeur
PECA
47/11
Méthodes d’ordonnancement
Les files multiples avec déplacement :
PECA
L’idée ici est d’allouer un quantum de temps particulier pour les
processus de chaque file. On alloue des quanta de temps plus faible
aux files les plus prioritaires.
Supposons un ordonnanceur de files multiples à quatre niveaux.
Pour qu’un processus de la file 2 puisse s’exécuter, il faut que les
files 0 et 1 soient vides. Un processus entrant dans la file 1
provoquera l’interruption d’un processus de la file 2. Un processus
rentre dans la file 0, il dispose donc d’un quantum de temps. Si au
bout de ce temps son cycle n’est pas terminé (fin du processus,
demande d’E/S), il passe à la queue de la file immédiatement
inférieure, ainsi de suite. Pour chaque file on utilise un tourniquet.
Cet algorithme est le plus général et donc le plus puissant mais
également le plus difficile à mettre en oeuvre.
C’est celui que l’on trouve (avec des amélioration très techniques
bien entendu) dans les SE modernes (Linux, Windows etc.) 48/11
Méthodes d’ordonnancement
Premier arrivé premier servi
Le plus court d’abord
Priorités
PECA
Tourniquet
49/11
Moralité
Ce qu’il faut retenir :
Un processus au plus par processeur en même temps
Chaque processus est créé, exécuté puis meurt
Un ordonnanceur permet de faire exécuter plusieurs processus
« en même temps » (point du vue humain)
Un programme  processus
Parfois, cela sature (beaucoup de « gros » processus) il faut
donc attendre que l’ordonnanceur redonne la main au
processus désiré
Expérience : sous Windows XP, taper « ctrl-alt-suppr » afin
d’afficher l’ordonnanceur, les performances, etc…regarder
le « processus inactif ». D’après vous, à quoi sert t’il ?
50/11
Exemple sous Windows (1)
51/11
Exemple sous Windows (2)
52/11
Exemple sous Windows (3)
53/11
Système de fichier
Rappels (1)
Icône Poste de travail
Icône Corbeille
Arrière-plan
Barre de tâches
Barre d’outils
Bouton Démarrer
Barre d’outils systèmes
55/11
Rappels (2)
Barre de titre
Boutons de :
- Réduction
- Agrandissement
- Fermeture
Barre d’outils
Barre de menus
Barre d’état
Zone de travail
Cadre
56/11
Raison d’être (1)
Les processus peuvent de stocker (avoir accès) à
une grande quantité de mémoire
L’information doit survire à la terminaison du
processus qui utilise cette mémoire
On doit permettre à plusieurs processus d’accéder à
l’information, parfois « en même temps »
L’information utilisé par les processus doit être
indépendante des processus qu’ils l’utilisent
Enfin, les programmes eux-mêmes doivent être
stockés pour être lancés quand on le désire
57/11
Raison d’être (2)
La mémoire secondaire d’un ordinateur comprend
différentes formes de supports : disques, disquettes,
cédéroms etc. dont les caractéristiques communes les plus
essentielles sont qu’ils :
permettent de stocker durablement l’information
sont plus longs d’accès que la mémoire principale (RAM)
permettent un accès séquentiel plus rapide que l’accès direct.
L’intérêt de cette mémoire vient donc de la possibilité d’y
stocker en permanence de gros volumes d’informations.
La gestion de ces informations pour les mettre à la
disposition des processus du système doit prendre en
compte les contraintes liées au temps d’accès. Cette gestion
est à la charge du système de fichiers.
58/11
Fichiers et système
Fichiers :
Ensembles d’informations rangées séquentiellement (une
séquence d’octets)
Le fichier est la plus petite unité « logique » d’information
accessible à l’utilisateur en mémoire secondaire.
Système de fichiers :
Méthode d’organisation des données persistantes sur un médium
durable (disque dur, cédérom, clef USB…)
Il offre à l’utilisateur une vision abstraite de ses données.
Fonctionnalité d’un système de fichiers :
Correspondance entre fichiers et dispositifs physiques (placement
des données sur les disques, le cédérom etc.)
Organisation interne et externe des fichiers
Gestion des requêtes pour l’accès aux fichiers
Protection des fichiers
59/11
Arborescences (1)
Les fichiers sont regroupés dans des collections
nommées répertoires (fichiers particuliers)
Les répertoires sont organisés en arborescence
Il existe un répertoire racine. Chaque répertoire peut
contenir :
D’autres répertoires
Des fichiers
Ceci permet d’avoir une adresse unique (chemin
complet) pour retrouver ses fichiers :
sous Windows  c:\home\Fred\Cours\L3\cours3.ppt
sous Unix/Linux  /home/Fred/Cours/L3/cours3.ppt60/11
Arborescences (2)
Répertoire racine
Sous-répertoires
Fichiers
61/11
Exemple d’un disque dur
C:
Mes documents
TC1A
MSOffice
TC1B
TC1C
TC1D
Excel
Winword
Windows
...
Font
System
Temp
...
essai.doc
essai2.doc
...
...
...
excel.exe
...
winword.exe
....
...
...
...
autoexec.bat
command.com
...
62/11
Répertoires
Conteneur de fichiers
Organisé en arborescence :
une seule hiérarchie de répertoire et de fichiers
Si chargement d’un nouveau volume (disque, clef etc.) alors connexion
de l’arborescence sur le nouveau volume de l’arborescence existante
Exception : sous Windows (due a des vieilles bêtises), chaque volume a
sa propre arborescence (a:\ disquette, c:\ disque dur, d:\, e:\ les cd/dvdrom ou les clef etc.) excepté si l’on « part » de « bureau de travail ».
Mais les SE offrent aussi la possibilité de partager des fichiers :
pour rendre l’accès plus facile, on a des liens vers des fichiers ou des
répertoires
Possibilité de partager une partie de l’arborescence à d’autres machines
via le réseau (NFS sous Linux, partage réseaux sous XP)
Cela pose des problèmes de cycle dans la hiérarchie
Protection des répertoires : nom du propriétaire, droit d’accès
63/11
Noms et types d’un fichier
Pour permettre à l’utilisateur de distinguer les fichiers, le
système permet d’associer un nom à chaque fichier. Les
noms de fichiers comportent des extensions qui donne une
idée de leur fonction.
Deux types de fichiers peuvent être présents dans un
système :
fichiers de donnés : contiennent uniquement des donnés (textes,
images, sons etc. . .)
fichiers binaires de code : permettent de stocker des programmes
dans un langage directement compréhensible par le processeur.
Du point de vue du système un fichier se caractérise par
différents attributs, par exemple :
sa taille, son type, son propriétaire, les droits d’accès
dates : création, dernier accès, dernière modification
etc. . .
64/11
Opérations
Le système de fichiers doit permettre de faire les opérations suivantes sur
chaque fichier :
créer, supprimer, ouvrir, fermer un fichier
lire, écrire dans un fichier
modifier la position courante dans le fichier
lire les attributs, fixer les attributs du fichier
renommer le fichier
Le système de fichiers doit permettre de faire les opérations suivantes sur
un répertoire :
créer/supprimer un répertoire
ouvrir le répertoire pour y lire les noms des fichiers et répertoires qu’il contient,
fermer le répertoire
lire un nom de fichier ou répertoire
renommer le répertoire
lier un nom de fichier ou de répertoire à l’intérieur du répertoire
d´élier un nom de fichier ou de répertoire du répertoire
65/11
Types de documents (1)
selon l’application :
bureautique
multimédia
internet
pour l’archivage :
formats d’archives
pérennité des supports
pour la diffusion :
par courrier électronique
sur un site web
indépendamment du système d’exploitation.
66/11
Types de fichiers de Windows
Documents
Applications
Dossiers
Raccourcis
67/11
Document, dossier, unité (1)
Un document se range dans un dossier
Un dossier se range dans un autre dossier
68/11
Animation (double clic dessus)
69/11
Animation (double clic dessus)
70/11
Document, dossier, unité (2)
Un dossier se range dans une unité
On peut aussi ranger directement un document dans
une unité
71/11
Les Unités
Une unité représente généralement un support physique.
Clé USB
Disque dur
Lecteur de CD-ROM
Unité réseau V:, W:
72/11
Hiérarchie des fichiers (bis)
73/11
Raccourcis
Un raccourci est un fichier qui contient la localisation d’un
document ou d’une application
On parle aussi de lien
Le raccourci possède les mêmes propriétés que l’original
Redondance (pratique)
Limitation de la place occupée (économique)
est une localisation de
Application
Raccourci
Signe distinctif
74/11
Identifiant d’un fichier
C:
\ Windows \
Temp
\
readme.txt
Extension
Windows
Temp
readme.txt
75/11
Synthèse
76/11
Formats des documents
Il existe différents formats de documents
Son
Non-déterminé
Word
Web
Les icônes associées permettent de les distinguer
Le format est directement lié au contenu du document
77/11
Nouveau fichier (document)
78/11
Format et applications
Il est possible de disposer de plusieurs
applications permettant de traiter un format
Word
Document
OpenOffice
79/11
Différents types (1)
Bureautique :
Les .txt sont des fichiers textes.
Les .doc sont crées par le traitement de texte Microsoft Word.
Les .xls sont crées par le tableur Microsoft Excel.
Les .ppt sont crées par Microsoft PowerPoint.
Multimédia
Les .pdf sont lisibles par Adobe Reader.
Les .bmp, .gif, .jpg, ... sont des fichiers d’images.
Les .mov, .avi, .mpg, ... sont des vidéos.
Les .wav, .aif, .mp3 ... sont des fichiers de sons.
Diffusion
Les .htm, .xml ... sont les fichiers diffusés par les serveurs Web.
80/11
Différents types (2)
Types MIME (Multipurpose Internet Mail Extensions)
L’organisme international IANA (Internet Assigned
Numbers Authority) gère les types de documents déclarés
(colonne de droite). La correspondance est configuré
directement sur n’importe quel système d’exploitation :
.avi : video/x-msvideo
.bin ou .exe : application/octet-stream
.css : text/css
.doc : application/msword
.eps ou .ps : application/postscript
.gif : image/gif
.gz : application/x-gzip
.htm ou .html : text/html
.jpe ou .jpeg ou .jpg : image/jpeg
81/11
Différents types (3)
.mov : video/quicktime
.mp2 ou .mp3 : audio/mpeg
.mpeg ou .mpg : video/mpeg
.pdf : application/pdf
.png : image/png
.ppt : application/mspowerpoint
.rtf : text/rtf
.tar : application/x-tar
.txt : text/plain
.xls : application/msexcel
.xml : text/xml
.zip : application/zip
82/11
PECA
Organismes standardisation
IEEE = Institute of Electrical and Electronics Engineers, Inc. : POSIX
(bibliothèque de programmation) en 1988
OASIS = Organization for the Advancement of Structured
Information Standards : OpenDocument en 2005
ANSI = American National Standards Institute : le langage de
programmation C en 1989
IETF = The Internet Engineering Task Force : le protocole TCP/IP en
1981 avec les RFC (Request For Comments, bien que sans
commentaires) 791,702 et 793
W3C = The World Wide Web Consortium : HTML en 1994
ECMA = European Computer Manufacturers Association : Microsoft
.NET en 2001
ISO = International Organization for Standardization : le langage C
en 1999, Microsoft .NET en 2003, HTML en 2000
83/11
Fichiers textes (rappel)
ASCII (American Standard Code for Information
Interchange) Jeu de caractères anglo-saxon (sans accents)
Complété avec l’ISO 8859-1 (aussi appelé ISO Latin 1) qui
comporte en plus le jeu de caractères accentués de l’Europe
de l’ouest.
Unicode (standard ISO/IEC 10646) Tous les caractères (sur
32 bits, encodage le plus fréquent UTF-8)
84/11
Document sur le web
HTML (4.01) :
HyperText Markup Language 1999
Ce sont les pages web les plus fréquentes
XHTML (1.1) :
Extensible HyperText Markup Language 2000
Améliore le format HTML ; pas encore très utilisé
CSS (2) :
Cascading Style Sheets 1998
Permet d’améliorer la présentation des pages web HTML
XSL 1.0 :
Extensible Stylesheet Language 2000
XML (1.1) :
Extensible Markup Language 2004
Permet d’échanger des données de manière standardisée. Très utilise
pour les données sur le web
85/11
Format pdf
Pour des documents non éditables (pour la visualisation ou
l’impression)
Remplace le postscript (Adobe)
Logiciel gratuit (non open source) pour visualiser et
imprimer : Adobe Reader
Spécification “ouverte” de Adobe.
Standards ISO PDF/X-1a:2003 et PDF/X-3:2003
(uniquement pour sous-ensemble du PDF)
Support natif sous Mac OS X
86/11
Multimédia (1)
Format d’un CD/DVD :
CD : norme ISO 9660
DVD : norme UDF (Universal Disk Format, standard ISO 13346)
Durée de vie d’un cédérom : environ 25 ans.
Archives (compressées ou non) :
.tar : Tape ARchive format defined by POSIX 1003.1-2001
specification.
.gz : IETF RFC 1952 - GZIP file format specification version 4.3
.zip : Spécification “ouverte” de PKWARE (non standardisé)
Images :
PNG (ISO 15948) : compression sans perte
JPEG (ISO 10918) : compression avec perte (meilleure
compression possible)
JPEG-2000 (ISO/IEC 15444) : compression avec ou sans perte
87/11
Multimédia (2)
Video (standards ISO/IEC) ;
(COmpression/DECompression) :
Différents
CODEC
MPEG-1 (1991) qualité VHS
MPEG-2 (1994) qualité DVD
MPEG-4 (1998) Basé sur le format de fichier d’Apple QuickTime.
Meilleure compression (équivalent au “DivX”)
Audio
MP3 = MPEG-1 layer III
AAC (Advanced Audio Coding) = ajouté au MPEG-2 (repris dans
MPEG-4)
88/11
Codage simple d’une image
On veut coder une image sur
64 bits (8*8)
Chaque pixel correspond à 1 bit
On associe les états du bit à
Blanc ou Noir
PECA
89/11
Codage simple d’une image
Le code binaire de cette image :
00000000
00000000
00100100
PECA
00000000
00000000
01000010
00111100
00000000
Il faut 64 bits pour la stocker
séquentiellement ces bits dans un
fichier
90/11
Codage simple d’une image
Si on veut une image plus « belle », on augmente la définition
Exemple : 800 x 600 = 480 000 bits pour la stocker en mémoire
Si on veut une image en couleurs ?
Au lieu de coder chaque point sur 1 bit, on se donne plus de place.
Exemple: 32 bits = millions de couleurs
Code RGB par exemple sur le web: 00 00 00
Les chiffres codent « combien » pour le rouge, le vert et le bleu.
Exemple: FFFFFF = Blanc, 000000 = Noir
Conclusion: pour stocker une image 800x600 en couleurs 16 bits,
il faut à peu près 1Mo
Remarque: Ceci est un format d’image possible, mais on utilise
d’autres formats, compressés, pour que le stockage soit Plus
optimisé (jpeg, png, …)
91/11
Compression, archivage
La compression consiste à regrouper un ensemble de
fichiers et à réduire leur taille le plus possible afin
de faciliter leur transfert.
Le fichier contenant l'ensemble des autres fichiers
compressés est généralement appelé fichier archive.
Le format d'archives zip est le plus répandu sous
Windows (autre format : rar, ou .tar.gz plus
performant que zip…)
92/11
Compression, archivage
Simplifie le transfert (ou l’envoi par courriel.) : un seul fichier plutôt
que plusieurs
Réduit la quantité de données à transférer, à sauvegarder (on peut en
mettre plus sur sa clé USB, ou en attache d’un courriel.)
Il existe de nombreuses applications qui permettent de réaliser cette
opération :
WinZip ou Winrar
PowerArchiver
7-zip (gratuit)
…
93/11
Animation (double clic dessus)
94/11
Exemple simple compression
On utilise le fait que les pixels peuvent se répéter
Quand on a N fois la même couleur de pixel, alors on écrit « N puis
la couleur » dans le fichier.
Exemple précèdent (les . et les – sont juste là pour la lisibilité) : 18.11.1-2.1-1.1-19.0-1.1-4.1-1.1-3.0-4.1-10.0
Avec un codage de 5 bits pour les nombres, on obtient un fichier de
taille : 11*(5+1)=66 bits
D’autres formats d’images utilisent le fait qu’une image est un
ensemble de figures géométriques. Par exemple, on peut coder un
carré avec sa couleur de remplissage.
Les formats JPG etc. appliquent une perte d’informations (en
supposant que l’œil humain ne distingue pas certaines variations dans
les couleurs/ensembles pixels)
Dans tout les cas : jamais une méthode de compression d’un fichier
donne systématiquement un fichier plus petit…Pourquoi ?
95/11
Mise en œuvre des fichiers
Un fichier est stocké en mémoire secondaire (disque) sous
la forme d’une suite de blocs
Le bloc représente l’unité minimale d’information
manipulée par le système de fichier en mémoire secondaire.
Sa taille varie selon les machines et les systèmes, elle doit
être suffisamment grande afin de minimiser le nombre
d’accès en mémoire secondaire (qui est beaucoup plus lente
que la mémoire principale), et suffisamment petite pour
éviter le ralentissement par le chargement de données
inutiles.
Sur les systèmes actuelles la taille d’un bloc est de l’ordre
d’un kilo-octets.
Il existe différentes méthodes permettant de représenter un
fichier sous forme d’une suite de blocs (non vu ici)
96/11
Gestion de l’espace disque
Le choix de la taille d’un bloc a des répercussions sur :
la vitesse de transfert : plus la taille d’un bloc est importante, plus le transfert est rapide ;
car moins il y a de blocs dans un fichier, moins il y a de temps perdu à charger les blocs
(délais de recherche de blocs et rotation du disque)
le taux de remplissage du disque : plus la taille d’un bloc est importante, plus il y a de
gaspillage d’espace disque à cause des petits fichiers dont la taille est inférieur à la taille
d’un bloc.
Ainsi si par exemple la taille moyenne d’un fichier est de 1 Ko, en allouant 32Ko à un
bloc, on perd 31/32 soit 97% de l’espace du disque !
97/11
Fiabilité du système
Le système de fichiers doit pouvoir réagir
correctement en cas de problèmes qui peuvent
survenir en mémoire secondaire :
panne de courant (donc perte du cache)
disques endommagés (blocs endommagés)
etc. . .
solution : des listes de blocs endommagé existent et
des blocs sont dédiés à la cohérence du système de
fichier.
98/11
Fiabilité (2)
Il y a donc une « carte » pour l’accès aux blocs des
répertoires et des fichiers.
La suppression d’un répertoire/fichier implique la suppression de
données dans ces blocs : par exemple les données du fichiers
restent et l’on peut donc y accéder plus tard avec des logiciels
spéciaux (police scientifique ou sur le net)
Seule écraser octet par octet les données permet de réellement les
supprimer (la « vider poubelle » de Windows c’est de l’esbrouffe)
Les blocs sont donc non-contiguës car les systèmes
n’utilisent pas tout de suite les anciens blocs :
soit le système recupère les blocs automatiquement (Linux/Unix,
Mac OS, promis dans Windows Vista)
soit il faut défragmenter (re-ordonner les blocs) sous Windows
99/11
Mémoire virtuelle (1)
Le principe de la mémoire virtuelle consiste à considérer un
espace d’adressage virtuel (donnée de la mémoire aux
données des processus) supérieur à la taille de la mémoire
physique, sachant que dans cette espace d’adressage, et
grâce au mécanisme de va-et-vient sur le disque (le swap),
seule une partie de la mémoire virtuelle est physiquement
présente en mémoire principale à un instant donné.
Ceci permet de gérer un espace virtuel beaucoup plus grand
que l’espace physique sans avoir à gérer les changements
d’adresses physiques des processus après un va-et-vient car
même après de multiples va-et-vients un processus garde la
même adresse virtuelle.
100/1
Mémoire virtuelle (2)
C’est très utile dans les systèmes multiprogrammés dans
lesquels les processus qui ne font rien (la plupart) occupent
un espace virtuel qui n’encombre pas nécessairement
l’espace physique.
Par conséquent :
les « vieux » processus sont souvent plus long à redémarrer
Quand on veut lancer trop de processus qui utilise trop de
mémoire (quoique un seul processus utilisant toute la mémoire
principale posera le même problème) alors le système se voit
obliger d’utiliser massivement le système de va-et-vient, donc trop
régulièrement la mémoire secondaire et donc les processus seront
très très très très très très très très très leeeeeeeennnnnnttttttssssssss
Moralité : « trop de processus tue le processus »
101/1
Propriétés (clic droit) d’un disque
102/1
Propriétés systèmes d’un disque
103/1
Systèmes spécifiques
Il existe des systèmes de fichiers spécialisés pour
des applications scientifiques ou autres
Par exemple :
système de fichiers cryptés pour ordinateurs portables
afin que si le portable est perdu alors les données ne sont
pas lisibles par le voleur (sécurité contre le piratage
industrielle)
système de fichiers génétiques car le génome ne
comprend que 4 « caractères » au lieu des 256 de
l’ANSII donc on peut optimiser le stockage des génomes
systèmes de fichiers distribués sur la grille de calcul du
CERN pour l’accélérateur à particule
104/1
Permissions
A partir d’un ordinateur plusieurs utilisateurs peuvent
accéder à plusieurs fichiers
Les permissions constituent un système de régulation
permettant de limiter le type d’accès autorisé :
pour un fichier
pour chaque utilisateur ou groupe d’utilisateurs
105/1
Accès élémentaires
Lire : Autorise l'affichage des données du fichier.
Écrire : Autorise la modification des données du fichier.
Exécuter : Autorise l'exécution du fichier, s'il s'agit d'un fichier de
programme.
Supprimer : Autorise la suppression du fichier.
Changer des permissions : Autorise la modification des permissions
d'un fichier.
Prendre possession : Autorise l'appropriation du fichier.
106/1
Écrire
Supprimer
Changer
Permission
x
x
x
x
x
x
x
x
x
x
x
x
Appropriation
Lire
Contrôle total
Modifier
Lire & exécuter /
Afficher contenu
dossier
Lecture
Écriture
Exécuter
Accès combinés
x
x
107/1
Groupes
L’administrateur est un utilisateur particulier qui a
tous les droits
Il organise les utilisateurs en groupes
Un utilisateur peut appartenir à plusieurs groupes
Il existe un groupe particulier, administrateurs, qui
hérite des attributions de l’administrateur
108/1
Propriétés (clic droit) d’un fichier
109/1
Exemple Groupe (1)
Le groupe Administrateurs
dispose du Contrôle total
sur le document permission.txt
110/1
Exemple Groupe (2)
L'utilisateur azim
ne dispose que du droit de
Lecture sur le document
permission.txt
111/1
L’explorateur Windows (1)
112/1
L’explorateur Windows (2)
113/1
Animation (double clic dessus)
114/1
Défragmenteur
115/1
Information système
116/1
Exemple MS-DOS
117/1
À la semaine prochaine !