Professional Documents
Culture Documents
Attachement 183
Attachement 183
d'exploitations
●
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.
Bios
Matériel
OS
Pilotes
Matériel
●
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
= 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
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.
•…
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).
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).
Repertoire1 R2 R3 R4
fichier1 fichier2 R5 R6 R7 R8
fichier3
• Exemple :
C:\ren fichier1.txt surnom.txt
2004
Structure d’un système informatique
Applications
r s Ed
u ite
l ate Système d’exploitation urs
pi
o m
C 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
Gestion de la mémoire
Gestion de la mémoire
Gestion de la 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
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
Gestion de la mémoire
●
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
●
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
Gestion de la mémoire
●
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
Gestion de la mémoire
●
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 F 1 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
●
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
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
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
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
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