Vous êtes sur la page 1sur 154

Introduction aux Systèmes

d'exploitations

Prof: Imade BENELALLAM


E-Mail: i.benelallam@insea.ac.ma
Plan
● Systèmes informatiques
● Définitions
● Structure d’un 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
Pourquoi é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
Les 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
Les 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,...
Les 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
Introduction :
Un ordinateur doit être capable de faire fonctionner un programme,pour
cela il faut que la machine puisse effectuer un certain nombre d'opérations
préparatoires afin d'assurer les échanges entre l'unité centrale de traitement,
la mémoire, et les périphériques.

UCT Mémoire E/S

Opération des échanges


Ces opérations sont assurées par un ensemble de programmes appelé le
système d’exploitation OS (Operating System).

Université Med V- Agdal 2004


Définition :
Un système d'exploitation est un ensemble de programmes permettant à
son utilisateur de disposer d'un ensemble de services élaborés à partir des
ressources de la machine sur laquelle il s'exécute.il doit assurer :
chargement et lancement des programmes.
gestion du (des) processeur(s)
gestion des périphériques et entrées/sorties.
gestion de la mémoire principale et secondaire.
... Applications
OS

Bios
Matériel

Université Med V- Agdal 2004


A savoir :
les périphériques varient d'un ordinateur à un autre, en particulier sur un PC.
On a introduit donc la notion des pilotes de périphériques (instructions
servant à piloter un périphérique, en anglais drivers) différents selon les types
d'ordinateurs et les types de périphériques.

OS

Pilotes

Matériel

Université Med V- Agdal 2004


Dé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 l’interface usager/machine:
● Masque les détails du matériel aux applications
● Le SE doit donc traiter ces détails
– Contrôle l’exécution des applications
● Le fait en reprenant périodiquement le contrôle de l’UCT
● Dit à l’UCT quand exécuter tel programme
– Il doit optimiser l`utilisation des ressources pour maximiser la performance
du système
Définitions

● Le système d’exploitation d’un système informatique est


un ensemble de programmes qui remplissent deux
grandes fonctions :
– gérer les ressources de l’installation matérielle en assurant
leurs partages entre un ensemble plus ou moins grand
d’utilisateurs
– assurer un ensemble de services en présentant aux
utilisateurs une interface mieux adaptée à leurs besoins que
celle de la machine physique
Abstraction

● 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
Vue abstraite d’un SE
Ressources 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
Exigences à 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) --> multi-utilisateurs
être extensible

De plus en plus gros et complexe :


Efficace, évolutif, maintenable
Exigences de l'utilisateur

« Faut que ça marche ! »


(comme j'en ai envie ...)

« Ça imprime pas ... »

= Machine utilisable (machine étendu)


Exigences 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
Historique des Systèmes
d'exploitations
● CP/M (depuis 1974), Digital Research
● UNIX (depuis 1969-1979), premier par AT&T
● MS-DOS (depuis 1981), Microsoft
● MacOS (depuis 1984), Apple
● Windows (depuis 1991), Microsoft
● Linux (depuis 1992), OpenSource
Systè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
Systèmes d'exploitations

● UNIX (depuis 1969-1979), AT&T


– 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
Systèmes d'exploitations

● MS-DOS (depuis 1981), Microsoft


Systèmes d'exploitations

● MacOS (depuis 1984), Apple


– premier GUI
Systè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 »


● Windows 7, Windows 8
Systè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..
Petite présentation de….
Windows 8 !
Windows 8 est le nom de code de la future version de Microsoft
Windows. Elle apporte de très nombreuses nouveautés, comme :
•Prise en charge de l'architecture ARM (type de processeur
essentiellement utilisé dans les smartphones et les tablettes);
•Nouvelle interface (dite Métro), tactile et utilisable à la souris, basée
sur HTML 5, Javascript, XAML, C#, C++, etc. Elle s'ajoute à
l'interface Aéro actuelle de Windows 7;
•Suppression du menu démarrer;
•Interface de l'explorateur revue (style office 2010);
•Internet explorer 10 sous deux versions (une pour Métro qui n'inclut
pas Flash, Java ou Silverlight et une autre classique pour l'interface
Aéro);
•Gestionnaire des tâches amélioré;
•Nouveau système de fichier;
•Gestionnaire de démarrage modifié;
•Prise en charge par défaut des fichiers images;
•Etc ....
Interface métro

Image : Microsoft. Tous droits réservés.


Interface métro (suite)

Image : Microsoft. Tous droits réservés.


Interface métro (fin)

Image : Microsoft. Tous droits réservés.


Gestionnaire des taches de Windows 8

Images : Microsoft. Tous droits réservés.


Gestionnaire des taches (suite)

Image : Microsoft. Tous droits réservés.


Internet Explorer 10

Image : Microsoft. Tous droits réservés.


Internet Explorer (fin)

Image : Microsoft. Tous droits réservés.


Filtre SmartScreen et protection au démarrage

Images : Microsoft. Tous droits réservés.


Introduction au système MS-DOS
(MicroSoft Disk Operating System)
Le DOS, comme tout système d'exploitation, contrôle les activités de l'ordinateur. Il
gère des opérations telles que la circulation, l'affichage, et l'entrée de données entre
les divers éléments constitutifs du système.

Le rôle du DOS est d'interpréter les commandes saisies au clavier par l'utilisateur.
Ces commandes permettent d'effectuer les tâches suivantes:
•la gestion des fichiers et des répertoires.
•la configuration du matériel.
•l'optimisation de la mémoire.
•l'exécution des programmes.
•…

Université Med V- Agdal 2004


Les fichiers sous MS-DOS

Sous MS-DOS chaque fichier peut être aussi volumineux que possible, cependant le
nom que vous lui donnez est soumis à des restrictions, on ne peut en effet lui donner un
nom d'une longueur maximale de 8 caractères plus 3 pour l'extension.
De plus, les fichiers ne doivent contenir que les caractères suivants:
•lettres de A à Z
•chiffres de 0 à 9
•caractères spéciaux suivants: _ ^ $ ~ ! # % & - { } ( ) @ '
Enfin, les noms de fichiers ne doivent pas contenir:
•de blanc (espace).
•de virgule.
•de barre oblique inverse.
•de point (hormis le point qui sépare le nom de l'extension).

Université Med V- Agdal 2004


Les fichiers sous MS-DOS

et ils ne doivent pas non plus appartenir à la liste de noms réservés:


CLOCK$ CON AUX COM1 COM2 COM3 COM4 LPT1 LPT2
LPT3 NUL PRN

Un disque dur peut contenir, suivant sa taille, plusieurs milliers de fichiers. Cependant,
plus leur nombre est élevé plus il est difficile de les gérer, il devient alors nécessaire de
les stocker dans des répertoires. Sous MS-DOS, les noms de ces répertoires sont soumis
aux mêmes restrictions de longueur que les fichiers (8 caractères pour le nom).

Université Med V- Agdal 2004


Quelques commandes MS-DOS

Rôle : Afficher le contenu d'un répertoire

La commande " DIR " fait la liste des fichiers


correspondant aux spécifications précisées par
l ’argument de la commande et donne quelques
renseignements sur les fichiers.
Remarque : Si on veut afficher la liste des fichiers dont
l ’extension est « .txt », on envoie la commande :
C:\DIR *.txt

Université Med V- Agdal 2004


Quelques commandes MS-DOS

Rôle : Créer un répertoire


La commande MKDIR (MaKe DIRectory)
peut être abrégée en MD.
Il suffit de taper :
C:\MD Nom du répertoire

Université Med V- Agdal 2004


Quelques commandes MS-DOS

Rôle : Effacer un répertoire


La commande RMDIR (ReMove DIRectory)
peut être abrégée en RD.
C:\RD Nom du Répertoire
Rôle : Changer de répertoire
La commande "CD" ou encore "CHDIR"
permet de passer d'un répertoire à l'autre (CD
pour Change Directory)
C:\cd Nom du Répertoire
Université Med V- Agdal 2004
Quelques commandes MS-DOS

Rôle : copier un ou une liste de fichiers


Syntaxe : COPY [fichier départ] [fichier destinataire]
Il faut passer en premier argument le nom du fichier
à copier, et en deuxième argument le nom que nous
voulons donner à la copie.

Université Med V- Agdal 2004


Quelques commandes MS-DOS

Exemple : Pour copier « fichier1.txt » dans le


sous répertoire « R2 » en lui donnant un
nouveau nom copie1.txt.
" \ " racine de' l'arborescence correspondant
Répertoire à un disque (C: ou A:)
courant

Repertoire1 R2 R3 R4

fichier1 fichier2 R5 R6 R7 R8

fichier3

Université Med V- Agdal 2004


Quelques commandes MS-DOS

Rôle : Renommer un fichier

• La commande RENAME peut être abrégée en


REN

• Exemple :
C:\ren fichier1.txt surnom.txt

Université Med V- Agdal 2004


Quelques commandes MS-DOS

Rôle : Supprimer un fichier


Elle sert à détruire un fichier ou une liste de fichier. On
lui donne comme argument le nom d ’un fichier (et
éventuellement son extension) ou bien les
spécifications d ’une liste de fichiers à l ’aide des
caractères « ? » ou « * ».
Il est possible de supprimer tous les fichiers d ’un
répertoire en une seule fois : ERASE *.*
Exemple:
C:\erase Nom de fichier

Université Med V- Agdal 2004


Quelques commandes MS-DOS

dir liste le contenu d'un répertoire


cd change de répertoire
cd .. répertoire parent
md ou mkdir crée un nouveau répertoire
deltree supprime un répertoire, ainsi que l'ensemble de ses sous-répertoires.
copy, xcopy copie de fichier
move déplacement de fichier
del supprime le fichier
help aide sur la commande demandée
format formate le lecteur demandé
ver donne le numéro de version

2004
Structure d’un système informatique

Applications

Système d’exploitation
Langage machine
Dispositifs
physiques

Interpréteur de commandes
Classifications des S. E.

● Par la méthode d’accès au système par l’usager :


– par session : ce sont les systèmes transactionnels ou
conversationnels (ex : réservation d’un 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 d’applications des usagers :
– développement de programmes
– manipulation des données
Classifications 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 d’usagers simultanés
– système monoposte
– système multiposte
Classifications 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)
Quelques 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
Définitions : Le noyau

● Les fonctions principales du noyau sont :


– L’allocateur (dispatcher) du CPU : répartition du temps
disponible de l’unité de traitement entre les différents
processus
– La gestion des interruptions : détermination de la source de
l’interruption et activation de la procédure de service
correspondante
– Le support de l’environnement des processus :
synchronisation des processus
Définitions : Les processus
● Un processus est un programme qui s’exécute = un
programme exécutable + données + pile + compteur
ordinal + pointeur de pile + registres +…

P1
P6 P2

P5 P3
P4
Définitions:
Traitement 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
Définitions:
Systè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
Définitions:
Systè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)
Définitions:
Systè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
Définitions:
Multi-utilisateurs
● Login

● Type:
– Administrateur (« root »)
– Groupes
– Utilisateurs

● pour gérer les droits


Définitions:
Systè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
Définitions:
Systè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


SE: Modèle en couches

Application (Logiciel, p.ex. Microsoft Word)

Gestion des fichiers

Gestion des périphériques (entrées/sorties)

Gestion des processus

Gestion de la mémoire

Noyau du Système d’exploitation


Pilote Pilote Pilote
Matériel
Ingré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, ...)
Modèle en couches

Application (Logiciel, p.ex. Microsoft Word)

Gestion des fichiers

Gestion des périphériques (entrées/sorties)

Gestion des processus

Gestion de la mémoire

Noyau du Système d’exploitation


Pilote Pilote Pilote
Matériel
Modèle en couches

Application (Logiciel, p.ex. Microsoft Word)

Gestion des fichiers

Gestion des périphériques (entrées/sorties)

Gestion des processus

Gestion de la mémoire

Noyau du Système d’exploitation


Pilote Pilote Pilote
Matériel
gestion mémoire

Les mémoires
● Conservation de l’information
● Caractéristiques
– Situation, capacité, méthodes d’accè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…
gestion mémoire
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: l’espace d`adressage d’un
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
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 :
1. les partitions,
2. la segmentation,
3. la pagination,
4. la mémoire virtuelle.
Pour chacune on présente l'idée, la mise en œuvre, les
avantages et les inconvénients.
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.
gestion mémoire
La segmentation
● La segmentation : division d’un 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
– L’adresse contient deux champs (le numéro du segment et le
déplacement à l’intérieur du segment)
● La segmentation est coûteuse en temps de traitement
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 :
– L’espace d’adressage virtuel est divisé en petites unités
appelées pages.
– L’espace d’adressage 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
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.
gestion mémoire
La mémoire virtuelle
● Idée : Supprimer la contrainte de dimension de la
mémoire ou fournir un espace d’adressage indépendant
de celui de la mémoire physique
● Mise en œuvre : On dote l’ordinateur 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 l’optimisation est gérée
par le système d’exploitation qui met en place des
stratégies.
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). C’est un espace
mémoire qui n’existe 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
Modèle en couches

Application (Logiciel, p.ex. Microsoft Word)

Gestion des fichiers

Gestion des périphériques (entrées/sorties)

Gestion des processus

Gestion de la mémoire

Noyau du Système d’exploitation


Pilote Pilote Pilote
Matériel
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.
Arbre de processus en UNIX
État de processus

● Au fur et a mesure qu’un 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
Diagramme de transition d`états d`un
processus

Ordonnanceur = angl. scheduler


É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 s’est 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.)
Transitions entre processus

● Prêt  Exécution
– Lorsque l ’ordonnanceur UCT choisit un processus pour
exécution
● Exécution  Prêt
– Résultat d’une interruption causée par un événement
indépendant du processus
● Il faut traiter cette interruption, donc le processus courant perd
l’UCT
– Cas important: le processus à épuisé son intervalle de temps
(minuterie)
Transitions entre processus

● Exécution  Attente
– Lorsqu’un 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 d’un autre processus

● Attente  Prêt
– lorsque l'événement attendu se produit
processus

● La priorité d’un processus est attribuée par le


planificateur (scheduler) selon l’urgence et les
ressources requises
● L’allocateur doit aussi sauvegarder l’état de la
machine lorsque le processus s’interrompt et
indiquer au CPU le processus suivant ; le processus
interrompu est sauvegardé dans un bloc
d’information appelé vecteur d’état ou descripteur
processus

Notion de préemption
Définition : la préemption est la mise en attente forcée d’un
processus.
Un processus spécial s’occupe de faire « tourner »
les processus qui sont en running : c’est l'Ordonnanceur ou
scheduler en anglais. La gestion de la préemption est appelé
l’ordonnancement ou le scheduling.
Les critères de choix appliqué par le S.E. déterminent
les performances du système.
processus
Notion de préemption (suite)
Il y a différent niveau d’attente d’un processus, c’est à 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 d’un 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 l’autre) s’appelle le SWAP !
D’où deux états supplémentaires : « waiting swappé » et
« ready swappé ».
Modèle en couches

Application (Logiciel, p.ex. Microsoft Word)

Gestion des fichiers

Gestion des périphériques (entrées/sorties)

Gestion des processus

Gestion de la mémoire

Noyau du Système d’exploitation


Pilote Pilote Pilote
Matériel
Entrées-sorties
Les entrées/sorties correspondent aux mécanismes
qu’utilisent les processus pour communiquer avec
l’exté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 d’E/S :
● Électroniques : mémoires
● Magnétiques : disques ou disquettes
● Mécaniques : clavier, imprimantes
Gestion des entrées-sorties

● Objectifs :
– envoyer des commandes aux périphériques
– intercepter les interruptions
– traiter les erreurs
● Fournir une interface simple, facile d’emploi et
indépendante du périphérique utilisé
● Définition de pilotes (drivers)
Modè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 d’exploitation


Pilote Pilote Pilote
Matériel
Fichiers 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 sous-
répertoires, formant une arborescence
Que c’est qu’un fichier?

● Collection nommée d’informations 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
Structures de fichiers

● Aucune – séquences d’octets…


● Texte: Lignes, pages, docs formatés
● Source: classes, méthodes, procédures…
● Etc.
Attributs d’un fichier

● Constituent les propriétés du fichiers et sont stockés dans


un fichier spécial appelé répertoire (directory). Exemples
d’attributs:
– Nom: pour permet aux personnes d’accéder au fichier
– Identificateur: un nombre permettant au SE d’identifier le
fichier
– Type: Ex: binaire, ou texte; lorsque le SE supporte cela
– Position: Indique le disque et l’adresse 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
Opé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 d’un fichier
– Libération d’espace
● Troncature: remise de la taille à zéro tout en conservant les
attributs
Autres opérations

● Ajout d’infos
● Rénommage
● Copie
– peut être faite par rénommage: deux noms pour un
seul fichier
● Ouverture d’un fichier: le fichier devient associé à un
processus qui en garde les attributs, position, etc.
● Fermeture
Types de fichiers

● Certains SE utilisent l’extension du nom du fichier pour


identifier le type.
– Microsoft: Un fichier exécutable doit avoir l’extension .EXE, .COM,
ou .BAT (sinon, le SE refusera de l’exécuter)
● Le type n’est pas défini pour certains SE
– Unix: l’extension 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 l’a généré (ex: document Word Perfect)
Types de fichiers
Structure logique des fichiers

● Le type d’un 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 d’enregistrements
(records)
– Chaque enregistrement est constitué d’un 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 d’octets « byte stream »
Arborescence
Gestion 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 d’E/S (Unix - aucune
différence entre un fichier et un périphérique)
● La conservation des fichiers et la réalisation des fonctions
d’accès impliquent la prise en charge par le SGF de :
– la gestion du support physique en masquant à l’utilisateur les détails
de l’organisation physique de ses fichiers
– la sécurité et la protection des fichiers, c’est à dire la garantie de leur
intégrité en cas d’incident ou de malveillance et le respect des règles
d’utilisation fixées (droits d’accès, conditions de partage...)
Droits d’accès

● A chaque fichier est associé un propriétaire et un ensemble de


droits d’accès (lecture, écriture et exécution)
● Trois types d’utilisateurs :
– le propriétaire
– les utilisateurs du même groupe que le propriétaire
– les autres utilisateurs du système
Droits d’accès
● Un utilisateur vis à vis d’un fichier appartient à l’une des trois
catégories d’utilisateurs
● 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
Système de fichiers
● Arborescence
● Nom des fichiers:
– /home/jack/microarrays/estrogen
-rw-r----- 1 patrick lipsi 2340 Jun 11 17:45 guethary.jpg
-rwxr-x--- 1 patrick lipsi 2340 Jun 11 17:45 PacMan.exe

● Droits:
– Utilisateur Groupe Tous
– 'r' lire, 'w' ecrire, 'x' éxécuter
● Types:
– '-' Fichier regulier, 'd' repertoire, 'x' lien symbolique..
Système de fichiers
Système d'exploitation Types de système de fichiers supportés
Dos FAT16
Windows 95 FAT16
Windows 95 OSR2 FAT16, FAT32
Windows 98 FAT16, FAT32
Windows NT4 FAT, NTFS (version 4)
Windows 2000/XP FAT, FAT16, FAT32, NTFS (versions 4 et 5)
Ext2, Ext3, ReiserFS, Linux Swap(, FAT16,
Linux
FAT32, NTFS)
HFS (Hierarchical File System), MFS
MacOS
(Macintosh File System)
OS/2 HPFS (High Performance File System)
SGI IRIX XFS
FreeBSD, OpenBSD UFS (Unix File System)
Sun Solaris UFS (Unix File System)
IBM AIX JFS (Journaled File System)
Structures de répertoires (directories)
● Une collection de structures de données contenant infos sur
les fichiers.

Répertoires

Fichiers F1 F2 F4
F3
Fn

● Tant les répertoires, que les fichiers, sont sur disques


● À l’exception d’un rép. racine en mém. centrale
Information 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
Opé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
Organisation 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
Partage de fichiers

● Désirable sur les réseaux

● Nécessite de protection
Protection

● Types d ’accès permis


– lecture
– écriture
– exécution
– append (annexation)
– effacement
– listage: lister les noms et les attributs d’un fichier

● Par qui
Listes et groupes d’accè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
Sé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)
Sé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
Sé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 »)
Sé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 ... !)
Sé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)
Sé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
Unix - Généralités
● Créé par Ritchies et Thomson, dans les laboratoires BELL en 1974
● Ecrit à 90 % en langage C
● Marque déposée, d’où l’existence de versions voisines (HP/UX, AIX)
● 2 familles : Système V et BSD (Berkeley Software Distribute)
● Multi-tâches (file d’attente) / Multi-utilisateurs
● Interfaces aisées
● Gestion hiérarchique des fichiers (arbre inversé)
● Sécurité sur chaque fichier
● Indépendance des périphériques / redirection d’entrée/sortie
● Exécution directe (interactif) ou masquée (tâche de fond)
● Environnement modulable
Multi-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)
Structure de l’arborescence

bin dev etc lib tmp usr

adm bin include lib man spool tmp


Types 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 à
d’autres 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
Unix - 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
Unix - Commandes

● La commande man :
description d'une commande à l'écran
– Syntaxe :
man [-] [-adFlrt] [-Marborescence] [-Tmacro-package]
[-ssection] nom_commande [...]
– Exemple : man ls
Unix - 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 ...]
Unix - 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)
Unix - Commandes

● La commande cd :
changement de répertoire, de manière relative ou absolue
● Syntaxe :
cd [nom_répertoire]
Unix - Commandes

● La commande mkdir :
création d’un 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
Unix - Commandes

● rmdir : suppression d’un 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
Unix - Contrôle de processus

● La commande kill permet d’envoyer un signal à un


processus
Exemple : kill -9 1232
Stoppe le processus de PID 1232
Unix- 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 d’informations
Comparaison 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.
Comparaison 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.
Comparaison 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...
Comparaison 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.
Linux 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...)
Linux 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 !).
Linux 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.
Linux 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 !
Linux 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:
270+500=770 euros (!) pour pouvoir faire le même boulot. C'est
hors de prix.
Linux 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.
Linux 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.
Linux 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.).
Linux 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.
Linux 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.
Linux 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.
Linux 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.
Linux 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.
Linux 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.
Linux 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).
Linux 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.
Linux 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).
Linux 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.
Linux 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.
Linux 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.
Linux 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 facile.
● Ayez l'esprit ouvert, et évitez la bigotrie ou l'intégrisme en matière
de systèmes d'exploitation. Tirez le meilleur parti des deux
mondes. Et ne restez pas sur une mauvaise impression.
● On entend parfois dire certains défenseur de Windows dire que
Windows est forcément meilleur, la preuve: tout le monde l'utilise.
Mauvais argument: selon leurs critères, Star Academy serait donc
la meilleure musique au monde puisque c'est celle qui se vend le
mieux ?
Références

1. Systèmes d’exploitations, 2ème édition 2003, Andrew


Tanenbaum, PEARSON EDUCATION
2. Unix & Linux : Utilisation et administration, 2004,
Jean-Michel Léry, PEARSON EDUCATION