Title: Introduction aux Syst
1- Introduction aux Systèmes d'exploitations
2Plan
- Systèmes informatiques
- Définitions
- Structure dun SE
- Classifications des SE
- Quelques définitions
- Modèle en couches
- Gestion de mémoire
- Gestion des processus
- Gestion des périphériques (Entrée/Sortie)
- Gestion des fichiers
- Généralités sur Unix
- Comparaison entre Linux Windows
3Pourquoi étudier les SE?
- Logiciel très important
- tout programme roule sur un SE
- interface usager-ordinateur
- Les SE utilisent beaucoup d algorithmes et
structures de données intéressants - Les techniques utilisées dans les SE sont aussi
utilisées dans nombreuses autres applications
informatiques - il faut les connaître
4Les systèmes informatiques
- Micro-informatique
- Familiale, toutes les entreprises
- Bureautique, Client applicatif
- Mono-utilisateur, mono ou multitâches
- DOS, WINDOWS95, OS2 (Machines PC) ou MAC OS
(Macintosh) - Intel Pentium, Motorola 68030, Cyrix, AMD...
- Nombre d'utilisateurs 1
- Coût autour de 15 000 DH
5Les systèmes informatiques
- Mini-informatique
- De la P.M.E. à la multinationale
- Scientifique, Gestion commerciale, Gestion
financière, Serveur Intranet/Internet... - Multi-utilisateurs, Multitâche
- UNIX, Windows NT, VMS
- Digital Alpha, Intel Pentium, RS 6000...
- Nombre d'utilisateurs de 5 à 100
- Coût 150 000 DH
- Constructeurs IBM, Digital, Sun, Bull, Siemens
Nixdorf,...
6Les systèmes informatiques
- Grosse informatique ou "Mainframes"
- Grandes sociétés Banques, Administrations...
- Gestion financière, paie, calculs scientifiques
- Multi-utilisateurs, Multitâche
- Système d'exploitation GCOS, MVS (IBM) ou
Systèmes propriétaires - Nombre d'utilisateurs de 10 à 1000
- Coût 1 000 000 DH
7Définitions
- angl. Operating System (OS)
- Qu'est-ce que c'est?
- Programme assurant la gestion de l'ordinateur
et de ses périphériques - A quoi ca sert?
- Fournit linterface usager/machine
- Masque les détails du matériel aux applications
- Le SE doit donc traiter ces détails
- Contrôle lexécution des applications
- Le fait en reprenant périodiquement le contrôle
de lUCT - Dit à lUCT quand exécuter tel programme
- Il doit optimiser lutilisation des ressources
pour maximiser la performance du système
8Définitions
- Le système dexploitation dun système
informatique est un ensemble de programmes qui
remplissent deux grandes fonctions - gérer les ressources de linstallation matérielle
en assurant leurs partages entre un ensemble plus
ou moins grand dutilisateurs - assurer un ensemble de services en présentant aux
utilisateurs une interface mieux adaptée à leurs
besoins que celle de la machine physique
9Abstraction
- Cacher la complexité des machines pour
l'utilisateur afin d'utiliser la machine sans
savoir ce qui est derrière - Abstraction du terme Machine selon Coy
- machine réelle Unité centrale périphériques
- machine abstraite machine réelle système
d'exploitation - machine utilisable machine abstraite
application
10Vue abstraite dun SE
11Ressources et leur gestion
- Ressources
- physiques mémoire, unités E/S, UCT...
- Logiques virtuelles fichiers et bases de
données partagés, canaux de communication
logiques, virtuels... - les ressources logiques sont bâties par le
logiciel sur les ressources physiques - Allocation de ressources gestion de ressources,
leur affectation aux usagers qui les demandent,
suivant certains critères
12Exigences à un Système d'exploitation
- Généralités
- Satisfaire les utilisateurs et les programmeurs
- Gérer 2D, 3D, vidéo, audio, réseau, CD, DVD, clé
USB, ... - Plusieurs utilisateurs (itinérants) --gt
multi-utilisateurs - être extensible
- De plus en plus gros et complexe
- Efficace, évolutif, maintenable
13Exigences de l'utilisateur
- Faut que ça marche ! (comme j'en ai envie
...) - Ça imprime pas ...
- Machine utilisable (machine étendu)
14Exigences du programmeur
- Simplifier l'accès aux ressources de la machine
- Mémoire, processeur, périphériques, fichiers,
programmes, réseaux, communication interne - Modèle de programmation simple et unifié
- Efficacité dans tous les cas
- Machine étendue
15Historique (avant les Systèmes d'Exploitations)
- 1945 - 55 tubes et interrupteurs
- Pas de système d'exploitation
- 1955 - 65 transistors, cartes perforées
- Traitement par lots
- 1965 - 80 circuits intégrés, disques
- Multiprogrammation, temps-partagé,
entrées/sorties - Unix, version BSD, ATT, interface POSIX
- 1980 -- ordinateurs personnels (PC)
- Interface graphique (concept crée vers 1960,
Stanford) - Réseaux et systèmes distribués
- --gt Système d'exploitation nécéssaire
16Historique des Systèmes d'exploitations
- CP/M (depuis 1974), Digital Research
- UNIX (depuis 1969-1979), premier par ATT
- MS-DOS (depuis 1981), Microsoft
- MacOS (depuis 1984), Apple
- Windows (depuis 1991), Microsoft
- Linux (depuis 1992), OpenSource
17Systèmes d'exploitations
- CP/M (depuis 1974), Digital Research
- Gestion de disque dur, mais pas d'arborescence
- Pas de graphisme
- Exemple
- CPU 8088, 2 MHz
- 64 KO de RAM
- 5 MO de disque dur
18Systèmes d'exploitations
- UNIX (depuis 1969-1979), ATT
- A servi de modèle pour MS-DOS, Windows, ..
- Multi-tâche et Multi-utilisateurs
- accès simultané aux fichiers, péripheriques,
mémoire, processeurs, .. - Protection mémoire aucun programme ne peut
faire planter le système - Systèmes de fichiers hiérarchique
- GUI X-Windows
19Systèmes d'exploitations
- MS-DOS (depuis 1981), Microsoft
20Systèmes d'exploitations
- MacOS (depuis 1984), Apple
- premier GUI
21Systèmes d'exploitation Windows
- Windows 3.11
- pas de multitâche, pas de multi-utilisateurs
- Windows 95
- multi-tâche
- premier système 32 bit
- Windows 98
- Internet integré dans le GUI
- Plug Play
- parallèlement Windows NT
- système d'exploitation réseaux multi-utilisateur
- Windows 2000, et après Windows XP
- jumellage entre système d'exploitations réseaux
et stand-alone
22Systèmes d'exploitations
- Linux (depuis 1992), OpenSource
- finlandais Linus Thorwald
- Licence GPL (General Public Licence) OpenSource
- Multi-tâche et Multi-utilisateurs
- Distributions
- Red Hat
- Fedora
- Debian
- Mandrake..
23Structure dun système informatique
24Classifications des S. E.
- Par la méthode daccès au système par lusager
- par session ce sont les systèmes
transactionnels ou conversationnels (ex
réservation dun billet ONCF) - par requête temps réel (ex la voix sur IP)
- par travaux (batch) traitement par lots (ex
mise à jour des comptes bancaires la nuit) - Par le genre dapplications des usagers
- développement de programmes
- manipulation des données
25Classifications des S. E.
- Par la configuration matérielle
- un seul processeur système monoprocesseur
- plusieurs processeurs système multiprocesseur
- basée sur un réseau système réseau (système
distribué) - Par le nombre dusagers simultanés
- système monoposte
- système multiposte
26Classifications des S. E.
- Par la politique de partage des ressources
physiques et logiques - partage de la mémoire entre plusieurs programmes
système multiprogrammé - partage du temps processeur entre les programmes
en exécution temps partagé (partage par quantum
de temps) ou temps - réel (partage par priorité des tâches)
27Quelques définitions
- Noyau
- Processus
- Traitement par lots
- Systèmes Multi-tache
- Systèmes Multi-utilisateurs
- Systèmes Multi-processeurs
- Systèmes temps réel
- Systèmes distribués
28Définitions Le noyau
- Les fonctions principales du noyau sont
- Lallocateur (dispatcher) du CPU répartition du
temps disponible de lunité de traitement entre
les différents processus - La gestion des interruptions détermination de
la source de linterruption et activation de la
procédure de service correspondante - Le support de lenvironnement des processus
synchronisation des processus
29Définitions Les processus
- Un processus est un programme qui sexécute un
programme exécutable données pile compteur
ordinal pointeur de pile registres
P1
P6
P2
P5
P3
P4
30DéfinitionsTraitement par lots (Batch
processing)
- Un utilisateurs donne plusieurs commandes
( Jobs ) dans une queue d'éxécution de
programmes - Entièrement séquentielle
- p.ex. pour faire plusieurs calculs pendant la
nuit - p.ex. autoexec.bat
31DéfinitionsSystèmes Multi-tache (Multitasking)
- Assurer l'éxécution de plusieurs programmes en
meme temps (c-à-d. plusieurs processus) - Chaque processus a besoin du processeur
- situation concurrente
- solution scheduling ou ordonnancement
32DéfinitionsSystèmes Multi-processeurs
- système avec plusieurs processeurs
- parallèle
- vrai multi-tâches
- doit assurer qu'il y a l'exécution d'autant de
processus que processeurs en même temps - contrairement système avec un seul processeur
- quasi-parallèle
- arrêter et reprendre les différent processus
- Gestion avec le scheduler (ordonnancement des
processus)
33DéfinitionsSystèmes Multi-utilisateurs
( time-sharing )
- permettre a différentes personnes de travailler
avec un ordinateur en même temps - connexion par
- via le terminal de l'ordinateur lui-même
- à distance (telnet, ssh, ftp, ...)
- donner l'impression à chaque utilisateur qu'il
est seul - exige une gestion des droits
- de fichiers (pour éviter la destruction des
fichiers etc.) - de processus
34DéfinitionsMulti-utilisateurs
- Login
- Type
- Administrateur ( root )
- Groupes
- Utilisateurs
- pour gérer les droits
35DéfinitionsSystèmes Temps réels
- Sert pour le pilotage et le contrôle des
déroulements externes (p.ex. centrale électrique) - doit garantir des temps de réactions données pour
des signaux extérieur urgents - plusieurs systèmes d'exploitations n'y arrivent
pas car l'interruption de certaines activités met
le système dans un état instable
36DéfinitionsSystèmes distribués
- doit permettre l'éxecution d'un seul programme
sur plusieurs machines - distribuer les processus et les remettre ensemble
- p.ex. Corba , RMI ou oracle
37SE Modèle en couches
38Ingrédients
- Gestion de la mémoire
- Gestion des fichiers
- Gestion des processus
- Gestion des périphériques (entrées/sorties)
- Contrôle des péripheriques via Pilotes
(Driver) - Quelques logiciels
- Logiciels utilitaires (ls, pwd, format, ...)
- Logiciels d'application (Bloc-notes, ...)
- Logiciels de communication (Internet Explorer,
...)
39Modèle en couches
Application (Logiciel, p.ex. Microsoft Word)
Gestion des fichiers
Gestion de la mémoire
Noyau du Système dexploitation
Pilote
Pilote
Pilote
Matériel
40Modèle en couches
Application (Logiciel, p.ex. Microsoft Word)
Gestion des fichiers
Gestion de la mémoire
Noyau du Système dexploitation
Pilote
Pilote
Pilote
Matériel
41 gestion mémoire
- Les mémoires
- Conservation de linformation
- Caractéristiques
- Situation, capacité, méthodes daccès,
performances - Nature magnétique, optique, semi-conducteurs
- Propriétés volatile/non, effaçable/non, etc
- Organisation, hiérarchie
- CPU registres, cache
- Mémoire centrale
- Mémoire secondaire disque, CD, bande magnétique
42 gestion mémoire
43 gestion mémoire
- Mémoire/Adresses physiques et logiques
- Mémoire physique
- la mémoire principale RAM de la machine
- Adresses physiques les adresses de cette mémoire
- Mémoire logique lespace dadressage dun
programme - Adresses logiques les adresses dans cet espace
- Il faut séparer ces concepts car normalement, les
programmes sont chargés de fois en fois dans
positions différentes de mémoire - Donc adresse physique ? adresse logique
44 gestion mémoire
- Pour illustrer le travail du système
d'exploitation, on choisit de décrire quelques
tactiques appliquées par les SE pour gérer la
mémoire - les partitions,
- la segmentation,
- la pagination,
- la mémoire virtuelle.
- Pour chacune on présente l'idée, la mise en
œuvre, les avantages et les inconvénients.
45 gestion mémoire
- les partitions
- Technique historique .
- Idée Diviser arbitrairement la mémoire en
partitions de dimensions fixes partitions
statiques. Toutes les partitions ne sont pas de
même taille. - Mise en œuvre Les programmes sont implantés
dans chaque partition. - Avantages Simplicité du SWAP
- Inconvénients Un gros programme ne peut être
exploité que dans une partition suffisamment
grande et un petit programme rentabilise mal une
grande partition.
46 gestion mémoire
- La segmentation
- La segmentation division dun programme en
segment correspondant à une entité logique telle
une procédure ou un bloc de données - Le système gère un ensemble de tables de
segments, contenant les adresses de chargement
des segments de chaque programme (une par job),
afin de savoir où ils sont stockés - Ladresse contient deux champs (le numéro du
segment et le déplacement à lintérieur du
segment) - La segmentation est coûteuse en temps de
traitement
47 gestion mémoire
- La pagination
- Idée Découper la mémoire en PAGES de dimension
fixes et implanter les programmes dans les pages
libres. - Mise en œuvre
- Lespace dadressage virtuel est divisé en
petites unités appelées pages. - Lespace dadressage physique est aussi divisé en
petites unités appelées cases ou cadres (page
frames) - Les pages et les cases sont de même taille
48 gestion mémoire
- La pagination
- Avantages Ce type de gestion est très efficace
car utilise au maximum la mémoire et évite le
tassage de mémoire. - Inconvénients on reste toujours limité à la
taille effective de la mémoire.
49 gestion mémoire
- La mémoire virtuelle
- Idée Supprimer la contrainte de dimension de la
mémoire ou fournir un espace dadressage
indépendant de celui de la mémoire physique - Mise en œuvre On dote lordinateur de deux
niveaux de mémoire la mémoire centrale
(performante et chère) et la mémoire de masse (le
disque) moins performante mais de dimension
pratiquement illimitée. - Performances liées aux seek time latency
time transmission time. Là encore
loptimisation est gérée par le système
dexploitation qui met en place des stratégies.
50 gestion mémoire
- La mémoire virtuelle (suite)
- La mémoire virtuelle consiste à traiter
séparément les adresses référencées par un
programme (adresse virtuelles) et les adresses de
la mémoire physique (adresses réelles). Cest un
espace mémoire qui nexiste pas mais qui peut
être utilisé par le programmeur comme modèle de
mémoire centrale à sa disposition - La pagination, nécessaire pour réaliser une
mémoire virtuelle, consiste à découper les deux
espaces adresses (réel et virtuel) en pages de la
même taille et à mettre en œuvre un mécanisme de
transfert de page entre la mémoire virtuelle et
réelle - Avantages Beaucoup de place !
- Inconvénients SWAP ou accès disque à optimiser
51Modèle en couches
Application (Logiciel, p.ex. Microsoft Word)
Gestion des fichiers
Gestion de la mémoire
Noyau du Système dexploitation
Pilote
Pilote
Pilote
Matériel
52 processus
- Concept de processus un programme en exécution
- Possède des ressources de mémoire, périphériques,
etc - Un processus est un programme qui s'exécute,
ainsi que ses données, sa pile, son compteur
ordinal, son pointeur de pile et les autres
contenus de registres nécessaires à son
exécution. - Un processus fournit l'image de l'état
d'avancement de l'exécution d'un programme.
53Arbre de processus en UNIX
54État de processus
- Au fur et a mesure quun processus exécute, il
change détat - nouveau le processus vient d être créé
- exécutant-running le processus est en train
d être exécuté par l UCT - attente-waiting le processus est en train
d attendre un événement (p.ex. la fin d une
opération d E/S) - prêt-ready le processus est en attente dêtre
exécuté par l UCT - terminated fin d exécution
55Diagramme de transition détats dun processus
Ordonnanceur angl. scheduler
56États Nouveau, Terminé
- Nouveau
- Le SE a créé le processus
- a construit un identificateur pour le processus
- a construit les tableaux pour gérer le processus
- mais ne sest pas encore engagé à exécuter le
processus (pas encore admis) - pas encore alloué des ressources
- La file des nouveaux travaux est souvent appelée
spoule travaux (job spooler) - Terminé
- Le processus n est plus exécutable, mais ses
données sont encore requises par le SE
(comptabilité, etc.)
57Transitions entre processus
- Prêt ? Exécution
- Lorsque l ordonnanceur UCT choisit un processus
pour exécution - Exécution ? Prêt
- Résultat dune interruption causée par un
événement indépendant du processus - Il faut traiter cette interruption, donc le
processus courant perd lUCT - Cas important le processus à épuisé son
intervalle de temps (minuterie)
58Transitions entre processus
- Exécution ? Attente
- Lorsquun processus fait un appel de système
(interruption causée par le processus lui-même) - initie une E/S doit attendre le résultat
- a besoin de la réponse dun autre processus
- Attente ? Prêt
- lorsque l'événement attendu se produit
59 processus
- La priorité dun processus est attribuée par le
planificateur (scheduler) selon lurgence et les
ressources requises - Lallocateur doit aussi sauvegarder létat de la
machine lorsque le processus sinterrompt et
indiquer au CPU le processus suivant le
processus interrompu est sauvegardé dans un bloc
dinformation appelé vecteur détat ou
descripteur
60 processus
Notion de préemption Définition la préemption
est la mise en attente forcée dun processus.
Un processus spécial soccupe de faire
tourner les processus qui sont en running
cest l'Ordonnanceur ou scheduler en anglais. La
gestion de la préemption est appelé
lordonnancement ou le scheduling. Les critères
de choix appliqué par le S.E. déterminent les
performances du système.
61 processus
Notion de préemption (suite) Il y a différent
niveau dattente dun processus, cest à dire
différents états possibles au sein de létat
waiting et de létat ready. En effet, lorsque la
mémoire est saturée, le processeur transfère une
zone mémoire sur le disque pour libérer de la
mémoire. Il choisit la zone mémoire dun
processus qui ne fait rien. Lorsque le processeur
devra exécuter un bout du code de ce processus il
devra recharger la zone mémoire stockée sur
disque en mémoire centrale. Cette opération (dans
un sens et dans lautre) sappelle le SWAP ! Doù
deux états supplémentaires waiting swappé
et ready swappé .
62Modèle en couches
Application (Logiciel, p.ex. Microsoft Word)
Gestion des fichiers
Gestion de la mémoire
Noyau du Système dexploitation
Pilote
Pilote
Pilote
Matériel
63 Entrées-sorties
- Les entrées/sorties correspondent aux mécanismes
quutilisent les processus pour communiquer avec
lextérieur. Ces entrées-sorties font largement
appel aux couches les plus proches du matériel,
et dont le système tente de masquer les
particularités aux utilisateurs. - Il y a 3 types dE/S
- Électroniques mémoires
- Magnétiques disques ou disquettes
- Mécaniques clavier, imprimantes
64 Gestion des entrées-sorties
- Objectifs
- envoyer des commandes aux périphériques
- intercepter les interruptions
- traiter les erreurs
- Fournir une interface simple, facile demploi et
indépendante du périphérique utilisé - Définition de pilotes (drivers)
65Modèle en couches
Application (Logiciel, p.ex. Microsoft Word)
Gestion des fichiers
Gestion des processus
Gestion des périphériques (entrées/sorties)
Gestion de la mémoire
Noyau du Système dexploitation
Pilote
Pilote
Pilote
Matériel
66Fichiers et répertoires
- Les fichiers sont
- soit des fichiers de données sur disque dur
- soit des répertoires
- soit des fichiers spéciaux permettant la gestion
de certaines ressources du système - Les fichiers sont organisés en répertoires et
sousrépertoires, formant une arborescence
67 Que cest quun fichier?
- Collection nommée dinformations apparentées,
enregistrée sur un stockage secondaire - Nature permanente
- Les données qui se trouvent sur un stockage
secondaires doivent être dans un fichier - Différents types
- Données (binaire, numérique, caractères.)
- Programmes
68 Structures de fichiers
- Aucune séquences doctets
- Texte Lignes, pages, docs formatés
- Source classes, méthodes, procédures
- Etc.
69 Attributs dun fichier
- Constituent les propriétés du fichiers et sont
stockés dans un fichier spécial appelé répertoire
(directory). Exemples dattributs - Nom pour permet aux personnes daccéder au
fichier - Identificateur un nombre permettant au SE
didentifier le fichier - Type Ex binaire, ou texte lorsque le SE
supporte cela - Position Indique le disque et ladresse du
fichier sur disque - Taille En bytes ou en blocs
- Protection détermine qui peut écrire, lire,
exécuter - Date pour la dernière modification, ou dernière
utilisation
70Opérations sur les fichiers de base
- Création
- Écriture
- Pointeur décriture qui donne la position
décriture - Lecture
- Pointeur de lecture
- Positionnement dans un fichier (temps de
recherche) - Suppression dun fichier
- Libération despace
- Troncature remise de la taille à zéro tout en
conservant les attributs
71Autres opérations
- Ajout dinfos
- Rénommage
- Copie
- peut être faite par rénommage deux noms pour un
seul fichier - Ouverture dun fichier le fichier devient
associé à un processus qui en garde les
attributs, position, etc. - Fermeture
72Types de fichiers
- Certains SE utilisent lextension du nom du
fichier pour identifier le type. - Microsoft Un fichier exécutable doit avoir
lextension .EXE, .COM, ou .BAT (sinon, le SE
refusera de lexécuter) - Le type nest pas défini pour certains SE
- Unix lextension est utilisée (et reconnue)
seulement par les applications - Pour certains SE le type est un attribut
- MAC-OS le fichier a un attribut qui contient le
nom du programme qui la généré (ex document
Word Perfect)
73Types de fichiers
74Structure logique des fichiers
- Le type dun fichier spécifie sa structure
- Le SE peut alors supporter les différentes
structures correspondant aux types de fichiers - Cela complexifie le SE mais simplifie les
applications - Généralement, un fichier est un ensemble
denregistrements (records) - Chaque enregistrement est constitué dun ensemble
de champs (fields) - Un champ peut être numérique ou chaîne de chars.
- Les enregistrements sont de longueur fixe ou
variable (tout dépendant du type du fichier) - Mais pour Unix, MS-DOS et autres, un fichier est
simplement une suite doctets byte stream
75Arborescence
76Gestion de fichiers
- Le SGF doit gérer la plupart des informations des
usagers et du système lui-même - Il a des liens étroits avec le système dE/S
(Unix - aucune différence entre un fichier et un
périphérique) - La conservation des fichiers et la réalisation
des fonctions daccès impliquent la prise en
charge par le SGF de - la gestion du support physique en masquant à
lutilisateur les détails de lorganisation
physique de ses fichiers - la sécurité et la protection des fichiers, cest
à dire la garantie de leur intégrité en cas
dincident ou de malveillance et le respect des
règles dutilisation fixées (droits daccès,
conditions de partage...)
77Droits daccès
- A chaque fichier est associé un propriétaire et
un ensemble de droits daccès (lecture, écriture
et exécution) - Trois types dutilisateurs
- le propriétaire
- les utilisateurs du même groupe que le
propriétaire - les autres utilisateurs du système
78Droits daccès
- Un utilisateur vis à vis dun fichier appartient
à lune des trois catégories dutilisateurs - Chaque fichier possède des droits spécifiques
pour chacune de ces catégories - Seul le propriétaire peut modifier ces droits
- Exemple Unix
- -rwxr-----
- la chaîne rwx indique que le propriétaire a le
droit de tout faire alors que les utilisateurs du
même groupe ne peuvent que lire le fichier
79Système de fichiers
- Arborescence
- Nom des fichiers
- /home/jack/microarrays/estrogen
- -rw-r----- 1 patrick lipsi 2340 Jun 11 1745
guethary.jpg - -rwxr-x--- 1 patrick lipsi 2340 Jun 11 1745
PacMan.exe - Droits
- Utilisateur Groupe Tous
- 'r' lire, 'w' ecrire, 'x' éxécuter
- Types
- '-' Fichier regulier, 'd' repertoire, 'x' lien
symbolique..
80Système de fichiers
81Structures de répertoires (directories)
- Une collection de structures de données contenant
infos sur les fichiers.
Répertoires
F 1
F 2
F 3
F 4
Fichiers
F n
- Tant les répertoires, que les fichiers, sont sur
disques - À lexception dun rép. racine en mém. centrale
82Information dans un répertoire
- Nom du fichier
- Type
- Adresse sur disque, sur ruban...
- Longueur courante
- Longueur maximale
- Date de dernier accès
- Date de dernière mise à jour
- Propriétaire
- Protection
83Opérations sur répertoires
- Recherche de fichier
- Création de fichier
- Suppression de fichier
- Lister un répertoire
- Rénommer un fichier
- Traverser un système de fichier
84Organisation de répertoires
- Efficacité arriver rapidement à un
enregistrement - Structure de noms convenable pour usager
- deux usagers peuvent avoir le même noms pour
fichiers différents - Le même fichier peut avoir différents noms
- Groupement de fichiers par type
- tous les programmes Java
- tous les programmes objet
85Partage de fichiers
- Désirable sur les réseaux
- Nécessite de protection
86Protection
- Types d accès permis
- lecture
- écriture
- exécution
- append (annexation)
- effacement
- listage lister les noms et les attributs dun
fichier - Par qui
87Listes et groupes daccès - UNIX
- Modes d accès R W E
- Trois classes d usager
- propriétaire
- groupe
- public
- demander à l administrateur de créer un nouveau
groupe avec un certain usager et un certain
propriétaire - droit du propriétaire de régler les droits
d accès et d ajouter des nouveaux usagers
88Sécurité - Que faut-il protéger ?
- Vos données les informations (fichiers ,
traitement) qui sont sur les ordinateurs, pour
qu'elles ne soient pas détruites ou altérées
rendues indisponibles accédées si elles sont
confidentielles - Vos ressources le temps CPU, l'espace disque,
le réseau (la bande passante, le volume) - Votre réputation (institutionnelle,
professionnelle ou personnelle)
89Sécurité - Les attaques
- Il y a plusieurs types d'attaques différentes
- L'intrusion, d'où qu'elle vienne (par le réseau,
via un terminal local, via un programme) - Le refus de service atteinte à la
disponibilité. (conséquences des virus) - Le vol d'informations
90Sécurité - Identification
- L'identification est réalisée sur la plupart des
systèmes grâce au contrôle d'un couple (username
/ password) - Problèmes
- Les passwords circulent la plupart du temps en
clair , il est donc facile de les intercepter - Malgré les efforts de sensibilisation, les mots
de passe des utilisateurs sont en général
faciles à découvrir (déduction logique,
crackage )
91Sécurité - Identification
- Il ne faut pas avoir le même mot de passe pour
plusieurs personnes ! - Ne JAMAIS le révéler à QUI QUE CE SOIT !
- Il ne faut pas avoir le même mot de passe sur des
machines différentes - Il ne faut pas choisir un mot de passe tel que
votre nom, prénom, noms des proches, numéros de
téléphones, SS, rue, le mois courant, l'année ... - Il faut en changer dès qu'on vous le donne
- Il ne faut pas le noter
- IL FAUT OBLIGATOIREMENT LE CHANGER RÉGULIÈREMENT
(et ne pas remettre le même ... !)
92Sécurité - Les bons mots de passe
- Ce n'est pas un mot ! C'est à dire qu'il ne
doit figurer dans aucun dictionnaire (nom
communs, propres, thématiques, etc.) des langues
les plus courantes - Il ne doit pas non plus s'en approcher d'une
variation faible (capitale initiale, une
lettre en plus ou en moins, une substitution...) - Il doit être suffisamment long (au moins huit à
dix caractères)
93Sécurité - Les bons mots de passe
- Méthodes pour en inventer
- Prendre les premières lettres d'une phrase
(cesli) - Prendre deux mots (courts), concaténés par un
chiffre ou une ponctuation (love2info) - Écrire en phonétique ou avec des fautes
d'orthographes (7touMuch,fonaitick) - Alterner capitales et minuscules, remplacer
certains O par des 0, des I par des 1, mettre des
caractères non-imprimables si le système le
permet - Penser et faire attention aux variations simples
ou algorithmiques programmées dans les crackers
94Unix - Généralités
- Créé par Ritchies et Thomson, dans les
laboratoires BELL en 1974 - Ecrit à 90 en langage C
- Marque déposée, doù lexistence de versions
voisines (HP/UX, AIX) - 2 familles Système V et BSD (Berkeley Software
Distribute) - Multi-tâches (file dattente) /
Multi-utilisateurs - Interfaces aisées
- Gestion hiérarchique des fichiers (arbre inversé)
- Sécurité sur chaque fichier
- Indépendance des périphériques / redirection
dentrée/sortie - Exécution directe (interactif) ou masquée (tâche
de fond) - Environnement modulable
95Multi-utilisateur
- Plusieurs utilisateurs peuvent utiliser le même
système (client-serveur) - Chaque utilisateur possède un compte protégé par
un mot de passe et appartient à un groupe - Il existe un super utilisateur (root)
96Structure de larborescence
/
bin
dev
etc
lib
tmp
usr
adm
bin
include
lib
man
spool
tmp
97Types de fichiers
- On distingue 5 types de fichiers
- les fichiers ordinaires qui contiennent des
données - les répertoires qui contiennent une liste de
références à dautres fichiers - les fichiers spéciaux, associés par exemple à un
driver de périphérique - les tubes et les sockets utilisés pour la
communication - les liens symboliques
98Unix - Commandes
- Un shell est un interpréteur de commandes du
système UNIX - Il existe plusieurs versions de cet interpréteur
le Bourne shell , le Korn shell , le C
shell , le T shell ... - Le format d'une commande sous UNIX suit le modèle
suivant - nom_de_la_commande -options arguments
99Unix - Commandes
- La commande man
- description d'une commande à l'écran
- Syntaxe
- man - -adFlrt -Marborescence
-Tmacro-package - -ssection nom_commande ...
- Exemple man ls
100Unix - Commandes
- La commande ls
- affichage du contenu d'un ou de plusieurs
répertoires, ou des renseignements concernant un
ou plusieurs fichiers - Syntaxe
- ls -RadLCxmlnogrtucpFbqisf1AM nom_répertoire
... - ou
- ls -RadLCxmlnogrtucpFbqisf1AM nom_fichier ...
101Unix - Commandes
- Cas particuliers
- s'il n'y a aucun paramètre la commande affiche
le contenu du répertoire courant - si un répertoire est passé en paramètre la
commande affiche le contenu de ce répertoire - si un fichier est passé en paramètre la
commande indique si ce fichier est accessible ou
non - Options
- -a affiche également les fichiers commençant
par le caractère . - -l indique, pour chaque répertoire ou fichier
accessible, ses principales caractéristiques
nature (répertoire ou fichier), droits d'accès,
nombre de liens, nom du propriétaire, nom du
groupe, taille en octets, date de dernière
modification, nom (qui est compris entre le 55ème
caractère et le 80ème caractère de la ligne)
102Unix - Commandes
- La commande cd
- changement de répertoire, de manière relative ou
absolue - Syntaxe
- cd nom_répertoire
103Unix - Commandes
- La commande mkdir
- création dun ou plusieurs répertoires
- Syntaxe
- mkdir -mmode -p nom_répertoire ...
- Options
- -mmode indique le mode d'accès au répertoire à
créer - -p crée tous les répertoires intermédiaires, si
nécessaire
104Unix - Commandes
- rmdir suppression dun répertoire
- mv déplacement ou renommage de fichiers
- cp copie de fichiers
- rm suppression de fichiers
- pwd affichage du répertoire courant
- ln création de liens sur des fichiers
105Unix - Contrôle de processus
- La commande kill permet denvoyer un signal à un
processus - Exemple kill -9 1232
- Stoppe le processus de PID 1232
106Unix- Contrôle des processus
- La commande ps affichage de la liste des
processus en cours - Options
- -e tous les processus de tous les utilisateurs
- -l plus dinformations
107Comparaison entre Linux et windows
- Linux, c'est uniquement le coeur (on dit le
"noyau") du système d'exploitation GNU/Linux. - Les systèmes d'exploitation Microsoft Windows NT,
2000 et XP ont également un noyau, mais
différent le noyau NT. - Le noyau s'occupe des basses besognes la gestion
de la mémoire, l'accès aux périphériques (disque
dur, lecteur de CD-ROM, clavier, souris, carte
graphique...), la gestion du réseau, le partage
du temps microprocesseur entre les programmes
(multi-tâches), etc.
108Comparaison entre Linux et Windows
- GNU/Linux
- GNU est un projet qui a apporté des tas
d'utilitaires au noyau Linux, tel que le fameux
compilateur gcc, et les milliers d'utilitaires
(tar, tail, man, bash...). - Ces utilitaires GNU, associés au noyau Linux,
constituent le système d'exploitation GNU/Linux. - Linux est donc un noyau.GNU est un ensemble de
programmes utilitaires.GNU/Linux est le système
d'exploitation.
109Comparaison entre Linux et Windows
- Les distributions
- GNU/Linux étant gratuit, différentes sociétés
l'on reprit et complété afin de distribuer un
système d'exploitation à leur goût. C'est ce
qu'on appelle les distributions. - Parmi les plus connues, citons RedHat, Fedora,
Mandriva, Debian, Suse, Slackware, Gentoo,
Xandros, Lycoris...
110Comparaison entre Linux et windows
- Quelle différence entre ces distributions ?
- L'orientation Par exemple, les RedHat sont très
orientées serveurs d'entreprise (bases de
données, serveurs web...) , les Mandriva sont
plus orientées vers les utilisateurs de
bureautique et les internautes. - La façon dont elles sont "fabriquées" par
exemple, la RedHat est conçue par une grosse
entreprise, alors que la Debian est conçue de
façon plus démocratique (participation des
internautes). - Le prix Certaines sont payantes (RedHat,
Mandriva...), d'autres gratuites (Fedora,
Debian...). Notez qu'il arrive de devoir payer
pour les distributions gratuites, mais le prix ne
sert qu'à couvrir le support (CD), les frais
d'envoi et d'éventuels manuels papier. Rien ne
vous empêche de les télécharger et les graver
vous-même.
111Linux et les autres Unix
- Linux a été créé par Linus Torvalds en réaction
aux gros Unix commerciaux, qui étaient pour la
plupart hors de prix. Le projet GNU a également
démarré sur une motivation similaire (GNU
signifie "GNU is Not Unix"). - On dit que Linux est un système d'exploitation
libre, c'est à dire que vous êtes libre de
l'utiliser, le modifier et le re-distribuer (ce
qui n'est pas le cas d'Unix, ni de Windows ou
MacOS X). - Ces Unix existent encore de nos jours et sont
toujours vendus HP-UX (l'Unix de
Hewlett-Packard), AIX (l'Unix d'IBM), Solaris
(l'Unix de Sun), IRIX (l'Unix de Silicon
Graphics)... - Unix est une marque déposée, et toute entreprise
qui souhaite créer un système d'exploitation
estampillé "Unix" doit respecter un certain
nombre de règles strictes. - De par sa gratuité, son ouverture et ses
performances, Linux gagne en popularité par
rapport aux autres Unix. Même les grosses
sociétés qui faisaient leur propre Unix s'y
mettent ! (comme IBM, Sun, HP, SGI...)
112Linux et Windows
- Prise en main
- Il faut l'avouer globalement, Linux exigera de
vous plus de temps que Windows. Si vous n'êtes
pas prêts à consacrer plus de temps, ne passez
pas à Linux. - maîtriser Linux est très gratifiant, parce que
non seulement cela vous permet de comprendre ce
qui se passe "à l'intérieur", mais surtout d'en
faire exactement ce que vous en voulez. - Notez qu'avec les distributions récentes comme
Ubuntu, Mandriva ou Xandros vous n'avez pas du
tout à mettre les mains dans le cambouis si vous
ne le souhaitez pas. Elles sont aussi simples à
utiliser que Windows (voir plus !).
113Linux et Windows
- Compatibilité
- Les programmes Windows ne fonctionne pas sous
Linux. - Les programmes Linux ne fonctionnent pas sous
Windows. - Wine est un programme qui permet de faire
fonctionner certains logiciels Windows sous
Linux, mais il n'est pas simple et ne fonctionne
pas dans 100 des cas. - Il existe des projets comme Qemu ou CoLinux qui
permettent de faire fonctionner Linux dans
Windows ou Windows dans Linux, mais c'est assez
hasardeux et les performances sont souvent assez
mauvaises. - VMWare et VirtualBox sont des logiciels gratuits
qui permettent de faire fonctionner intégralement
Windows dans une fenêtre sous Linux. C'est
pratique si vous avez à tout prix besoin
d'utiliser un logiciel qui n'existe que sous
Windows. - Beaucoup de programmes Linux ont été portés
(adaptés) sous Windows.
114Linux et Windows
- Logiciels
- La quasi-totalité des logiciels Windows ont leur
équivalent gratuit sous Linux OpenOffice peut
remplacer Microsoft Office, K3B peut remplacer
Easy CD Creator, etc. On trouve tout ce qu'il
faut (voir les dizaines de milliers de programmes
sur http//sourceforge.net et http//freshmeat.net
). - La plupart des distributions sont fournies avec
des listes de logiciels Il suffit d'en
sélectionner un et il sera automatiquement
téléchargé, installé et configuré. - Mais il y a toujours certains rares logiciels
sous Windows qui n'ont pas leur équivalent sous
Linux !
115Linux et Windows
- Prix
- Beaucoup de distributions Linux sont gratuites,
mais tout le monde ne peut pas débourser 270
euros pour Windows XP. C'est très cher. - Même les distributions payantes de Linux sont
abordables. Prenons Mandriva Discovery, un
système Linux complet fourni avec OpenOffice et
tout ce qu'il faut 40 euros (Et je ne parle pas
d'Ubuntu Le système d'exploitation complet
suite bureautique OpenOffice 0 ).Comparez
avec Microsoft Windows XP Office XP
270500770 euros (!) pour pouvoir faire le même
boulot. C'est hors de prix.
116Linux et Windows
- Continuité
- Microsoft a abandonné Windows 95, 98 et NT. Cela
veut dire qu'il n'y aura plus de correctif de
sécurité de la part de Microsoft si une faille
est découverte. Pour continuer à travailler en
toute sécurité, vous serez obligé(e) de d'acheter
Windows XP ou Windows Vista. C'est une marche
forcée. - Avec Linux les mises à jour sont continuelles et
incrémentales vous faites évoluer votre système.
Vous n'avez pas à jeter votre système entier à la
poubelle, et surtout personne ne vous force à en
acheter un nouveau. - Si vous dépendez de la distribution d'un vendeur
précis (RedHat, Suse...) et que ce vendeur cesse
les mises à jour, vous devrez mettre à jour vous
même (récupération des sources, compilation...)
ce qui peut être lourd. D'un autre côté, des
distributions comme Debian ne sont pas gérées par
des entreprises et assurent la continuité de leur
système et de tous les systèmes qui en sont
dérivés.
117Linux et Windows
- Customisation
- Linux est modifiable à volonté. Vous pouvez
absolument tout modifier, de la façon dont
démarre le système jusqu'à l'apparence des
fenêtres, la façon dont se comporte la souris ou
bien le fonctionnement du programme qui gère la
connexion Internet. Vous pouvez aussi remplacer
des parties du système. - Windows n'est pas très modifiable. En dehors de
l'apparence des fenêtres, vous ne pouvez pas
changer grand chose.
118Linux et Windows
- Automatisation
- Sous Windows, il est difficile d'automatiser
certaines tâches par des scripts (car il faut
cliquer sur des boutons). Le scripting sous
Windows est limité. Il faut avoir recours à des
programmes supplémentaires (fichiers batch, WSH,
VBScript, KixStart, AutoIt...). - Sous Linux, absolument tout est scriptable. Cela
vous permet d'automatiser toutes les tâches que
vous voulez (par exemple, renommer un ensemble de
fichiers, ou éteindre automatiquement
l'ordinateur à une heure donnée ou après qu'une
tâche soit terminée.).
119Linux et Windows
- Disponibilité des sources
- Les sources de Linux et de ses outils sont
disponibles. Cela vous permet de voir le
fonctionnement interne du système et même de le
modifier. Tout le monde peut contrôler ce qui est
fait, et ainsi trouver rapidement les bugs. Linux
et ses logiciels évoluent ainsi grâce à des
contributions venant de toute la planète. - Windows est une boîte noire. On ne sait pas
comment il fonctionne en interne, et personne
d'autre que Microsoft ne peut le modifier et le
corriger. Vous êtes obligé(e) de faire confiance
à Microsoft.
120Linux et Windows
- Indépendance
- Windows XP ne peut s'installer qu'après une
validation par Internet avec les serveurs de
Microsoft. Vous êtes dépendant de Microsoft pour
pouvoir installer Windows XP. Si Microsoft décide
d'arrêter Windows XP, vous ne pourrez plus
l'installer ou le réinstaller.De plus en plus
d'éditeurs de logiciels utilisent de genre de
mécanisme. Votre ordinateur, vos logiciels et vos
propres fichiers personnels deviennent de plus en
plus dépendants de sociétés privées extérieures,
qui ont de plus en plus de contrôle dessus.Avec
les technologies en cours d'élaboration, vous ne
pourrez même pas démarrer votre ordinateur sans
une autorisation extérieure. - Avec Linux, vous êtes maître de votre ordinateur
et le système est totalement autonome et
indépendant.
121Linux et Windows
- Périphériques
- Les fabricants de périphériques fournissent
presque toujours les pilotes pour Windows. - Bien que Linux se débrouille assez bien avec les
périphériques, il peut arriver que vous ayez un
périphérique qui ne soit pas reconnu par Linux,
et dont les pilotes ne sont pas fournis par le
fabricant. Vous risquez de vous retrouver avec un
périphérique que vous ne pouvez pas utiliser.
122Linux et Windows
- Configuration nécessaire
- Linux nécessite des machines moins puissantes que
Windows. Même avec un vieux 386 avec 64 Mo de
RAM, vous pouvez surfer sur internet, dessiner et
taper votre courrier. Et avec une machine
puissante, c'est un vrai plaisir.De plus Linux a
tendance à beaucoup moins swapper que Windows
(meilleure gestion de la mémoire virtuelle). - Windows XP nécessite un ordinateur très puissant
même pour les tâches les plus simples (travailler
avec des fichiers ou taper son courrier).Linux
permet donc un accès à l'informatique au plus
grand nombre au moindre coût, en particulier avec
de vieux ordinateurs.
123Linux et Windows
- Ouverture et respect des standards
- Linux est plus ouvert aux standards que Windows.
Cela fait que Linux est plus facile à
interconnecter aux autres systèmes que Windows.
Par exemple, Linux est fourni en standard avec
des clients et serveurs HTTP, FTP, telnet, SMTP,
POP3, ssh, SMB, NFS...Cela fait de Linux un
système de choix pour tout ce qui concerne le
réseaux et les communications. - Sous Windows, le plus souvent il est nécessaire
d'acheter ou installer des logiciels
supplémentaires, parfois assez cher. Les
standards sont souvent mal respectés, ce qui rend
l'interconnexion des systèmes compliquée. De plus
Microsoft essaie souvent d'imposer ses propres
standards qui sont redondants avec les standards
existants.
124Linux et Windows
- Découplage de l'interface graphique
- Sous Linux, l'interface graphique est un logiciel
comme un autre. Avantage cela vous permet de
choisir votre interface graphique parmi toutes
celles disponibles KDE, Gnome, XFCE, IceWM,
FluxBox, WindowsMaker...Vous pouvez très bien ne
pas la lancer quand vous n'en avez pas besoin.
Bien pratique pour ne pas gaspiller des
ressources inutilement sur les serveurs. - Sous Windows, vous n'avez pas le choix de
l'interface graphique. Vous êtes également obligé
de la subir même quand vous n'en avez pas besoin
(exception faite de versions spéciales (terminal)
de Windows).Conséquence Sous Windows, si
l'interface graphique plante, vous ne pouvez plus
accéder à votre système pour le réparer. Sous
Linux, ils suffit de démarrer en mode texte vous
pouvez encore accéder à votre système.
125Linux et Windows
- Découplage du système d'exploitation et des
logiciels - Combien de fois avez-vous pesté contre un
plantage de Windows après l'installation d'un
logiciel ? Cela vient du fait que Windows mélange
système d'exploitation et logiciels (base de
registre, DLL, EXE...). Cela rend Windows plus
fragile. Microsoft essaie de corriger avec des
verrues (restauration système), mais ça ne suffit
pas. - Sous Linux, le système et les programmes sont
dans des environnements bien séparés. Il est plus
rare que l'installation ou la désinstallation
d'un logiciel plante le système. Et en cas de
problème, il est généralement plus facile de
revenir en arrière (retour à la version
précédente d'un logiciel).
126Linux et Windows
- Découplage du système d'exploitation et des
logiciels - Point négatif pour Linux les logiciels fournis
sous forme de source (.tar.gz) sont plus délicats
à installer (on ne sait pas toujours ce qu'ils
font). Mais la majorité des logiciels sont
heureusement disponibles sous forme packagées
propre (.rpm, .deb...). - Point négatif pour Windows la base registre
contient la configuration du système
d'exploitation et de tous les logiciels. Si elle
est endommagée, c'est tout le système qui est bon
à mettre à la poubelle.Au contraire sous Linux,
la configuration de chaque logiciel est
enregistrée dans des fichiers séparés.
127Linux et Windows
- Sécurité
- Il est admis que Linux est généralement plus sûr
que Windows. Cela vient de la façon dont la
sécurité est gérée en interne dans Linux (par
exemple, il est facile d'interdire à un
utilisateur d'accéder au lecteur de CD-ROM ou à
Internet.) - Windows étant destiné au grand public, il est par
défaut configuré de façon moins stricte. Cela
facilite la vie de l'utilisateur novice, mais
cela facilite aussi la vie des hackers et
virus.Mais n'oubliez pas qu'un Linux mal
configuré n'est pas plus sûr qu'un Windows mal
configuré ! - Tout comme Windows, on découvre régulièrement des
failles de sécurité dans Linux. Toutefois, elles
ne sont généralement pas de l'ampleur de celles
de Windows (faille RPC (virus Blaster), faille
NetBIOS (accès aux partages même sans le mot de
passe), failles ActiveX, Internet Explorer,
Outlook Express...).Microsoft met parfois
plusieurs mois pour corriger certaines failles.
Dans le monde opensource (Linux et logiciels
opensource), les failles sont corrigées beaucoup
plus rapidement (généralement dans les 24
heures).
128Linux et Windows
- Virus, vers, chevaux de Troie, spywares
- La gestion de la sécurité et la configuration par
défaut de Linux étant différentes de Windows,
cela le rend moins sensible aux virus et autres
saletés. Il existe une vingtaine de virus sous
Linux, à comparer au plus de 60000 virus
existants sous Windows. - Cependant, sous Windows ça s'améliore doucement
depuis le service pack 2 de Windows XP dont le
réglage par défaut rend la machine (en principe)
plus sûre. Mais il reste absolument nécessaire
d'installer antivirus, firewall et détecteur de
chevaux de Troie. - Toutefois, si Linux devient plus populaire, il
deviendra une cible plus intéressante et il
faudra s'attendre immanquablement à l'apparition
d'un plus grand nombre de virus spécifiques à
Linux. Mais de par sa structure, il sera plus
facile de protéger une machine Linux.
129Linux et Windows
- Vie privée
- Windows et les logiciels pour Windows sont
infestés de programmes espions. Par exemple,
Microsoft Money 2005 envoie à Microsoft vos
numéros de comptes bancaires, la liste des
transactions (montants, bénéficiaires), les
plafonds de budgets, etc. - Cela n'arrive pratiquement jamais sous Linux,
pour la simple raison que le code source de tous
les programmes est disponible, à la vue de tous
(c'est la définition même d'opensource source
ouvert). On ne peut pas y planquer un espion sans
que ça se voit.Sous Linux vous avez également un
meilleur contrôle sur les programmes qui sont
lancés.On peut dire que globalement protéger sa
vie privée est plus facile sous Linux.
130Linux et Windows
- Mise à jour
- Là, ils sont à peu près à égalité Microsoft
possède Windows Update (très simple et très
pratique), et de nombreuses distributions ont
également des système de mise à jour automatique
(apt-get, rpmi...).L'avantage de la majorité des
distributions (comme Debian ou Fedora) est
qu'elles peuvent également mettre à jour tous vos
logiciels. Il n'existe pas d'équivalent sous
Windows.
131Linux et Windows
- Popularité
- Il y a beaucoup plus de monde qui travaille sous
Windows que sous Linux. Les utilisateurs Windows
auront du mal à se mettre à Linux. Il faut
changer ses habitudes et ce n'est pas facil