Ch1+Ch2+Ch3 Systèmes d'Exploitation Génie Civil

Embed Size (px)

DESCRIPTION

lkll

Citation preview

  • SE Bref aperu sur les systmes

    dexploitation

    Notes de cours

    ZOUARI Moez Ecole Prive dIngnieurs de Sousse 2014/2015

    3me anne Gnie Civil

    Cycle Ingnieur Cours de soir

    Principes des systmes dexploitation Les systmes Linux et Unix

  • [Titre du document]Bref aperu sur les systmes dexploitation

    1. Dfinition du systme dexploitation

    2. Evolution historique des systmes dexploitation

    3. Fonctions dun systme dexploitation

    4. Architecture dun systme dexploitation

    1. Dfinition du systme dexploitation

    Il est assez difficile de donner une dfinition prcise de ce quest un systme

    dexploitation. En effet, un systme dexploitation peut tre utilis sur micro-ordinateur comme

    sur les plus grosses machines, aussi bien en ce qui concerne la complexit quen ce qui concerne

    les fonctions offertes. On peut toutefois caractriser un systme dexploitation en mettant en

    vidence un certain nombre de fonctions quil doit assurer.

    Si on considre les programmes excuts sur une machine, ils se repartissent

    schmatiquement en deux classes :

    Les programmes dapplications : crits et mis en uvre par des utilisateurs.

    Les programmes utilitaires, gnralement fournies par les constructeurs pour faciliter

    lutilisation de la machine.

    Ces programmes se droulent pour les comptes des divers utilisateurs devant progresser

    en parallle. Il est ncessaire, alors, davoir un programme charg de grer directement les

    ressources matrielles et de rpartir aux mieux entre les diffrents utilisateurs. Cette rpartition

    constitue un des rles du systme dexploitation (le systme dexploitation est un gestionnaire

    de ressources). Mais ce ci nest pas le seul rle du systme dexploitation .Sa prsence doit

    aussi servir facilit la tache des utilisateurs, il simule donc pour eux, partir de la machine

    relle une machine virtuelle plus facile utiliser.

    Donc le systme dexploitation peut donc tre caractris par les deux fonctions

    suivantes :

    Rpartition des ressources matrielles.

  • SE Bref aperu sur les systmes

    dexploitation

    Z-M 2012-2013 Page 3

    Simulation pour lutilisateur dune machine virtuelle.

    Dune faon simplifi, on peut dfinir le systme dexploitation comme un ensemble de programmes qui

    permettent dutiliser et dexploiter les ressources matrielles de lordinateur dune faon optimale afin doffrir linterface

    adquate lutilisateur pour pouvoir excuter tous ces programmes dune faon transparence sans tenir compte de

    toute complexit matrielle.

    2. Fonctions dun systme dexploitation

    La conception dun systme dexploitation implique la ralisation de plusieurs types de

    fonctions, en particulier celle des services communs. La structuration de ces fonctions peut

    mener une description du systme sous une forme monolithique en couche ou mieux encore

    en clients/serveurs avec comme base un micro-noyau.

    Sans rentrer dans les dtails des mthodes structurantes quon peut adopter pour raliser

    un systme dexploitation, on peut dgager un certain nombre de fonctions essentielles. Il sagit

    des fonctions suivantes.

    3.1. Fonction utilitaires

    Tout systme dexploitation comprend des programmes chargs de raliser des travaux

    dexploitation standards de programmation ( diteur de texte, diteur de lien, configurateur,

    metteur de point, gestionnaire de version,..), de gestion des fichiers ( formatage de

    volumes, copie de volumes et de fichiers, tris de fichiers, conversion de support, archivage de

    support, ), de gestion des tches dadministration du systme (gestion des mots de passe,

    gestion des contrles daccs, installation de nouvelles applications ou version de logiciels,

    outils dvaluation de performances,.), de gestion de tches dun bureau ( outils de

    communication, outils bureautique tel que quun traitement de texte,)etc.

    3.2. Mise en uvre du dialogue Homme/Machine

    Une commande lance par un utilisateur peut tre formule de diverses manires : (un

    texte saisir, un choix dans un menu, un double clic sur un icne prsent dans une fentre

    dapplication, etc.). Pour tre traite par lordinateur, cette commande transite par un processeur

  • (logiciel) spcialise dans linterprtation des commandes. Son analyse par linterprteur peut

    correspondre soit laffichage dun message derreur, soit au lancement du programme

    correspondant. Lorsque le traitement dfinitif de la commande est termin, lordinateur est de

    nouveau prt recevoir un nouvel ordre (une autre commande), cest ce qui est souvent indiqu

    par un message prcis du systme, appel souvent prompt(invite) systme.

    3.3. Gestion des donnes et des fichiers

    Un fichier peut se dfinir comme un ensemble (une collection) de donnes de mme

    nature codes et mmorises, pour les besoins de lutilisateur, sur un disque ou sur un autre

    support de sauvegarde. Dun point de vue pratique, le fichier constitue le seul et unique moyen

    pour sauvegarder des informations contenues dans la mmoire centrale de lordinateur et qui

    autrement seraient perdues lors de larrt de cet ordinateur. Selon la nature des informations

    contenues dans les fichiers, on distingue :

    Les fichiers programmes : les informations quils contiennent sont des ordres utilisables

    par lordinateur : ces ordres sont exprims dans un langage volu ou dans un langage

    symbolique (on parle dans ces cas des fichiers sources), ou encore dans le langage (de la)

    machine (on parle dans ce cas des fichiers binaires).

    Les fichiers de donnes : ils contiennent des informations que lordinateur ne peut pas les

    utilises directement. Ces donnes sont exploites, en gnral, par un fichier programme

    associ. Les documents crs avec un traitement de texte illustre ce cas : ce sont des donnes

    utilises travers le programme de traitement de textes

    La gestion des fichiers est lensemble des actions relatives leur existence : cration,

    duplication, dition, impression, recherche, destruction, compressions etc. Par extension, en

    peut inclure dans cet ensemble toutes les fonctions de gestion des supports de sauvegardes. Ces

    fonctions incluent par exemple le formatage de support et leur maintenance. La gestion des

    donnes englobe les fonctions lies lutilisation des fichiers et leur partage mais aussi la

    scurit et la confidentialit des informations quils contiennent.

    3.4. Gestion des priphriques et des Entres/Sorties physiques

    La notion de priphrique pour lordinateur peut tre abord de faon trs simple : en

    effet, on constate que tous les lments dits priphriques ne sont souvent pas inclus dans le

    botier de lunit centrale de lordinateur. Fonctionnellement, les units priphriques peuvent

  • SE Bref aperu sur les systmes

    dexploitation

    Z-M 2012-2013 Page 5

    tre vues comme tant des lments permettant lordinateur de dialoguer avec lextrieur ou

    encore comme des possibilits dextension de la mmoire centrale.

    La gestion des priphriques regroupe lensemble des actions relatives leur emploi.

    Ces fonctions concernent, dune part, le paramtrage de ces priphriques et, dautre part, leur

    utilisation proprement dite.

    La gestion des Entres/Sorties physiques sur les priphriques doit permettre dignorer

    le plus grand nombre possible des diffrences qui existent entre les mmes types dunits

    proposes par plusieurs constructeurs. Autrement dit, il faut que le gestionnaire

    dEntres/Sorties puisse rendre transparente lutilisateur les lments caractristiques des

    priphriques, en lui fournissant un modle virtuel auquel il peut sadresser.

    3.5. Gestion de la mmoire centrale

    Pour faire excuter un programme, on doit lui allouer un espace en mmoire centrale.

    Cette mmoire doit alors englober ses donnes (les constantes et les variables quil dclare)

    mais galement son code (les instructions qui le composent). Cependant, pour pouvoir

    lexcuter, on a ncessairement besoin du systme dexploitation ou du moins de son noyau.

    Ce dernier est galement un programme, il lui faut donc de lespace mmoire. Une premire

    tache du gestionnaire de la mmoire consiste a rpartir la mmoire vive (RAM) en deux types

    despaces : un espace utilisateur et un espace systme, et maintenir lintgrit de ces deux

    espaces. Une fois charge en mmoire centrale, limage du programme donne lieu la

    dfinition dun processus prt tre excut.

    La gestion de mmoire centrale regroupe, dune manire plus gnrale, les divers

    services de :

    Rpartition de la mmoire disponible entre les diffrents processus actifs

    Placement des processus dans lespace mmoire qui lui est alloue

    Localisation des donnes pour chaque processus

    Maintien de lintgrit des espaces rservs

    Utilisation de la mmoire auxiliaire comme support annexe de la mmoire centrale

  • 3.6. Gestion des processus et des processeurs

    La gestion des processus regroupe donc divers service pour traiter les processus

    demandant leur excution sur le processeur central. Outre la mise en uvre dun algorithme

    dordonnancement qui peut tre avec ou sans rquisition du processeur central, ces service

    manipule la liste des descripteurs de processus travers des fonctions diverses telle que : la

    cration, la destruction, suspension ou encore la reprise de processus, mais galement celle qui

    permette de dcrire la situation d exclusion mutuelle ou de synchronisation ou encore de

    communication entre divers processus.

  • SE Prsentation des systmes dexploitation UNIX et Linux

    Chapitre 1 : Prsentation des systmes dexploitation UNIX et Linux

    1. Introduction

    2. Notion de logiciel libre

    3. Les systmes UNIX et Linux

    4. Architecture

    5. Architecture

    6. Langage de Commandes

    7. Utilities

    8. Connexion et dconnexion

    9. Commandes

    1. Introduction

    Actuellement, on trouve sur le march essentiellement deux types de systme

    dexploitation pour PC : les systmes Windows avec ses diffrentes versions de Microsoft est

    les systmes Linux avec ses diffrentes distributions et versions. Les premiers systmes font

    partie de la catgorie des logiciels propritaires, par contre les seconds font partie de la catgorie

    des logiciels libres. Les systmes libres prsentent des nombreux avantages et offre un choix

    non ngligeables vu la philosophie qui est lorigine. En effet, les logiciels libres, en gnral,

    sont bass sur le principe dentre-aide pour dvelopper des solutions efficace moindre cot.

    2. Notion de logiciel libre

    Daprs la FSF (Free Software Fondation) un logiciel libre est dfinit comme un logiciel

    qui garantit aux utilisateurs quatre liberts fondamentales :

    La libert dexcuter le programme, pour tous les usages ;

    La libert dtudier le fonctionnement du programme et de ladapter ses besoins ;

  • La libert de redistribuer des copies ;

    La libert damliorer le programme et de publier ses amliorations

    Cependant, tout logiciel qui ne garantisse pas ces quatre liberts est considr comme

    propritaire.

    Les logiciels libres couvrent un large domaine dapplication et dactivits, tel que les

    systmes dexploitation, les compilateurs, les logiciels multimdias, les logiciels de gestion,

    3. Les systmes UNIX et Linux

    Le succs du systme Linux est fortement li celui dUNIX. Cependant, il ya lieu de

    distinguer entre les deux systmes.

    Unix est un systme dexploitation multitche et multiutilisateur. Dvelopp

    initialement dans les laboratoires de Bell par Ken Thompson, il a t trs bien enrichi par les

    rsultats de la recherche aprs avoir distribu le code source auprs des universits amricaines.

    De ce fait, Unix a connu un grand succs et plusieurs versions du systme ont t dveloppes

    fonctionnant sur diffrents types de machines.

    Linux est un systme dexploitation diffrent dUnix qui est dvelopp par Linus Torvalds

    et a t amlior par de nombreux dveloppeurs dans le monde entier. Il sagit dun systme

    qui sinspire fortement du systme Unix et qui offre une interface presque similaire Unix

    do lorigine de la confusion et lassociation entre les deux systmes. Linux a pris son succs

    aprs lintgration de ce systme dans le projet GNU de Richard stallman et depuis, on

    lappelait GNU/Linux qui est protg par le droit d'auteur conformment GNU General Public

    License (GPL). C'est une licence crite par la Free software Foundation (FSF).

    De ce fait, le cours sera consacr pour ltude du systme UNIX avec ses diffrents

    concepts et principes puissants. Mais, ceci suppose implicitement ltude des concepts et

    principes de Linux vue la forte ressemblance entre les deux.

    4. Notion de distribution

    Le fait que Linux est un systme dexploitation libre, plusieurs communauts1 ou

    socits ont effectu des modifications sur le systme et les ont distribues. De ce fait, il existe

    diffrentes distributions toutes base du noyau GNU/Linux et dautres logiciels libres.

    1 Dans le contexte des logiciels libre, le terme de communaut dsigne l'ensemble des parties prenantes au

    dveloppement et l'utilisation d'une base de code. La communaut est constitue de personnes (physiques,

  • SE Prsentation des systmes dexploitation UNIX et Linux

    Z-M 2012-2013 Page 9

    Une distribution se prsente sous forme de fichiers tlchargeables partir de sites ftp

    ou supports CDs (ou DVD). Une distribution rassemble les composants du systme dans un

    ensemble cohrent et stable dont l'installation, l'utilisation et la maintenance sont de plus en

    plus facilites grce des interfaces suffisamment conviviales. Il existe de nombreuses

    distributions, chacune ayant ses particularits : certaines sont ddies un usage spcifique

    (pare-feu, routeur, grappe de calcul, etc.), d'autres un matriel spcifique, un environnement

    particulier (embarqu), etc.

    Parmi les distributions quon peut rencontrer et qui sont trs utilises, on trouve debian,

    fedora, suse, ubuntu

    5. Architecture

    Unix tout comme Linux est un systme dexploitation organis en couches quasi

    indpendantes les unes des autres. Ces couches constituent linterface entre lutilisateur et le

    matriel. En voici une vue simplifie :

    Figure 1 Architecture du systme UNIX

    ventuellement morales) allant des core developers qui maintiennent la base de code et prennent les dcisions techniques

    importantes aux simples utilisateurs, en passant par les contributeurs, qui peuvent aider l'effort collectif en dtectant des bugs, proposant des correctifs ou aidant des tches telles que la documentation. Dans ce contexte, le

    mot communaut est une traduction directe de l'anglais amricain community et pourrait tre presque un anglicisme. Il

    semble que la notion de community telle qu'utilise aux tats-Unis soit d'un usage plus large, plus neutre et plus banal

    que celui de communaut en franais, telle que comprise en France.

  • Le noyau (Kernel) gre, principalement, les composants matriels :

    la mmoire

    les disques

    les autres priphriques dentre/sorties

    les processus

    Le noyau est la partie rsidante du systme dexploitation, elle est toujours charg en

    mmoire, il offre plusieurs fonctions, appels primitives, permettant manipulation proche du

    matriel. Le noyau est le seul programme autoris accder directement au matriel. Toute

    application doit, alors faire appel aux primitives du noyau pour effectuer des manipulations sur

    le matriel.

    6. Langage de Commandes

    L'utilisateur peut taper des commandes lorsqu'il se trouve au niveau commande, c'est--

    dire lorsque l'invite du systme apparat. Toute commande entre sera interprte par

    l'interprteur de commandes (ou shell). Le terme shell veut dire coquille pour exprimer l'ide

    d'interface entre utilisateurs et systme UNIX et a t donn par opposition au noyau du

    systme.

    Le SHELL est la partie merge de liceberg. Son Interprteur de Commandes permet

    dinteragir (directement ou non) avec lutilisateur. Il en existe plusieurs versions, plus ou moins

    disponibles suivant les versions dUnix :

    sh : Bourne shell, le shell historique

    csh : C-shell, la syntaxe inspiredu C

    ksh : Korn shell, une version mixte des 2 prcdentes

    bash : Bourne-again shell, LE shell Linux

    Trois phases pour lexcution dune commande :

    Lecture dune commande

    Analyse syntaxique (vrifier si la commande est rdige correctement)

    Excution si aucune erreur de syntaxe

    7. Utilities

  • SE Prsentation des systmes dexploitation UNIX et Linux

    Z-M 2012-2013 Page 11

    Les Utilities ou utilitaires sont les programmes utiles mais qui ne sont pas obligatoire

    qui doivent tre fournies par le systme dexploitation tel que : Le lecteur media, ou loutil de

    gravure, le navigateur, un diteur de texte,

    8. Connexion et dconnexion

    Un utilisateur doit tre enregistr auprs de systme pour quil puisse se connecter. Les

    informations didentit doivent tre prsentes dans des fichiers particuliers grs par

    l'administrateur du systme.

    9. Commandes

    9.1. Syntaxe des commandes

    Celle-ci est gnralement la suivante :

    nom_commande [options] [arguments]

    Le caractre sparateur entre les diffrents lments de la commande est le blanc

    (ESPACE). Les options commencent habituellement par le caractre - (signe moins) suivi d'une

    ou plusieurs lettres-cls. Ces options vont modifier le comportement de la commande. Les

    arguments spcifient les objets (fichiers ou variables) sur lesquels la commande va s'appliquer.

    Note : les crochets autour des arguments et des options signifient que ceux-ci sont optionnels.

    Ex : liste de fichiers avec les commandes suivantes :

    ls

    ls -l (l comme long, donne tous les attributs des fichiers)

    ls -la (a comme all, liste aussi les fichiers commenant

    par le caractre .)

    ls -l rep1

    9.2. Manuel des commandes

  • Si on veut de l'aide sur les rgles d'utilisation ou encore sur les fonctionnalits d'une

    commande, on peut utiliser l'aide en ligne grce la commande man (comme MANual pages)

    de la faon suivante :

    man nom_commande

    Exemple :

    man ls

    man man

    Si on ne connat pas la syntaxe de la commande, il est possible de faire une recherche

    par mot-cl dans le systme de "manual pages") l'aide de la commande suivante :

    man -k mot-cl

    man -k list

    man -k directories

    9.3. Caractres gnriques

    Certaines commandes acceptent plusieurs noms de fichiers en arguments aussi, il tait

    intressant d'avoir des notations permettant de raccourcir l'criture d'une telle liste. Ainsi, il

    existe plusieurs caractres gnriques qui, incorpors dans les noms de fichiers, ont la

    signification suivante :

    Le caractre ? qui peut remplacer n'importe quel caractre ;

    Le caractre * (Astrisque) qui peut remplacer n'importe quelle chane de caractres, y

    compris la chane vide.

  • EPI Systmes dexploitation

    Chapitre 2 : Le SGF Linux/Unix

    1. Introduction

    2. Organisation physique des fichiers sur disque

    3. Rpertoires et liens vers les fichiers

    4. La hirarchie des fichiers sous Linux

    5. Chemin daccs au fichier

    6. Les droits daccs aux fichiers

    7. Les principales commandes de manipulation des fichiers

    1. Introduction

    Un fichier est ensemble d'informations regroupes en vue de leur conservation et de leur

    utilisation dans un systme informatique. Un fichier peut contenir diffrents types des

    informations :

    Programmes : fichier binaire excutable, script , byte code, ,

    Donnes : fichiers ASCII, binaires, images, son, fichiers dadministration (/etc/passwd),,

    Comme il a t dj prsent, le SGF (Systme de Gestion de Fichier) est la partie du

    systme dexploitation responsable de stockage des donnes dune faon efficace et correcte.

    Le systme doit implmenter, alors, toutes commandes ncessaires pour la manipulation des

    fichiers (cration, modification, copie, )

    Le systme de gestion de fichiers est, donc, un outil de manipulation des fichiers et de

    la structure darborescence des fichiers sur disque et a aussi de conserver toutes les informations

    associs. Le systme de gestion de fichier permet, donc, une manipulation simple des fichiers.

    2. Organisation physique des fichiers sur disque

  • EPI Systmes dexploitation

    2.1. Principe de lecture/criture sur support de stockage

    Avant, dtudier le principe de lorganisation des fichiers, nous rappelons dabord, le

    principe dutilisation des disques.

    Le disque dur est un composant lectromcanique qui permet de lire et dcrire une suite

    binaire dune faon permanente.

    Figure 2 Principe de fonctionnement d'un disque dur

    Comme il prsent sur la figure, Lcriture et la lecture se fait sur les piste traces sur la

    surface de chaque plateau. Chaque piste est dcompose en secteurs spars par des espace vide

    appel gap pour permettre le freinage de la tte de llecture/criture. Un secteur reprsente

    la plus petite unit physique de lecture/criture. On peut cependant lire plusieurs secteurs en

    mme temps, on parle alors, dunit logique de lecture/criture appel bloc ou cluster.

    A partir de ce moment, on peut considrer donc un disque comme tant un ensemble de

    blocs successifs.

    Super-

    bloc

    Super-

    bloc

    Table

    dinodes

    Blocs de

    donnes

    Bloc0 Bloc1 .. Bloc n-1 Bloc n

    Figure 3 Schma simplifi dun disque

  • SE La gestion des processus

    Z-M 2012-2013 Page 15

    Le bloc 0 contient gnralement le BOOT du systme dexploitation, cest les

    instructions qui permettent le lancement du systme dexploitation. Le Bloc 1, appel aussi

    Super-Bloc contient les informations sur le SGF ( taille du bloc, espace libre, taille du disque,

    type de SGF, ).

    De la mme manire, tous les supports de stockage, sont utiliss selon le mme

    principe : la lecture criture se fait toujours en BLOC.

    2.2. Principe de stockage sur mmoire secondaire

    Diffrentes mthodes permettent d'associer un nom de fichier son contenu. Dans le

    cas des systmes de fichier dUNIX (ou de Linux), les fichiers et les rpertoires sont identifis

    par un numro unique, le numro d'INODE. Ce numro permet d'accder une structure de

    donnes (INODE) regroupant toutes les informations sur un fichier l'exception du nom,

    notamment la protection d'accs en lecture, en criture ou des listes de dates, ainsi que le moyen

    d'en retrouver le contenu. Le nom est stock dans le rpertoire associ un numro d'inode.

    Cette organisation prsente l'avantage qu'un fichier unique sur disque peut tre connu du

    systme sous plusieurs noms.

    De point de vue SGF, un Fichier reprsente un ensemble de blocs parpills sur le

    support. Pour pouvoir retrouver ces blocs, on utilise linode, qui contient toutes les informations

    qui caractrisent le fichier (droits daccs, propritaire, Groupe Propritaire, dates de dernier

    accs et de modification, taille du fichier, nombre de blocs utiliss par le fichier, type de fichier,

    etc.) ainsi que lemplacement physique des diffrents blocs qui constituent le fichier (les

    numros des blocs occups par le fichier).

    Toutes les inodes sont regroupes dans une table quon appelle table dinodes. Cette

    table trouve dans un bloc bien dfini, gnralement le bloc N3.

    3. Rpertoires et liens vers les fichiers

    Dans lobjectif, de faciliter laccs aux fichiers et leur recherche, les fichiers sont

    gnralement regroups dans des rpertoires, et eux-mmes sont regroups dans dautres

    rpertoires. La majorit des SGF offrent une structure arborescente pour organiser les fichiers.

    Pour accder un fichier, il faut spcifier son chemin daccs, c'est--dire, la liste des

    rpertoires par lesquels il faut passer pour atteindre la cible. Selon la logique UNIX, Un

  • EPI Systmes dexploitation

    rpertoire est, en fait, un fichier qui contient la liste des noms de fichiers/rpertoires quil

    contient et leurs numros inode. Le rpertoire, peut tre vu, donc, comme un ensemble des liens

    vers des fichiers. En effet, partir du nom du fichier, on dtermine le numro de son inode et

    partir de ce numro, on peut retrouver toutes les donnes ainsi que les caractristiques de ce

    fichier.

    En plus, des rpertoires qui offrent de liens appels dur ou physique, Unix offre dautres

    types de lien aux fichiers, quon appelle Liens symbolique. Un lien symbolique est un fichier

    contenant un numro dinode cest faon doffrir un deuxime lien pour accder un fichier.

    4. La hirarchie des fichiers sous Linux

    Pour assurer la compatibilit et la portabilit, les systmes Linux utilise une hirarchie

    standard de rpertoire en respectant norme FHS (File Hierarchy Standard). La hirarchie de

    base est la suivante :

    / la racine, elle contient les rpertoires principaux

    /

    bin

    contient des excutables essentiels au systme, employs par tous les

    utilisateurs (par exemple, les commandes ls, rm, cp ...)

    /

    boot contient les fichiers permettant Linux de dmarrer

    /

    dev contient les points d'entre des priphriques

    /

    etc

    contient les commandes et les fichiers ncessaires l'administrateur du

    systme (fichiers passwd, group, inittab, ld.so.conf, lilo.conf, ...)

    /etc/X11 contient les fichiers spcifiques la configuration de X

    (contient XF86Config par exemple)

    /etc/opt contient les fichiers de configuration spcifiques aux applications installs

    dans /opt

    /

    home rpertoire personnel des utilisateurs

    /

    lib

    contient des bibliothques partages essentielles au systme lors du

    dmarrage

    /

    mnt

    contient les points de montage des partitions temporaires (cd-rom,

    disquette, ...)

  • SE La gestion des processus

    Z-M 2012-2013 Page 17

    /

    opt contient des packages d'applications supplmentaires

    /

    root rpertoire de l'administrateur root

    /

    sbin

    contient les binaires systme essentiels (par exemple la

    commande adduser)

    /

    tmp contient les fichiers temporaires

    /

    usr Hirarchie secondaire

    /usr/X11R6 ce rpertoire est rserv au systme X version 11 release 6

    /usr/X386 utilis avant par X version 5, c'est un lien symbolique vers /usr/X11R6

    /usr/bin contient la majorit des fichiers binaires et commandes utilisateurs

    /usr/include contient les fichiers d'en-tte pour les programmes C et C++

    /usr/lib contient la plupart des bibliothques partages du systme

    /usr/local contient les donnes relatives aux programmes installs sur la machine

    locale par le root

    /usr/local/bin binaires des programmes locaux

    /usr/local/games binaires des jeux locaux

    /usr/local/include fichiers d'en-tte C et C++ locaux

    /usr/local/lib Bibliothques partages locales

    /usr/local/sbin

    binaires systme locaux

    /usr/local/share hirarchie indpendante

    /usr/local/src fichiers sources locaux

    /usr/sbin contient les fichiers binaires non essentiels au systme rservs

    l'administrateur systme

    /usr/share rserv aux donnes non dpendantes de l'architecture

    /usr/src contient des fichiers de code source

  • EPI Systmes dexploitation

    /

    var contient des donnes variables

    5. Chemin daccs au fichier :

    Pour designer un fichier donn, il faut spcifier son chemin daccs. Il sagit de liste des

    rpertoires par lesquels, il faut passer pour le retrouver, en dautre terme, ile faut spcifier son

    emplacement dans larborescence. Dun point vue pratique, un chemin est une liste des noms

    de rpertoires spars par le caractre /. Cette liste commence par un repertoire spcifique

    connu par le systme. Ceux rpertoires sont :

    / : la racine de larborescence. Gnralement il est dcrit par linode numro 2.

    . : le rpertoire actif ou courant. On lappelle aussi le rpertoire de travail.

    .. : le rpertoire parent du rpertoire actif.

    ~ : le rpertoire personnel du lutilisateur connect.

    ~nom_utilisateur : le rpertoire personnel de lutilisateur dont le nom est spcifi aprs le

    caractre ~.

    On appelle un chemin absolu, un chemin qui commence par le rpertoire racine /.

    Alors quun chemin relatif commence par le rpertoire courant ..

    6. Les droits daccs aux fichiers

    Chaque fichier (ou rpertoire) possde un ensemble d'attributs dfinissant les droits

    d'accs ce fichier pour tous les utilisateurs du systme ainsi quun utilisateur propritaire et

    un groupe dutilisateurs propritaire.

    5.1. Classes d'utilisateurs

    Il existe 3 classes d'utilisateurs pouvant ventuellement accder un fichier :

    Le propritaire du fichier (User) ;

    Le groupe dans lequel appartient le propritaire (Group) ;

    Les autres (Others).

    A sa cration, un fichier appartient son auteur. Le propritaire du fichier peut ensuite

    distribuer ou restreindre les droits d'accs sur ce fichier.

    5.2. Types d'accs

  • SE La gestion des processus

    Z-M 2012-2013 Page 19

    Pour chaque classe d'utilisateurs, il y a 3 types d'accs un fichier donn :

    r : en lecture (Read) ;

    w : en criture (Write) ;

    x : en excution (eXecute).

    Au niveau rpertoire, ces droits signifient :

    droit de lister les fichiers prsents dans ce rpertoire (Read) ;

    droit de crer ou de dtruire un fichier qui s'y trouve (Write) ;

    droit de traverser ce rpertoire (eXecute).

    En combinant les 3 types d'accs et les 3 classes d'utilisateurs, il y a donc 9 droits d'accs

    diffrents qui existent sous UNIX.

    6. Les commandes de manipulation des fichiers

    6.1. Liste des fichiers

    On utilise pour cela la commande ls avec ses nombreuses options.

    Ls [options] [fichier ]

    6.2. Cration d'un fichier

    Habituellement, on utilise un diteur de textes. Ici, on suppose que l'utilisateur ne sait

    utiliser aucun des diteurs et qu'en attendant, il a la recette suivante pour crer un petit fichier:

    cat > nom_fichier

    1re ligne

    2me ligne

    .

    .

    dernire ligne

  • EPI Systmes dexploitation

    ^D

    Avec cette commande, si le fichier existe dj, son prcdent contenu est dtruit.

    6.3. Destruction d'un fichier

    rm [options] nom_fichier

    Quelquefois, le systme demande confirmation avant d'effacer un fichier et si la rponse

    de l'utilisateur ne commence pas par 'y' ou 'Y' alors le fichier est prserv. Pour cela, il faut

    utiliser loption i.

    6.4. Visualisation d'un fichier

    Plusieurs commandes diffrentes fonctionnalits permettent la visualisation d'un

    fichier mais les plus usuelles sont :

    cat nom_fichier

    more nom_fichier

    Less nom_fichier

    Les commandes less et more permettent un affichage page par page (h pour connatre

    les commandes possibles de more, RETURN pour la ligne suivante, ESPACE pour la page suivante

    et q pour terminer l'affichage).

    6.5. Copie d'un fichier

    cp chemin_source Chenmin_destination

    chemin : peut tre le chemin dun fichier ou dun rpertoire.

    6.6. Renommage ou dplacement d'un fichier

    mv ancien_nom nouveau_nom (renommage)

    mv nom_fichier nom_rpertoire (dplacement)

    6.7. Cration d'un rpertoire

    mkdir nom_rpertoire

    Elle est possible uniquement si celui-ci est inexistant.

  • SE La gestion des processus

    Z-M 2012-2013 Page 21

    6.8. Destruction d'un rpertoire

    rmdir nom_rpertoire

    Si le rpertoire est vide

    rm -r nom_rpertoire

    -r comme rcursif : effacement du contenu du rpertoire et de lui-mme)

    6.9. Visualisation des droits d'accs

    ls -l

    Pour cela, on utilise la commande ls -l. Le 1er caractre spcifie si le fichier est un

    rpertoire (caractre d) ou un fichier tout court (caractre -). Les 9 caractres suivants

    identifient les droits d'accs (prsence du droit si lettre r, w ou x ; absence de droit si caractre

    -) et sont structurs de la faon suivante :

    $ls -l

    total 7

    -rw------- 1 moez 49 Sep 18 12:37 fic

    -rw------- 1 moez 50 Sep 18 12:35 fic1

    -rw------- 1 moez 50 Sep 18 12:37 fic2

    -rw------- 1 moez 50 Sep 18 12:37 fic3

    -rw------- 1 moez 51 Sep 18 12:38 fic33

    6.10. Modification des droits d'accs

    Seul, le propritaire d'un fichier peut modifier ses droits d'accs. Pour cela, il utilise la

    commande chmod avec la syntaxe suivante :

    chmod mode nom_fichier

    mode indique de quelle faon les droits d'accs doivent tre modifis. Il se dcompose

    en [qui] op accs.

  • EPI Systmes dexploitation

    qui (optionnel) indique quelles classes sont concernes par la commande chmod et est

    compos de 1 ou plusieurs lettres parmi u, g et o. Si aucune classe n'est spcifie, toutes les

    classes sont concernes.

    op peut tre :

    + pour ajouter des droits d'accs

    - pour enlever des droits d'accs

    accs est une combinaison des lettres r, w et x qui spcifient les types d'accs.

    $ls -la rep3

    total 3

    drwx------ 2 moez 512 Sep 21 21:30 .

    drwxr--r-x 8 moez 512 Sep 21 21:30 ..

    -rw------- 1 moez 50 Sep 21 21:30 fic1

    $ chmod u-r rep3

    $ ls -la rep3

    rep3 unreadable

    $ ls -la fic2

    -rw-rw---- 1 moez 101 Sep 18 19:15 fic2

    $ fic2

    fic2: Permission denied.

    $ chmod +x fic2

    $ ls -la fic2

    -rwxrwx--x 1 moez 101 Sep 18 19:15 fic2

    $ fic2

    6.11. Initialisation des droits d'accs

    Au moment o l'utilisateur cre un fichier, des droits d'accs par dfaut sont donns

    ce fichier. C'est la commande umask qui permet de dfinir la protection maximale que l'on

    donne par dfaut aux nouveaux fichiers. La syntaxe est la suivante : umask masque.

  • SE La gestion des processus

    Z-M 2012-2013 Page 23

    masque est une valeur octale qui joue le rle de masque sur les droits d'accs d'un fichier

    sa cration. Les droits d'accs sont dtermins sont obtenus aprs l'opration logique suivante

    : mode & (~masque) avec &, le ET logique et ~ le NON logique.

    En standard, une commande shell de cration de fichier, comme cat > nom_fichier

    (ce fichier n'existant pas) initialise le mode de ce fichier rw-rw-rw-. C'est ce mode par

    dfaut qu'est appliqu le masque.

    EXEMPLE :

    umask 22 (le masque est ici, 022, soit en codage binaire, 000 010 010

    => les fichiers crs auront la protection rw-r--r--).

    umask 77 (le masque est ici, 077, soit en codage binaire, 000 111 111

    => les fichiers crs auront la protection rw-------).

    Note : au moment de l'initialisation de la session de travail, une valeur de masque est dfinie. Pour connatre

    la valeur du masque, il suffit d'utiliser la commande umask sans arguments.

    La commande chmod n'est pas affecte par la valeur du masque.

  • EPI Systmes dexploitation

    Chapitre 3 : Les utilitaires

    2. Introduction

    3. L'diteur vi

    4. Les filtres

    5. Autres commandes

    1. Introduction

    Cette partie dcrit quelques commandes utilitaires UNIX trs pratiques. Ces

    programmes sont livrs en standard avec toutes les versions d'UNIX.

    Nous commenons par dcrire l'utilisation de l'diteur standard vi.

    2. L'diteur vi

    vi est un diteur de texte plein cran (par opposition aux diteurs ligne qui ne

    permettaient que l'dition d'une ligne la fois).

    Compar aux diteurs modernes, vi est d'abord malcommode, mais il est assez puissant

    et toujours prsent sur les systmes UNIX. Il est donc trs utile d'en connatre le maniement de

    base. Nous ne dcrivons ici que les commandes et modes les plus utiliss, il en existe beaucoup

    d'autres.

    A un instant donn, vi est soit en mode commande, soit en mode insertion :

  • SE La gestion des processus

    Z-M 2012-2013 Page 25

    mode commande : les caractres taps sont interprts comme des commandes

    d'dition. vi dmarre dans ce mode, il faut donc lui indiquer (commande 'i') que

    l'on veut insrer du texte;

    mode insertion : les caractres sont insrs dans le texte dit. On peut quitter ce

    mode en pressant la touche ``ESC'' (ou ``Echap'' sur certains claviers).

    Appel de vi depuis le shell :

    vi fichier dite fichier.

    vi +n fichier commence la ligne n.

    vi -r fichier rcupration du fichier aprs un crash.

    Mouvements du curseur (en mode commande seulement) :

    Touche Action

    flches Dplace curseur (pas toujours bien configur).

    ESPACE Avance droite.

    h Recule gauche.

    CTRL-n Descend d'une ligne.

    CTRL-p Monte d'une ligne.

    CTRL-b Monte d'une page.

    CTRL-f Descend d'une page.

    nG Va la ligne n (n est un nombre).

    Commandes passant en mode insertion :

    Touche Commence l'insertion

    I Avant le curseur.

    I Au dbut de la ligne.

    A A la fin de la ligne.

    Autres commandes :

  • EPI Systmes dexploitation

    R Remplace le caractre sous le curseur.

    X Supprime un caractre.

    d$ Efface jusqu' la fin de la ligne.

    dd Efface la ligne courante.

    /chane Cherche la prochaine occurrence de la chane.

    ?chane Cherche la prcdente occurrence de la chane.

    Quitter, sauvegarder : (terminer la commande par la touche ``Entre'')

    :w crit le fichier.

    :x crit le fichier puis quitte vi.

    :q! Quitte vi sans sauvegarder les changements.

    !!commande Excute commande shell sans quitter l'diteur.

    3. Les filtres

    Les filtres sont des utilitaires qui permettent de slectionner une partie dun

    fichier selon un certain critre..

    head [-n] [fichier]

    Affiche les n premires lignes du fichier. Si aucun fichier n'est spcifi, lit sur

    l'entre standard.

    tail [+n -n] [fichier]

    La forme tail +n permet d'afficher un fichier partir de la ligne n. La

    forme tail -n affiche les n dernires lignes du fichier. Si aucun fichier n'est

    spcifi, lit sur l'entre standard.

    grep [option] motif fichier1 ... fichiern

    Affiche chaque ligne des fichiers fichieri contenant le motif motif. Le motif

    est une expression rgulire.

  • SE La gestion des processus

    Z-M 2012-2013 Page 27

    Options : -v affiche les lignes qui ne contiennent pas le motif.

    -c seulement le nombre de lignes.

    -n indique les numros des lignes trouves.

    -i ne distingue pas majuscules et minuscules.

    cut : slection de colonnes

    La commande cut prsente 2 formes suivant que l'on slectionne des colonnes de

    caractres ou qu'on distingue des champs spars par un caractre prcis.

    slection_colonne

    cut -c(slection_colonnes) [fichiers]

    Exemples

    Affiche le 5ime caractre

    cut -c5 fichier

    affiche du 5ime au 10me caractres

    cut -c5-10 fichier

    affiche le 5ime et le 10me caractres

    cut -c5-10 fichier

    affiche partir du 5ime (jusqu' la fin)

    cut -c5- fichier

    slection champs

    cut -d(sparateur) -f(slection_champs) [fichiers]

    4. La redirection

    Lors de l'excution d'une commande (shell, programme, etc.) il y a deux sorties

    disponibles, la sortie standard stdout sur le canal 1 et la sortie des erreurs stderr sur le

    canal 2. En plus, les donnes utilises par la commande sont cherches sur lentre standard,

    soit le canal 0, dfaut des donnes en arguments. Ces canaux sont accessibles pour rediriger

    les flux de donnes. Dune faon gnrale, une commande peut tre reprsente de la

    suivante :

  • EPI Systmes dexploitation

    Par dfaut stdin correspond au clavier, alors que, stdout et stderr correspondent

    lcran. En effet, lorsque l'on excute un programme, les donnes sont donc lues partir du

    clavier et le programme envoie sa sortie et ses erreurs sur l'cran, mais il est possible de lire les

    donnes partir de n'importe quel priphrique d'entre, voire partir d'un fichier et d'envoyer

    la sortie sur un priphrique d'affichage, un fichier, etc.

    Linux possde des mcanismes permettant de rediriger les entres-sorties standards vers

    des fichiers.

    Ainsi, l'utilisation du caractre > permet de rediriger la sortie standard d'une

    commande situe gauche vers le fichier situ droite :

    ls -al /home/jf/ > toto.txt

    echo "Toto" > /etc/monfichierdeconfiguration

    La commande suivante est quivalente une copie de fichiers :

    cat toto > toto2

    La redirection > a pour but de crer un nouveau fichier. Ainsi, si un fichier du mme

    nom existait, celui-ci sera cras. La commande suivante cre tout simplement un fichier vide :

    > fichier

    L'emploi d'un double caractre >> permet de concatner la sortie standard vers le

    fichier, c'est--dire ajouter la sortie la suite du fichier, sans l'craser.

    De manire analogue, le caractre

  • SE La gestion des processus

    Z-M 2012-2013 Page 29

    cat < toto.txt

    Enfin l'emploi de la redirection

  • EPI Systmes dexploitation

    Principales options :

    -name nom

    le fichier ce nom;

    -print

    crit le nom du fichier (russit toujours);

    -exec

    Excute une commande. {} est le fichier courant. Terminer par ; .

    -type

    (d: catalogue, f: fichier ordinaire, p: pipe, l: lien symbolique).

    Exemples :

    # Recherche tous les fichiers nomms "essai"

    # partir de la racine

    find / -name essai -print

    # Recherche tous les fichiers commenant par "ess"

    # a partir du repertoire courant

    find. -name 'ess*' -print

    # Affiche a l'ecran le contenu de tous les fichiers .c

    find . -name '*.c' -print -exec cat '{}' \;

    (l'criture de ce dernier exemple est complique par le fait que le shell traite

    spcialement les caractres *, {, et ;, que l'on doit donc entourer de quotes '.)

    man [n] commande

    Affiche la page de manuel (aide en ligne) pour la commande. L'argument n permet de

    spcifier le numro de la section de manuel (utile lorsque la commande existe dans plusieurs

  • SE La gestion des processus

    Z-M 2012-2013 Page 31

    sections). Les numros des sections sont : 1 (commandes utilisateur), 2 (appels systmes), 3

    (fonctions librairies C), 4 (devices), 5 (formats de fichiers), 6 (jeux), 7 (divers), 8

    (administration) et n (new, programmes locaux).

    more [fichier]

    Affiche un fichier page par page (aide en ligne, taper 'h'). Si aucun fichier n'est spcifi,

    lit sur l'entre standard.

    wc [-cwl] [fichier ...]

    Affiche le nombre de caractres, mots et lignes dans le(s) fichier(s). Avec l'option -c, on

    obtient le nombre de caractres, avec -w, le nombre de mots (words) et avec -l le nombre de

    lignes.

    which commande

    Indique le chemin d'accs du fichier lanc par ``commande''.

    who [am i]

    Liste les utilisateurs connects au systme. La forme who am i donne l'identit de

    l'utilisateur.

    sort [-rn] [fichier]

    Trie les lignes du fichier, ou l'entre standard, et crit le rsultat sur la sortie. L'option -

    r renverse l'ordre du tri, l'option -n fait un tri numrique.

    7. Les commandes d'archivage et de (d)compression

    Gnralement, il est ncessaire de pouvoir conserver des donnes pour sauvegarde ou

    envoi un autre utilisateur. Le moyen le plus simple est de crer une archive, c'est dire un

    fichier form de la concatnation de plusieurs fichiers ou rpertoires en un seul. Cette archive

    peut ensuite tre compresse pour envoi par courrier lectronique ou copie sur disquette, par

    exemple.

    Archivage des donnes :

  • EPI Systmes dexploitation

    o tar

    Compression des donnes :

    o Gzip

    Dcompression des donnes :

    o Gunzip

    tar

    Archivage des donnes

    tar [-ctx][v]f cible source

    Contrairement la grande majorit des commandes Unix, l'ordre des arguments

    est cible puis source.

    Type d'action :

    -c : cration d'une archive.

    -t : liste le contenu d'une archive.

    -x : extraction d'une archive.

    Options principales :

    v : la commande affiche au fur et mesure tout ce qu'elle fait.

    f : prcise le nom du fichier cible.

    NB : un fichier archiv par tar est reconnu comme de type USTAR tar archive par la

    commande file

    gzip

    Compresse des donnes.

    gzip [-h][-rtv] source

    Options principales :

    -h : affiche la liste des options de gzip.

    -r : rcursif. Dans ce cas source est un rpertoire et non et fichier.

    -t : teste l'intgrit d'un fichier compress.

    -v : la commande affiche au fur et mesure tout ce qu'elle fait.

    -1 : compresse plus vite. Le rsultat est plus gros.

  • SE La gestion des processus

    Z-M 2012-2013 Page 33

    -9 : compresse mieux mais plus lentement.

    un fichier compress par gzip est gnralement suffix par .gz et reconnu comme de

    type gzip compressed data par la commande file .

    gunzip

    Dcompresse des donnes.

    gunzip [-h][-tv][-S suf] source.gz

    Options principales :

    -h : affiche la liste des options de gunzip.

    -t : teste l'intgrit du fichier compress.

    -v : la commande affiche au fur et mesure tout ce qu'elle fait.

    -S suf : autorise le suffixe .suf au lieu de .gz

    NB : gunzip ne s'applique qu'aux fichiers reconnus comme de type gzip compressed

    data par la commande file c'est dire crs par gzip.