Introduction aux Systèmes d'exploitations Prof: Imade BENELALLAM E-Mail: [email protected] 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 – ● ● ● 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 – ● pas de multitâche, pas de multi-utilisateurs 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 LPT3 NUL PRN COM1 COM2 COM3 COM4 LPT1 LPT2 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 courant à un disque (C: ou A:) Repertoire1 fichier1 fichier2 R2 R5 R3 R4 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 Université Med V- Agdal surnom.txt 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 sousré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. – ● Le type n’est pas défini pour certains SE – ● Microsoft: Un fichier exécutable doit avoir l’extension .EXE, .COM, ou .BAT (sinon, le SE refusera de l’exécuter) 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) Linux Ext2, Ext3, ReiserFS, Linux Swap(, FAT16, FAT32, NTFS) MacOS HFS (Hierarchical File System), MFS (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 F3 F4 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 adm dev bin etc lib include lib tmp man usr 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. 2. Systèmes d’exploitations, 2ème édition 2003, Andrew Tanenbaum, PEARSON EDUCATION Unix & Linux : Utilisation et administration, 2004, Jean-Michel Léry, PEARSON EDUCATION