systeme d'exploitation unix linux

Upload: bouchra1abarkan

Post on 07-Jul-2018

232 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/19/2019 systeme d'exploitation Unix Linux

    1/27

  • 8/19/2019 systeme d'exploitation Unix Linux

    2/27

    Chapitre : Introduction au système

    d’exploitation Unix Linux 

    HistoireEn 1965 les laboratoires Bell Labs lancent un projet

    avec General Electric et le MIT (Massachussets Institute ofTechnology) pour concevoir un système d'exploitation, sonnom : Multics. Malheureusement pour eux les chosesn'avancent pas très vite et Bells Labs finit par jeter l'éponge.

    C'est alors que deux chercheurs de ces laboratoires,Dennis Ritchie et Ken Thompson, décident deconcevoir eux-mêmes un système qui conviendrait auxbesoins de leur entreprise.C'est un de leur collègue, Brian Kernighan, qui lui trouve

    son nom : il y avait Multics, il y aura désormais Unix. 

  • 8/19/2019 systeme d'exploitation Unix Linux

    3/27

    Chapitre : Introduction au système

    d’exploitation Unix Linux 

    Ken Thompson Dennis Ritchie  Brian Kernighan 

    Remarque :  Ce sont ces mêmes chercheurs qui ont inventé un peu

     plus tard le langage C! Ils en ont profité pour réécrire presque toutleur Unix du langage machine (assembleur) vers le C.

  • 8/19/2019 systeme d'exploitation Unix Linux

    4/27

    Chapitre : Introduction au système

    d’exploitation Unix Linux 

    1985 : Le système Minix

    Depuis 1985 des milliers d'étudiants ont appris laprogrammation système grâce à Minix.

    1991 :Linus Torvalds, étudiant finlandais, présenta la

    première version de son système d'exploitation Linux.Linus …UnixLinux

  • 8/19/2019 systeme d'exploitation Unix Linux

    5/27

    Chapitre : Introduction au système

    d’exploitation Unix Linux 

    Linus Torvalds réecrit certaines parties du systèmeMinix afin de lui ajouter des fonctionnalités et de lerendre plus efficace. Les sources de son travail sontdiffusées sur Internet. C’est ainsi que la première Version de Linux est née: Version 0.1 août 1991.

  • 8/19/2019 systeme d'exploitation Unix Linux

    6/27

    Chapitre : Introduction au système

    d’exploitation Unix Linux 

    Caractéristique d’Unix 

    Multi-Utilisateurs

    Multi-tâches

    Multi plate-formes: (portable écrit en C)

    Interactif

    Un système de fichiers hiérarchisé

    Un mécanisme de protection

    Distribué gratuitement: basé sur le principe dulogiciel libre et selon le terme de la licence GPL.

    Fiable, robuste, puissant et efficace.

  • 8/19/2019 systeme d'exploitation Unix Linux

    7/27

    Chapitre : Introduction au système

    d’exploitation Unix Linux 

    Architecture générale du système

    Unix est constitué principalement de trois couches :

    Couche « physique » : périphériques + BIOS ; Couche « système » : Noyau et Processus ;

    Couche « Interface » : Shell;

    La communication entre ces couches est réglementée

    par le noyau (Kernel).

  • 8/19/2019 systeme d'exploitation Unix Linux

    8/27

    Chapitre : Introduction au système

    d’exploitation Unix Linux 

    Architecture du système

     NOYAU

    SHELL(s)

    Éditeurvi, ed,

    emacs

    Assembleur

    Linker

    Compilateur

    C

    fortran

    pascal

    Génie logiciel lex, yacc, make, sccs

    Outils

    d’administration 

    Outil de

    communication

    mail

    write

    kermit

  • 8/19/2019 systeme d'exploitation Unix Linux

    9/27

    Chapitre : Introduction au système

    d’exploitation Unix Linux 

    L’utilisateur communique avec le noyau par l'intermédiaired'un SHELL.

     Les shells sont aussi des langages de commandes et deprogrammation.

    Les principaux SHELLS et leurs exécutables sont :

     Bourne Shell ===> /bin/sh

    C Shell ===> /bin/cshKorn Shell ===> /bin/ksh

    Bash ===> /bin/bush

  • 8/19/2019 systeme d'exploitation Unix Linux

    10/27

    Chapitre : Introduction au système

    d’exploitation Unix Linux 

    Le Noyau UNIX (kernel) 

    Le noyau est le programme qui assure la gestion de lamémoire, le partage du processeur entre les différentestâches à exécuter et les entrées/sorties de bas niveau. Il

    est lancé au démarrage du système (le boot) ets’exécute jusqu’à son arrêt. 

    Le noyau est  constitué d’un ensemble de procédures et defonctions écrites pour l’essentiel en langage C. 

    La taille d’un noyau Unix est aux alentours de 10 millions delignes de programmes sources.

  • 8/19/2019 systeme d'exploitation Unix Linux

    11/27

    Chapitre : Introduction au système

    d’exploitation Unix Linux 

    Les 

    tâches 

    du 

    noyauQuelques tâches gérées par Le noyau :  L'initialisation du système.

     La gestion de mémoire.

     La gestion des fichiers.

     La gestion des processus. …etc. 

  • 8/19/2019 systeme d'exploitation Unix Linux

    12/27

    Chapitre : Introduction au système

    d’exploitation Unix Linux 

    Initialisation du système

    Lors du lancement du système, deux processus sontcréés « swapper » et « init »:

    « Swapper » est un processus système qui n’exécuteque des fonctions et procédures et qui gère enparticulier le va et vient des programmes entre lesmémoires principales et secondaires.

    « Init » a pour rôle de créer un processus pour chacundes terminaux des systèmes à partir desquels unutilisateur peut ouvrir une session.

  • 8/19/2019 systeme d'exploitation Unix Linux

    13/27

    Chapitre : Introduction au système

    d’exploitation Unix Linux 

    Système de Gestion de Fichiers(SGF)

    Les SGF sont structurés hiérarchiquement etregroupent les fichiers dans les répertoires. Il existe

    un répertoire racine (/) qui contient tous les fichiers etles dossiers.

    Les noms des fichiers et des répertoires peuvent êtretrès longs ( jusqu’à 256 caractères par nom )

    Exemple: ext2, ext3.

  • 8/19/2019 systeme d'exploitation Unix Linux

    14/27

    Chapitre : Introduction au système

    d’exploitation Unix Linux 

    Rq: les systèmes des fichiers Unix sont ditsmono-tête ce qui signifie qu’ils n’ont qu’un 

    point de départ, le répertoire racine, alorsque les systèmes de Microsoft sont multi-têtes puisqu’ils ont un point de départ par

    lecteur.

  • 8/19/2019 systeme d'exploitation Unix Linux

    15/27

    Chapitre : Introduction au système

    d’exploitation Unix Linux 

    /

    bin etcdev libhome rootusr … 

    csh ls

    fd0 lp

    passwd

    User2User1

    La hiérarchie des répertoires

    Linux définit un système de fichiers hiérarchique avec uncertain nombre de répertoires standards

  • 8/19/2019 systeme d'exploitation Unix Linux

    16/27

    Chapitre : Introduction au système

    d’exploitation Unix Linux 

    Hiérarchie standard du système de fichiers:

    /: répertoire racine

    /boot: répertoire contenant le noyau de linux.

    /dev: répertoire contenant les fichiers spéciaux permettent

    d’accéder aux périphériques.  /sbin: répertoire contenant les commandes systèmes réservées à

    l’administrateur. 

    /bin: ce répertoire contient les commandes systèmes générales

    /lib: contient les bibliothèques partagées

    /etc: Répertoire contenant tous les fichiers de configuration dusystème.

    /tmp: répertoire permettant de stocker les données temporaires.

  • 8/19/2019 systeme d'exploitation Unix Linux

    17/27

    Chapitre : Introduction au système

    d’exploitation Unix Linux 

    /usr: programmes et utilitaires des utilisateurs et contient denombreux sous-répertoire:

    /usr/bin: contient l’exécutable des utilitaires 

    exemple : (gcc -->compilateur, ls --> liste les fichiers et lesrépertoires ,…etc)

    /usr/sbin: les fichiers développés en C , sources des programmes desystème.

    /var: Répertoire contenant les répertoires personnels des utilisateurs.

    /root: ce répertoire contient le répertoire personnel del’administrateur.

    /mnt : réservé au montage des systèmes de fichiers non permanents(Cd-ROM , disquette ..etc.)

    /home : contient les répertoires des utilisateurs

  • 8/19/2019 systeme d'exploitation Unix Linux

    18/27

    Chapitre : Introduction au système

    d’exploitation Unix Linux 

    Remarque:Pour accéder à un fichier l’utilisateur donne le

    chemin d’accès , ce dernier peut être relatif  ouabsolu:

     Absolu en partant toujours de la racine de l’arbre. Ex: /home/etudiant1/cours/chap1.htm

    Relatif  en partant du répertoire courant

    ./cours/chap1.htm

  • 8/19/2019 systeme d'exploitation Unix Linux

    19/27

    Chapitre : Introduction au système

    d’exploitation Unix Linux 

    Les SGFs d’Unix utilisent les structures de donnéesappelées « inodes » pour définir les fichiers.

    Un inode contient toutes les informations d’un fichier, à

    savoir :Son propriétaire et son groupe

    Ses droits d’accès (r/w/x)

    Ses dates de création, modification, accès.

    Les blocs qu’il utilise. D’autres informations utilisées pour le SGF. 

  • 8/19/2019 systeme d'exploitation Unix Linux

    20/27

    Chapitre : Introduction au système

    d’exploitation Unix Linux 

     Ces inodes sont stockés dans une table du système de

    fichier ce qui permet d’accéder très rapidement àtoutes ces informations et de retrouver également trèssimplement ces données.

  • 8/19/2019 systeme d'exploitation Unix Linux

    21/27

    Chapitre : Introduction au système

    d’exploitation Unix Linux 

    Mode d’exécution d’un processus 

    Tout processus possède deux modes d ’exécution 

    mode noyau

    exécution privilégiée

    aucune restriction

    accès à toutes les instructions sur tous les périphériques

    mode utilisateur

    exécution normale

    interruptible à tout moment

    doit faire un appel système pour accéder aux ressourcesmachine

  • 8/19/2019 systeme d'exploitation Unix Linux

    22/27

    Chapitre : Introduction au système

    d’exploitation Unix Linux 

    Les Utilisateurs d’Unix 

    Unix est multi-utilisateurs

    ➔ nécessité d'avoir un nom particulier aux yeux du système("login") ainsi qu'un mot de passe pour la sécurité

    2 types d'utilisateurs l'utilisateur "root" : super utilisateur -> possède tous les

    droits sur la machine

    les autres utilisateurs (possèdent des droits restreints)

  • 8/19/2019 systeme d'exploitation Unix Linux

    23/27

    Chapitre : Introduction au système

    d’exploitation Unix Linux 

    Chaque utilisateur est caractérisé par :

    un nom ("login") et un numéro d'utilisateur ("UID")

    un groupe et un numéro de groupe ("GID") (Un groupe

    est un ensemble d ’utilisateurs partageant des ressourceset des privilèges)

    un mot de passe ("passwd")

    un type de shell (= intérpréteur de commandes)

    un répertoire utilisateur qui lui appartient ("homedirectory")

    (Rq : toutes ces informations sont stockées dans le fichier/etc/passwd)

  • 8/19/2019 systeme d'exploitation Unix Linux

    24/27

    Chapitre : Introduction au système

    d’exploitation Unix Linux 

    Mot de passe

    le mot de passe est personnel : ne pas le divulguer

    éviter les mots de passe triviaux (e.g. votre nom…)  utiliser des lettres (majuscules et/ou minuscules) et des

    chiffres (éventuellement des caractères spéciaux)

    doit faire 8 lettres au minimum

  • 8/19/2019 systeme d'exploitation Unix Linux

    25/27

  • 8/19/2019 systeme d'exploitation Unix Linux

    26/27

    Chapitre : Introduction au système

    d’exploitation Unix Linux 

    Le rôle de l’administrateur 

    Créer, modifier ou supprimer un utilisateur

    Gérer les fichiers et les disques

    Surveiller l ’espace disque 

    Organiser les sauvegardes

     Ajouter les périphériques

     Améliorer les performances du système

    Installer de nouveaux produits

     Veiller à la sécurité du système

    Paramétrer le démarrage et l ’arrêt dusystème

  • 8/19/2019 systeme d'exploitation Unix Linux

    27/27

    Chapitre : Introduction au système

    d’exploitation Unix Linux 

    Comment être super utilisateur (root)

    Connexion en tant qu ’utilisateur root  Login: root

    password:******

    #

    Prise des droits de root $ su

    password:******

    # exit

    $