Vous êtes sur la page 1sur 68

REPUBLIQUE DEMOCRATIQUE DU CONGO

ENSEIGNEMENT SUPERIEUR ET UNIVERSITAIRE


INSTITUT SUPERIEUR DE STATISTIQUE
DEPARTEMENT D’INFORMATIQUE DE GESTION

COURS DE SYSTEMES D’EXPLOITATION


COMPARES

Dispensé par : C.T. Pierre MUCHAPA T.

Promotion: L2 Informatique ISS

Année Académique 2022-2023


1

I. INTRODUCTION GENERALE
Un système informatique moderne consiste en un ou plusieurs
processeurs, de la mémoire principale, des disques, des imprimantes, un clavier, un
écran, des interfaces réseau et autres périphériques d’E/S. Tout bien considéré, c’est
un système complexe. Ecrire des programmes qui prennent en compte tous ces
composants et les utilisent correctement et cela de façon optimale est une tâche
extrêmement difficile. Pour cette raison, les ordinateurs sont équipés d’une couche
logicielle appelée système d’exploitation, dont le rôle est de gérer tous les
périphériques et de fournir aux programmes utilisateurs une interface
simplifiée avec le matériel et aussi d’assurer le chargement et le déchargement
des processus. Ces systèmes sont le sujet de ce cours.
Les Systèmes d’exploitation ont évolué au fil des ans. Dans ce cours
nous allons brièvement décrire quelques-unes des étapes de cette évolution et leurs
grandes tendances actuelles.

II. BUT(OBJECTIF) DU COURS


L’idéal dans ce cours serait de faire une comparaison entre tous les
Systèmes d’exploitation qui existent. Mais cela reste quasiment impossible étant
donné le volume horaire est limité et surtout le nombre de systèmes d’exploitation est
très important.
Ainsi, ce cours poursuit un seul objectif qui est celui de tracer un
parallélisme entre deux systèmes d’exploitation qui sont : Windows et Linux et par
les travaux pratiques les étudiants sont appelés à découvrir d’autres systèmes et
leurs particularités.
En d’autres termes cela signifie que, à l’issue de ce cours, l’étudiant
sera à mesure de comparer les systèmes d’exploitation Windows et Linux et de
dégager : les points de convergence, les points de divergence, les performances et
les défaillances de chacun d’eux.
Plusieurs raisons nous ont poussées de cibler les deux systèmes
d’exploitation (Windows et Linux) à savoir :
 Le nombre très élevé des utilisateurs de Windows et de Linux. Sur le marché
actuellement Windows est le plus utilisé suivi de Linux ;
 Ces deux systèmes représentent deux mondes différents qui font la
concurrence sur le marché : Windows est le symbole du monde privé (ou

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
2

Logiciels privés), alors que Linux est le symbole du monde libre (open
source) ;
 Ils sont exploités dans deux domaines différents : Windows dans la
bureautique et Linux dans la télématique et Réseaux.

III. PLAN DU COURS


i. Intitulé : SYSTEMES D’EXPLOITATION COMPARES
ii. Titulaire : - MUCHAPA TUJENGE Pierre
- Tél : 081 2461 297 / 099 3811 504
- E-mail : pierremuchapatujenge@yahoo.fr, pierremuchapa@gmail.com
iii. Objectifs
iii.1. Objectifs Généraux
• Permettre à l’étudiant d’approfondir les notions de base des Systèmes
d’exploitation ;
• Former l’étudiant à une utilisation professionnelle des Systèmes d’exploitation
rependus ;
• Permettre à l’étudiant de faire un choix judicieux d’un système d’exploitation
correspondant à un système informatique.
iii.2. Objectifs Spécifiques
• Approfondir les concepts de base des systèmes d’exploitation ;
• Développer les notions d’administration système sous Windows et sous Linux.
iv. Contenu de l’enseignement
INTRODUCTION
Chap. I : GENERALITES SUR LES SYSTEMES D’EXPLOITATION
I.1.Définitions
I.2.Architecture et Evolution des systèmes d’exploitation.
I.3.Types des systèmes d’exploitation.
I.4.Quelques concepts
I.5.Les ressources d’un Système d’exploitation.
Chap. II : LE SE WINDOWS
II.1. Généralités sur Windows
II.2. Manipulation de Windows
Chap.III : LE SE LINUX
III.1. Généralités sur Linux
III.2. Manipulation de Linux
CONCLUSION : de Windows à Linux.

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
3

v. Méthode
Je ferai des exposés.
vi. Ressources
vi.1. Matériels : Ordinateurs (CPU : 2Ghz, RAM : 2Go et HDD : 60Go) et un Retro –
Projecteur.
vi.2. Logiciels : une version de Windows (de préférence Windows 7), une distribution
Linux (de préférence Ubuntu ou Debian).
vii. Travaux Pratiques
Les chapitres sur Windows et sur Linux se développeront dans le Laboratoire.
viii. Stratégie d’évaluation
viii.1. Interrogation : il est prévu 1interrogation après le 1er chapitre
viii.2.TP : A la fin du cours les étudiants feront des exposés en groupe.
viii.3.TD : L’étudiant doit être prêt à chaque séance, un TD peut intervenir au début
d’une séance (sur la matière vue à la séance passée) ou à la fin de la séance (sur la
matière qu’on vient de voir).
ix. Référence Bibliographique
 D.MWENZE, Eléments d’informatique générale, éd. Faculté Catholique de Kinshasa, 1997;
 M.Divay, Unix, linux et les systèmes d’exploitation, 2èd.Dunod, , 2000, 2004;
 B.CACCINOLO, Ubuntu une distribution linux facile à utiliser, éd.Eyrolles, paris,2005.
 A. TANENBAUM, Systèmes d’exploitation, 2èd. Paris, 2007 ;
 L.BLOCH, Les systèmes d’exploitation des Ordinateurs, éd. VUIBERT paris, 2003;
 J.J. SCHWARZ, Architecture des ordinateurs, éd. Eyrolles, Paris 2005 Paris.
 E.THOMAS, Maîtriser son PC sous Windows, éd. Eni, France 2010
 P.CEGIELSKI, Conception de Systèmes d’exploitation, 2éd, Paris 2004
 www.microsoft.fr ;
 www.ubuntu-fr.org

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
4

Chap. I: LES GENERALITES SUR LES SYSTEMES D’EXPLOITATION


I.1.Définitions
 Un Système d’exploitation est un logiciel destiné à faciliter l’utilisation d’un
ordinateur. C’est – à – dire un ensemble des fils, circuits, mémoires…
Pour l’auteur, l’Ordinateur est l’ensemble de matériel et le Système
d’exploitation vient faciliter l’utilisation de ce matériel.
 Le Système d’exploitation est aussi un programme dont la fonction principale
est de déclencher l’exécution d’autres programmes à bon escient de
préférence. Il confère à l’ordinateur la capacité de piloter plusieurs choses à la
fois.
Pour l’auteur, l’ordinateur reste toujours différent du Système
d’exploitation, mais ce dernier lui confère une nouvelle fonction : « piloter plusieurs
choses à la fois ».
Cette définition vient – elle en contradiction au principe de Van
NEUMANN? Qui dit que: « les ordinateurs exécutaient une et une seule
instruction à la fois ». Non, cette définition ne contredit pas ce principe, mais la
bonne façon d’interpréter ce principe est celle – ci: Le temps d’exécution d’une
instruction câblée du processeur est très court, de l’ordre de nanoseconde. Ce qui
procure plusieurs centaines de millions d’instructions par seconde, et ainsi une
tranche de temps de quelques fractions de seconde, partagée entre plusieurs
processus, donne à l’échelle macroscopique l’illusion de la simultanéité.
Il est à noter que le Système d’exploitation remplit trois fonctions qui
ne sont pas en relation à savoir : l’extension de la machine, la gestion des
ressources et le chargement des processus.

a. Le Système d’exploitation comme Machine étendue


C’est un programme qui cache les détails de fonctionnement du
matériel et présente au programmeur une interface simple à base des fichiers à lire
et/ou à écrire.
Exemple: Les disques sont considérés comme une collection des fichiers (c’est
l’abstraction faite pour simplifier l’interface au programmeur, les détails sont cachés).
De ce point de vue, le rôle du SE est de fournir à l’utilisateur
l’équivalent d’une machine étendue ou virtuelle plus simple à programmer que la
machine réelle.

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
5

Pour conclure, le Système d’exploitation fournit un ensemble de


services que les programmes peuvent solliciter par le biais d’instructions spéciales
appelées « appels systèmes ».

b. Le Système d’exploitation comme gestionnaire de ressources


C’est ce programme qui gère de manière équitable et optimale
l’allocation des processeurs, de la mémoire et des périphériques d’E/S aux différents
programmes concurrents qui les sollicitent.
Exemple: imaginons ce qui se passerait si trois processus sur une machine
essayaient en même temps d’imprimer sur la même imprimante. Les premières
lignes proviendraient du premier programme, les lignes suivantes du second, puis on
verrait quelques lignes du troisième programme et ainsi de suite. Le résultat serait
totalement chaotique. Le système d’exploitation est là pour mettre de l’ordre dans ce
chaos prévisible en plaçant dans un buffer (une mémoire tampon) toutes les sorties
destinées à l’imprimante sur le disque. Quand un programme se termine, le système
d’exploitation peut alors recopier la sortie de ce dernier sur l’imprimante, alors que
les autres programmes continuent de remplir le disque de leur propre sortie.
En claire, cet aspect du rôle du Système d’exploitation met en
évidence la nécessité de savoir qui utilise quelle ressource, d’autoriser ou de refuser
l’accès à telle ressource, de mesurer l’utilisation par chacun de chaque ressource et
de résoudre les conflits d’accès entre différents programmes et utilisateurs.

c. Le Système d’exploitation s’occupe de chargement des programmes


Les premiers micro-ordinateurs étaient fournis sans Système
d’Exploitation, sauf un interpréteur du langage BASIC qui était contenu en mémoire
ROM. Si une disquette exécutable était placée dans le lecteur de disquette, le
programme dessus est exécuté (il fallait éventuellement ensuite remplacer cette
disquette par une disquette des données), sinon l’interpréteur BASIC reprenait la
main. Avec cette façon de faire, chaque changement de programme exigeait le
redémarrage du micro-ordinateur avec la disquette du programme désiré.
Ensuite les micro-ordinateurs sont fournis avec un Système
d’Exploitation (qui est sur la disquette ou sur la RAM), celui – ci affichait une invite de
commandes à l’écran. On pouvait alors remplacer la disquette système de
démarrage par une disquette contenant le programme désiré. En écrivant le nom du

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
6

programme sur la ligne de commandes et en appuyant sur la touche entrée, le


programme était chargé et exécuté. A la fin de l’exécution de ce programme, on
pouvait charger un nouveau programme sans devoir redémarrer le système.
 En définitive, nous pouvons dire qu’un Système d’exploitation est un
programme qui assure le bon fonctionnement de l’ordinateur (notamment le
chargement et le déchargement des programmes), qui gère les différents
périphériques y raccordés et qui étend la machine.

C’est le Système d’exploitation qui lit les données et les écrit sur les
mémoires auxiliaires ou périphériques (flash – disk, imprimante…) ; c’est lui qui trie
les programmes ou les fichiers et affiche avec précision la place qu’ils occupent sur
le disque dur ou sur la disquette. Il gère le clavier, moniteur et tous les organes
d’E/S.

I.2. Evolution et Architecture des systèmes d’exploitation.


Cette section présente l’évolution des Systèmes d’exploitation et l’état
de l’art sur les différents principes, structurations et techniques de construction des
systèmes d’exploitation.
A l’époque des premiers ordinateurs, à la fin des années 1940, il n’y
avait rien qui annonçât les SE. Le texte du premier programme sur EDSAC (mis en
service en 1947) était sous le format binaire, chaque chiffre binaire était introduit
manuellement à l’aide de commutateurs (dispositif qui modifie les connexions d’un
circuit électrique ou électronique), le programme se déroulait durant des dizaines
d’heures pour afficher le résultat attendu.
Pour réduire le temps d’introduction des données, l’utilisation de
bande magnétique a été inventée.
Il aurait été possible de réduire la perte de temps due à l’impression
des résultats en les écrivant provisoirement sur une mémoire auxiliaire
électromagnétique (disque, bande, tambour,…) beaucoup plus rapide qu’une
imprimante, puis en les imprimant plus tard, pendant que l’Unité Centrale effectuerait
d’autres calculs. Cela semblait être possible parce que la tâche d’impression, ralentie
par les opérations mécaniques de l’imprimante, n’utilisait les circuits de l’unité
arithmétique et logique que fort peu.
La réalisation de cet objectif apparemment modeste nécessitait encore un peu de
programmation. En effet, à la fin du programme de calcul il fallait qu’un programme

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
7

déclenche d’une part le démarrage du programme d’impression (destiné à vivre sa


vie indépendamment), d’autre part le démarrage du programme de calcul suivant.
Avant de lancer le programme d’impression il fallait aussi vérifier que l’impression
des résultats précédents était bien terminée. Pendant qu’on y était, on procéderait à
une optimisation analogue en autorisant le recouvrement entre le temps de calcul et
le temps de lecture des données nécessaires au calcul suivant.
Il apparut vite assez logique de confier cette mission « organiser le
recouvrement dans le temps de plusieurs activités », à un méta – programme,
nommé moniteur, chargé de déclencher à l’instant convenable l’exécution de
programme d’application, qui pourrait être considérés comme ses sous –
programmes. C’est l’ancêtre des SE né en 1955.
Il existe plusieurs principes d’organisation des systèmes d’exploitation.
A. structuration en couches
Le SE est divisé en un certain nombre de couches, bâties les unes sur
les autres : la couche la plus basse est le matériel et la couche la plus élevée est
l’interface utilisateur (user).
Les couches supérieures utilisent les fonctionnalités fournies par les
niveaux inférieurs.

• opérations créées dans une couche pour les couches extérieures


• opérations fournies par une couche, utilisées par la prochaine couche, et
cachées aux couches extérieures
• opérations d’une couche intérieure rendues disponibles à une couche
extérieure
• Conception descendante pour décomposé le problème en sous problème.
Exemple1 : le cas de l’OS THE (Technische Hogeschool Eindhoven en Hollande en 1968
par E.W.Dijkstra). Qui avait comme couches:

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
8

Les couches avaient comme spécification:


 La couche 1: la gestion des matériels
 La couche 2: fournit le service de multiprogrammation pour la CPU;
 La couche3: effectue la gestion de la mémoire, elle alloue de la place pour le
processus en mémoire principale et dans un tampon;
 La couche 4: gère les communications entre les processus et la console opérateur.
 La couche5: s’occupe des périphériques d’E/S et de la mise en mémoire tampon des
flots d’E/S (les processus pouvaient travailler sur une couche abstraite des E/S et
non sur des périphériques réels);
 La couche 6: contient les programmes utilisateurs;
 La couche7: contient les interfaces utilisateurs.
Exemple2 : Autres systèmes en couches : MINIX en 4 couches (1. Gestion des processus,
2. Gestion des tâches E/S et de la tâche système, 3. Gestionnaire de mémoire et le système
de fichier, et 4. Processus utilisateur) et LINUX (qui n’a que deux couches (Mode noyau et
Mode utilisateur).
NB : - L’appel d’une couche supérieure vers une couche inférieure est appelé un appel
descendant, l’inverse est appelé un appel ascendant « upcall ».

B. Structuration orientée objet


Consiste à structurer le système en différents éléments. Ces différents
éléments, qui communiquent entre eux, sont assemblés en vue de réaliser les
services que le système doit rendre.
Ces différents éléments sont appelés des composants ou des objets.

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
9

 Modèle client – serveur


Le modèle client - serveur est le modèle le plus utilisé pour la
structuration orientée objet. Dans ce modèle, le serveur fournit un ensemble de
services exécutables à des clients.
Le rôle d’un serveur est donc d’exécuter et de répondre aux requêtes
émises par les clients.

Cette approche consiste à implémenter la plus grande partie du


Système d’exploitation sous forme de processus utilisateur. La demande d’un service
(Par ex. la lecture d’un bloc de fichiers) passe par l’envoi d’une requête par le
processus demandeur (client) à un processus serveur, qui rend le service et renvoie
le résultat au client.
Le noyau ne gère que la communication entre les clients et les
serveurs. Mais, il est souvent obligé de gérer certains processus serveurs critiques
comme les pilotes de périphériques qui s’adressent directement au matériel.
Les serveurs s'exécutent comme des processus en mode utilisateur et
non pas en mode noyau. Comme ils n'accèdent donc pas directement au matériel,
une erreur n'affecte que le serveur et pas l'ensemble de la machine.
Un autre avantage du modèle client – serveur est son adaptabilité aux
environnements distribués. (Si un client communique avec le serveur par envoi de
message, il n’a pas besoin de savoir si le message est pris en charge localement ou
à distance à travers un réseau. Pour lui le résultat est le même: il a émis une requête
et reçu une réponse). (Ex. UNIX)
Il existe trois autres structurations des SE, qui sont:
• Structuration orientée événements,
• Structuration par référentiel,
• Structuration par flot de données.

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
10

C. Modèle de communication dans les Systèmes d’exploitation


Nous décrivons dans cette section la problématique de la
communication engendrée par la décomposition des systèmes selon les principes
d’organisation que nous venons de voir.
Il existe plusieurs modèles de communication utilisés dans les
systèmes d’exploitation centralisés ou répartis. Ceci peut être représenté
schématiquement comme suit :

1°. Modèle de communication par variable partagée


Le modèle de communication par variable partagée est un modèle
permettant de programmer les communications entre les différentes tâches d’un
système ou d’une application en utilisant une mémoire commune comme espace de
communication.

Il y a deux mécanismes de communication par variable partagée à


savoir :
– Segment partagé: est une abstraction permettant aux deux processus ne
partageant pas le même domaine de protection de partager de la mémoire.
– Mémoire virtuelle répartie : est un mécanisme qui fournit une abstraction
permettant le partage des données entre différents processus ne partageant
pas la même mémoire physique. La mémoire virtuelle répartie masque la
répartition.
2°. Modèle de communication par appel de méthode
L’appel de méthode est ce - lui que nous utilisons tous les jours
lorsque nous programmons dans des langages objets.
Ex. NomObjet.Methode()

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
11

Un appel de méthode ou de procédure est synchrone, c’est-à-dire que


l’appelant d’une méthode est bloqué tant que la méthode appelée n’a pas fini son
exécution.

 Les appels système


Pour comprendre vraiment ce que fait un Système d’exploitation, il faut
examiner soigneusement les appels système. Ils définissent l’interface entre le Système
d’exploitation et les programmes utilisateurs. Ils varient d’un système à un autre, mais les
concepts sous – jacents sont proches.
Exemple : InputBox(), MsgBox()
Un appel système est analogue à un appel procédural classique, à ceci près
qu’il est effectué en mode noyau. En effet, pour un système d’exploitation architecturé selon
le modèle client – serveur, l’implantation de l’appel système repose sur le mécanisme
d’appel au superviseur et sur une convention de passage de paramètre : sur la pile, dans
des registres ou à une zone mémoire.
3°. Modèle de communication par message
Le modèle de communication par message est un mode de
communication très ancien. C’est le mode classique de programmation des réseaux.
L’interface de programmation fournie par ce modèle est du type send
et receive. Ici, le processus d’émission est appelé l’émetteur, le processus de
réception est appelé le récepteur.
 Représentation

 Envoi de messages
Le modèle de communication par message peut être direct entre les
processus. Le gestionnaire de message ne conserve pas les messages émis. C’est-

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
12

à-dire que, si le processus récepteur n’est pas joignable à la réception du message,


le message est perdu.
 File de messages
La file mémorise les messages émis et les restitue au récepteur quand
il le désire ou quand il est prêt. L’ajout d’une file de messages à un protocole réseau
permet de limiter la perte de messages.
 Communication inter – processus
La communication inter - processus « Inter - Process Communication
» (IPC) est un modèle de communication par message utilisé entre deux processus
d’une même machine. Bien que l’IPC existe sur les systèmes monolithiques de type
Unix, son rôle devient essentiel dans les micronoyaux. C’est un mécanisme central
pour ce type d’architecture.
4°. Modèle de communication par événements
La communication événementielle est basée sur les concepts
d’événements et de réactions. La communication est anonyme et est basée sur la
diffusion, l’émetteur d’un événement ne sait pas quels seront le ou les récepteurs.
L’interface de programmation fournie par ce modèle est du type publish émettant un
événement et subscribe attachant dynamiquement une réaction à un nom
d’événement.
 Représentation

Ex. Signal
Le signal, fonctionne comme un événement. Il permet de déclencher
depuis le système d’exploitation un événement dans une application.
D. Le noyau (kernel) du SE
1. Définition
C’est la partie du SE qui est toujours présente sur la RAM. Il contient
les fonctionnalités critiques du SE à savoir: le traitement des interruptions, la gestion
de l’ UCT, la gestion de la mémoire, la communication entre processus,..

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
13

Les autres parties du SE sont chargées (amenées) sur la RAM au


besoin.
2. Classification des noyaux
Nous distinguons 4 classes obtenues en fonction de l’architecture
mise en œuvre pour l’exécution des services y afférents.
1°. Systèmes à domaine de protection unique
Un système à domaine de protection unique, exécute les services du
système d’exploitation et (la ou) les applications dans le même domaine de
protection. C’est par exemple le cas pour le système d’exploitation développé par
IBM et Microsoft : DOS.

2°. Noyaux monolithiques


Dans un noyau monolithique, tous les services du système
s’exécutent dans un domaine de protection différent de celui des applications. Dans
ces conditions le système est vu comme une boîte noire.
Les noyaux monolithiques offrent probablement les meilleures
performances tout en garantissant la sécurité vis-à-vis de la défaillance des
applications. Ils sont présents dans les systèmes de type Unix (: AIX développé par
IBM, Linux développé initialement par Linus Torvalds, Solaris développé par Sun
Microsystems).

3°. Micronoyaux
L’approche micronoyau consiste à exécuter les services du système
d’exploitation dans des processus séparés selon le modèle client – serveur. Pour
obtenir un service, les applications communiquent avec des serveurs applicatifs qui
se trouvent à l’extérieur du noyau. Ces services peuvent être ainsi démarrés et
arrêtés dynamiquement de la même façon que les applications.

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
14

Les noyaux résultant de cette architecture sont théoriquement


beaucoup plus petits et donc plus faciles à maintenir.
Il existe de nombreux systèmes d’exploitation basés sur un
micronoyau (ex. Mach et NextStep).
La grande difficulté de cette architecture est de réaliser des
communications inter – processus (IPC) aussi efficaces que possible. En effet,
chaque demande de service passe par le noyau qui appelle ensuite le service, et
réciproquement pour le retour. Cela ajoute donc deux changements d’espaces
d’adressage au coût de chaque communication avec un service.

4°. Exonoyaux
Un exonoyau implante tous les services systèmes sous forme de
librairie applicative. Les services s’exécutent alors dans les domaines de protection
des applications. Cette philosophie consiste à limiter le système d’exploitation au
multiplexage et à la protection des ressources (Voire:(1°+3°=4°)).

Multiplexage: la gestion des ressources qui se réalise en deux dimensions de


partage: dans le temps Ex. l’allocation du CPU, partage de l’imprimante et dans
l’espace. Ex. la gestion de la mémoire principale, le disque dur.
Exemple: Sous VM/370, chaque processus utilisateur reçoit une copie exacte de la
plate – forme (d’un ordinateur différent).
La couche la plus basse, fonctionnant en mode noyau (est un
programme appelé exonoyau.) Son rôle est d’allouer des ressources pour les

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
15

machines virtuelles et de vérifier des tentatives d’accès aux ressources. Chaque


machine virtuelle, au niveau utilisateur, peut exécuter son propre SE.

I.3.Types des systèmes d’exploitation.


1°. Système Multitâche
Un SE est dit multitâche, lorsqu’il permet de faire fonctionner plusieurs
applications simultanément. En anglais on l’appelle « Multithreaded ».Dans ce type
de système il existe deux variétés:
 Système Préemptif
Un système est dit préemptif lorsqu'il possède un Ordonnanceur
(aussi appelé planificateur), qui répartit, le temps machine entre les différents
processus qui en font la demande, selon des critères de priorité et il garde le contrôle
du processeur.
 Système à temps partagé
Le système est dit à temps partagé lorsqu'un quota de temps est
alloué à chaque processus par l'Ordonnanceur. C'est notamment le cas des
systèmes multi - utilisateurs qui permettent à plusieurs utilisateurs d'utiliser
simultanément sur une même machine des applications différentes ou bien similaires
: le système est alors dit «système transactionnel». Pour ce faire, le système alloue à
chaque utilisateur une tranche de temps.
2°. Systèmes Multi – Utilisateurs
Se dit d’un système qui peut être utilisé par plusieurs personnes en
même temps.
Ex. 1) Le MVS de l’IBM (Multiple Virtual Storage); le MS Windows (dernières
versions) ; le Linux. Mais la manière de concevoir ceci diffère d’un système à un
autre.
3°.Systèmes Multiprocesseurs
Le recours à plusieurs CPU sur une même plate-forme pour
augmenter la puissance de calcul est une technique de plus en plus courante. On
appelle ces systèmes: « ordinateurs parallèles » ou « multi – ordinateurs » ou
« multiprocesseurs », « pipeline ». Ils nécessitent des SE spéciaux qui sont le plus
souvent des variantes de systèmes serveurs.
4°. Les SE « Serveurs »

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
16

Ils fonctionnent sur des machines serveurs, qui sont soit de gros
micro-ordinateurs, soit des stations de travail ou des mainframes. Ils servent en
parallèle de nombreux utilisateurs à travers le réseau et permettent à ces derniers de
partager des ressources matérielles et logicielles. Ils proposent en général un service
d’impression, un service de fichiers ou un service web. Ex. Unix,…
5°. Les Systèmes pour Mainframes
Ces Ordinateurs qui remplissent une pièce et que l’on trouve encore
dans les centres de calcul de certaines grandes sociétés. Ces machines se
distinguent principalement des ordinateurs personnels de par leurs capacités d’E/S. Il
n’est pas rare de voir un mainframe gérer un millier de disques pour plusieurs
téraoctets de mémoire au total.
Les mainframes vivent en outre une seconde jeunesse en tant que
serveurs web de commerce électronique B2B (Business to Business). L’accent est
mis dans leurs systèmes d’exploitation sur la capacité à gérer de manière optimale
plusieurs jobs en même temps, chacun d’eux demandant de grandes ressources
d’E/S. Ils offrent typiquement trois types de services : le batch (un système batch
exécute des jobs sans interaction avec l’utilisateur), le transactionnel (un système
transactionnel gère en permanence un très grand nombre des petites requêtes
concurrentes) et le temps partagé (un système à temps partageux permet à plusieurs
utilisateurs, éventuellement distants, d’exécuter des travaux en même temps sur la
même machine ex. OS/390, OS/360 d’IBM, MVS).
6°. Système embarqué
En descendant toujours l’échelle de taille, on trouve les palmtops et
les systèmes embarqués. Un palmtop ou PDA (Personnel Digital Assistant, assistant
numérique personnel) est un petit ordinateur qui rend des services simples comme
carnet d’adresses électronique, bloc – notes, etc. Ils ont souvent des caractéristiques
temps réel mais leurs dimensions, taille mémoire et restrictions en terme
d’alimentation électrique les rangent à part. (ex. Palm OS et Windows CE (Consumer
Electronics)).

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
17

I.4.Quelques définitions
1°. Processus et Thread
a) Processus
Un Processus est un programme en cours d’exécution. Il possède un
espace d’adressage (ou on trouve ses données et sa pile), un ensemble de registres
(compteur ordinal, le pointeur de pile…). Un processus est une abstraction d’un
programme en cours d’exécution. Un processus est une activité, il inclut un
programme, une entrée, une sortie et un état.
Un processeur peut être partagé par plusieurs processus à l’aide d’un
algorithme d’ordonnancement intervenant pour déterminer à quel moment arrêter de
travailler sur un processus pour servir un autre.
 La création d’un processus
Les systèmes ont besoin de savoir que tous les processus
nécessaires existent bel et bien. Sur les systèmes les plus simples, ou ceux conçus
pour exécuter une seule application (ex. le contrôleur d’un four à micro – ondes), il
peut être envisageable que tous les processus susceptibles d’intervenir soient actifs
pendant le fonctionnement du système. En revanche, les systèmes généralistes ont
besoin de disposer d’une méthode pour créer et arrêter les processus, selon le cas,
au cours de leur activité. Il existe essentiellement quatre événements provoquant la
création d’un processus :
a) Initialisation du système (démarrage)
Certains sont des processus de premier plan, à savoir des processus
qui interagissent avec l’utilisateur et accomplissent des tâches pour eux. D’autres
sont des processus d’arrière – plan, non associés à une utilisation particulière de
l’ordinateur. Ces processus ont des fonctions spécifiques.
Ex.- un processus conçu pour accepter les courriers électroniques entrants, celui – ci
sera inactif la plupart du temps, mais se réactiver lors de l’arrivée d’un message ;
- un processus conçu pour accepter les requêtes entrantes de pages web
hebergées sur l’ordinateur et s’activer lors de l’arrivée d’une requête.
Les processus qui restent à l’arrière – plan pour gérer des activités qui
concernent les courriers électroniques, les pages web, les news, les impressions…,
s’appellent des « démons » (daemons).
Pour afficher les processus, on utilise :
 Sous Windows : Ctrl + Alt + Del et/ou afficher le gestionnaire des tâches ;

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
18

 Sous Unix (voir aussi Linux) on utilise la commande « ps ».


b) Exécution d’un appel système de création de processus par un processus
en cours d’exécution
Il arrive souvent qu’un processus en cours d’exécution émette des
appels système pour créer un ou plusieurs nouveaux processus qui l’aideront dans
son activité. Il est particulièrement utile de créer de nouveaux processus lorsque la
tâche à accomplir peut être divisée en plusieurs processus, qui interagissent entre
eux tout étant indépendants.
Ex. Si l’on récupère d’importantes quantités de données sur un réseau afin de les
traiter ultérieurement, il peut être pratique de créer un processus pour récupérer les
données et les placer dans un tampon partagé, alors qu’un second processus ôtera
les éléments de données et les traitera.
c) Requête utilisateur sollicitant la création d’un nouveau processus
Sur les systèmes interactifs, les utilisateurs peuvent démarrer un
programme en saisissant une commande ou en (double) cliquant sur une icône.
L’une ou l’autre de ces actions lance un nouveau processus qui exécute le
programme concerné.
Sur Windows et Linux, les utilisateurs peuvent ouvrir plusieurs
fenêtres simultanément, chacune exécutant un processus donné. A l’aide de la
souris, l’utilisateur peut sélectionner une fenêtre et entrer en interaction avec le
processus. Par exemple en saisissant des données.

d) Initialisation d’un travail en traitement par lots.


Le dernier cas de figure impliquant la création de processus ne
s’applique qu’aux systèmes de traitement par lots que l’on trouve sur les gros
mainframes.
Les utilisateurs peuvent soumettre des tâches de traitement par lots
au système (même à distance). Lorsque le SE constate qu’il dispose des ressources
nécessaires à l’exécution d’un job supplémentaire, il crée un nouveau processus et
exécute le job suivant de la fin d’attente.
Techniquement, dans tous ces cas de figures, un nouveau processus
est créé du fait qu’un processus existant exécute un appel système de création de
processus. Il peut s’agir d’un processus utilisateur en cours, d’un processus système
invoqué à partir du clavier ou de la souris, ou d’un processus gestionnaire de

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
19

traitement par lot. Cet appel demande au SE de créer un nouveau processus et


indique, directement ou indirectement, quel programme y exécuter.
Tant sous Linux que sous Windows, une fois qu’un processus a été
créé, le parent et le fils disposent désormais de leur propre espace d’adressage, le
changement n’est pas visible par l’autre processus.
 La fin d’un processus
Une fois qu’un processus a été créé, il commence à s’exécuter, quelle
que soit sa tâche. Les processus s’arrêtent pour diverses raisons :
 Arrêt normal (volontaire)
La plupart des processus s’arrêtent parce qu’ils ont terminé la tâche
qui leur incombait.
Ex. Lorsqu’un compilateur a terminé de compiler le programme qu’on lui a confié, il
exécute un appel système pour indiquer cet état de fait au SE.
Les programmes que l’on peut afficher à l’écran prennent également
en charge l’arrêt volontaire. Les traitements de texte, les navigateurs internet et
autres programmes analogues sont équipés d’une icône ou d’un élément de menu
qu’on peut utiliser pour indiquer au processus de supprimer les fichiers temporaires
ouverts, puis pour arrêter celui – ci.
 Arrêt pour erreur (volontaire)
La survenue d’une erreur provoquée par le processus, souvent due à
un bogue du programme.
Ex. Les erreurs peuvent provenir de l’exécution d’une instruction illégale, d’une
référence mémoire inexistante ou d’une division par zéro.
 Arrêt pour erreur fatale (involontaire)
La survenue d’une erreur fatale entraine l’arrêt d’un processus.
Ex. Si l’utilisateur saisit la commande « cc foo.c » pour compiler le programme foo.c
et que le fichier correspondant n’existe pas, le compilateur s’arrête.
 Le processus est arrêté par un autre processus (involontaire)
L’arrêt d’un processus peut intervenir lorsqu’il exécute un appel
système indiquant au SE d’arrêter un ou plusieurs autres processus. (Sous Linux on
utilise la commande kill et sous Windows terminateprocess). Dans les deux cas,
l’appel d’arrêt doit demander l’autorisation nécessaire auprès du processus à arrêter.

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
20

Sur certains systèmes, lorsqu’un processus s’arrête, que ce soit


volontairement ou pas, tous les processus dont il est à l’origine sont immédiatement
suspendus (ce n’est pas le cas de Linux, ni de Windows).
 Les états des processus
Différents événements peuvent entraîner le processus à changer
d’état. Ainsi, le processus peut être :
 Running State (état d’exécution) : s’il possède actuellement le C.P.U
 Ready State (prêt) : s’il peut utiliser le C.P.U lorsque celui-ci est
disponible.
 Blocked State (état bloqué) : s’il attend qu’un événement ait lieu (ex.
l’exécution I/O) avant qu’il ne puisse continuer l’exécution c’est – à –
dire demander le C.P.U pour poursuivre son déroulement.
NB : - DISPATCH est le passage de Ready to Running, TIMERRUNOUT est le
passage de Running to Ready, BLOCK est le passage de Running to blocked et
WAKEUP est le passage de Blocked to Ready.
 L’implémentation des processus
Pour implémenter le modèle d’un processus, le SE maintient une table
(un tableau de structure) appelée « table des processus » et contenant une entrée
par processus. Ces entrées on les appelle « blocs de contrôle de processus ». Ces
entrées contiennent des informations relatives aux éléments suivants : état du
processus, compteur ordinal, pointeur de pile, allocation de la mémoire, état des
fichiers ouverts, ordonnancement, ainsi que toute information relative aux processus
devant être enregistrée lorsque le processus bascule de l’état en cours d’exécution
vers les états prêt ou bloqué. Ainsi, le processus pourra redémarrer ultérieurement
comme s’il n’avait jamais été interrompu.
b) Thread
Dans les SE traditionnels, chaque processus possède un espace
d’adressage et un thread de contrôle unique. Cependant, il arrive qu’il soit
souhaitable de disposer de plusieurs threads de contrôle dans le même espace
d’adressage, ceux – ci s’exécutent quasiment en parallèle, comme s’il s’agissait de
processus distincts.
Un thread est un chemin d’exécution d’un processus. Ainsi dans un
processus on peut trouver un ou plusieurs chemins d’exécution (threads).

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
21

Le modèle de processus tel que nous l’avons vu jusqu’à présent est


fondé sur deux concepts indépendants : le regroupement des ressources et
l’exécution. On peut considérer les processus comme des moyens de regrouper des
ressources liées. Un processus a un espace d’adressage contenant un programme
et des données, mais aussi d’autres ressources comme les fichiers ouverts, les
processus enfants,…
On peut voir le processus sous un autre angle, en considérant leur
thread d’exécution (chemin d’exécution). Le thread inclut : un compteur ordinal qui
effectue le suivi des instructions à exécuter, des registres qui détiennent ses
variables de travail en cours et une pile qui contient l’historique de l’exécution avec
un frame pour chaque procédure appelée, mais n’ayant encore rien retourné. Bien
qu’un thread doive s’exécuter dans un processus, ils représentent deux concepts
distincts qui peuvent être traités séparément. Les processus servent à regrouper les
ressources et les threads sont les entités planifiées pour leur exécution par le
processeur.
En venant s’ajouter au modèle de processus, les threads autorisent
les exécutions multiples dans le même environnement de processus avec une marge
d’indépendance importante les uns par rapport aux autres. Le fait que plusieurs
threads s’exécutent en parallèle au sein d’un processus est comparable au fait que
plusieurs processus s’exécutent en parallèle sur un ordinateur. Dans le premier cas,
les threads partagent un espace d’adressage, les fichiers ouverts et les autres
ressources. Dans le second, les processus partagent la mémoire physique, les
disques, les imprimantes et les autres ressources. Etant donné que les threads ont
certaines propriétés des processus, ils sont parfois qualifiés de processus légers
(lightweight processu).
A l’instar d’un processus traditionnel (un processus ne comptant qu’un
seul thread), un thread peut prendre plusieurs états : en cours d’exécution, bloqué,
prêt ou arrêté (terminé). Les transitions entre les différents états sont les mêmes
qu’entre les états des processus.
Exemple : soit un traitement de texte avec trois threads : un thread prend en charge
l’interaction avec l’utilisateur (clavier, souris…), un autre la mise en forme à l’arrière –
plan et un troisième thread peut prendre en charge les enregistrements sur disque
sans interférer avec les deux autres.

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
22

2°. Communication interprocessus (IPC : InterProcessus Communication)


Il existe un besoin de communication entre les processus, de
préférence de façon structurée et en évitant les interruptions. Le système
d’exploitation rencontre essentiellement trois problèmes.
 Le premier de coule de source : comment un processus fait-il pour passer des
informations à un autre processus ?
 Le deuxième repose sur la nécessite d’assurer que deux processus, ou plus, ne
produisent pas des conflits lorsqu’ils s’engagent dans des activités.
 Le troisième concerne le séquençage en présence de dépendances : si le
processus A produit des données et que le processus B doit attendre que A ait
terminé pour pouvoir remplir sa tâche.
Les processus ne sont pas isolés dans l’ordinateur puisqu’ils
concourent tous à l’exploitation de travaux de l’utilisateur, mais ils sont en
compétition pour le partage des ressources limitées : processeur, mémoire ou
fichiers. Ces deux caractéristiques, coopération et compétition, impliquent la
nécessité de communication entre processus, essentiellement dans les domaines
suivants : les conditions de concurrence, section critique, l’exclusion mutuelle, la
synchronisation, l’interblocage (deadlock) et le sémaphore.

3°. Les conditions de concurrence


On parle des conditions de concurrence lors que deux ou plusieurs
processus partagent un même espace de travail (Zone mémoire sur RAM, un
fichier…).
Exemple le spouleur d’impression.
On appelle conditions de concurrence, les conditions où deux ou
plusieurs processus lisent et écrivent des données partagées et où le résultat final
dépend de quel élément s’exécute à un instant donné.

4°. Les sections critiques


La question qu’on peut se poser est celle de savoir : comment éviter
les conditions de concurrence ?
Il existe plusieurs solutions pour éviter les conditions de concurrence,
c’est notamment : l’exclusion mutuelle (empêcher un processus d’accéder à un
fichier en cours d’utilisation par un autre processus), Section critique ou Région

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
23

critique (la partie du programme à partir de laquelle on accède à la mémoire


partagée). La solution consiste à empêcher plusieurs processus d’accéder
simultanément dans leurs sections critiques.

5°. L’inter blocage (deadlock)


Lorsque plusieurs processus sollicitent deux ou plusieurs ressources
au même moment, il est possible de se retrouver dans une situation d’inter blocage
(deadlock).En effet, pour les nombreuses applications, les processus n’ont pas
besoin d’un accès à une seule ressource ; ils doivent accéder à plusieurs ressources.
Supposons par exemple que deux processus souhaitent chacun enregistrer un
document numérisé sur un CD. Le processus A demande une permission pour
utiliser le scanner, la quelle lui est accordée. Le processus B est programmé
différemment et sollicite d’abord une permission du graveur de CD. Laquelle lui est
également accordée. Maintenant, A sollicite le graveur de CD mais la requête lui est
refusée jusqu’à ce que B le libère. Malheureusement au lieu de libérer le graveur, B
sollicite le scanner. A ce stade les deux processus sont bloqués et resteront
indéfiniment. C’est ce que l’on appelle « inter blocage » (deadlock). Ainsi, prévenir ou
atténuer l’effet des déblocages est indispensable d’OS.
L’inter blocage est défini comme étant un ensemble de
processus dont chacun attend un événement que seul un autre processus de
l’ensemble peut provoquer. Comme tous les processus attendent, aucun d’eux ne
peut jamais produire un événement pour en réveiller un autre et tous les processus
continuent d’attendre indéfiniment.
Le plus souvent, l’événement attendu par chaque processus est la
libération d’une ressource détenue par un autre membre de l’ensemble. En d’autres
termes, chaque membre de l’ensemble des processus bloqués attend une ressource
détenue par un processus bloqué. Aucun de ces processus ne peut fonctionner,
aucun ne peut libérer de ressources détenues. Cela est valable pour tous les types
de ressources, qu’elles soient matérielles ou logicielles.
Les interblocages peuvent également se produire entre ordinateurs.
Par exemple dans bon nombre de bureaux, les ordinateurs sont connectés à un
réseau local. Les périphériques tels que les scanners, les graveurs de CD, les
imprimantes et les dérouleurs de bande sont des ressources partagées du réseau,
disponible pour tous les utilisateurs et tous les ordinateurs. S’il est possible de

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
24

réserver ces périphériques à distance, le type d’interblocage décrit précédemment


peut se produire. Dans les situations plus complexes, les interblocages peuvent
concerner trois ou quatre périphériques et utilisateurs, voire plus.
Les interblocages peuvent se produire dans une multitude de
situations autre que celles impliquant les requêtes de périphériques d’Entrée/Sortie.
Dans un système de gestion de base de données, par exemple, un programme peut
avoir à verrouiller plusieurs enregistrements qu’il utilise pour éviter qu’ils entrent en
concurrence.
Il existe plusieurs mesures de solution pour les interblocages dont
celle de la désactivation des interruptions (variables de verrou) : la tentative pour
résoudre ce problème, va se tourner vers une solution logicielle. Supposons une
variable unique, partagée (un verrou ou lockt) dont la valeur initiale est de 0.
Lorsqu’un processus tente d’entrer dans sa section critique. Si le verrou est déjà à 1.
Le processus attend qu’il passe à 0. Ainsi, 0 signifie qu’aucun processus ne se
trouve dans la section critique, et 1 implique la présence d’un processus dans la
section critique. Malheureusement, cette solution présente certains inconvénients.
Supposons qu’un processus lise le verrou et constate qu’il est à 0. Avant qu’il n’ait pu
le positionner à1, un autre processus planifié s’exécute et le fait à la place. Lorsque
le premier processus reprend son exécution, il positionne également le verrou à 1, et
les deux processus entre dans leurs sections simultanément.

I.5.Les ressources d’un Système d’exploitation.


Est appelée ressource tout objet logiciel ou matériel pouvant être
utilisé par un SE. Le Système d’Exploitation est étroitement lié au matériel de
l’ordinateur qu’il fait fonctionner. Pour cela, il doit connaître en détail ce matériel, ou
tout au moins l’aspect qu’il présente au programmeur système.

1°. Microprocesseur

C’est le cerveau de l’ordinateur. Il extrait les instructions à la mémoire


et les exécute. Le cycle de base de toute CPU est d’extraire la première instruction

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
25

de la mémoire, la décoder pour connaître son type et ses opérandes, l’exécuter, puis
recommencer pour les instructions qui suivent.
Pour réaliser son travail le Processeur passe par 4 étapes:
• FETCH (Recherche de l'instruction) ;
• DECODE (Décodage de l'instruction : opérations et opérandes) ;
• EXECUTE (Exécution des opérations) ;
• WRITEBACK (Ecriture du résultat).
 Modèle de programmation
L’architecture d’un Microprocesseur fournit un modèle de
programmation sur lequel repose la conception du système d’exploitation. Ce modèle
de programmation peut être caractérisé par les quatre paramètres suivants:
• jeu d’instructions
C’est l’ensemble d’opérations élémentaires qu’un processeur peut
réaliser. Il est considéré comme le Langage machine. Les processeurs sont classés
en fonction de ce paramètre, ainsi on a les types: Cisc (Jeu d’instructions complexe)
et Risc (Jeu d’instructions réduit).
• contexte du processeur
Le contexte du processeur n’est autre que l’ensemble des registres du
processeur. Ce contexte est constitué des registres généraux et des registres
spéciaux décrivant l’état du processeur.
• Exception et événement

• Mode utilisateur et mode superviseur


Pour des raisons de protection, un processeur fournit au minimum
deux modes de fonctionnement : mode superviseur = instructions privilégiées, mode
utilisateur.

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
26

2°. Mémoire principale


Elle stocke de manière temporaire les données et les instructions lors
de l’exécution des programmes. Le processeur ainsi que les contrôleurs de
périphériques peuvent y accéder directement. Elle est composée de:
• bus système
Qui assure la connexion du processeur à la mémoire principale
• mémoire cache
Zone de stockage de données à accès rapide dans laquelle se
trouvent les informations que le processeur est censé sollicité. Elle est souvent
subdivisée en niveaux qui peuvent aller jusqu'à trois. Elle est très rapide, et donc très
chère.

• Unité de gestion de la mémoire (« Memory Management Unit » (MMU))


Son rôle est de traduire les requêtes de lectures ou d’écritures ayant
des adresses logiques (utilisées par le processeur) en des requêtes ayant des
adresses physiques (utilisées par la mémoire principale).Cette translation est
réalisée grâce à une table appelée « Translation Look-aside Buffer » (TLB).

3°. Périphériques d’entrée - sortie


Les périphériques ou « devices » permettent à la machine de
communiquer avec l’extérieur. Ils sont multiples et très divers: interfaces réseaux,

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
27

disques, écrans, claviers, souris, imprimantes, carte son, etc. Chaque type de
périphérique est contrôlé par un dispositif de commande appelé contrôleur.
Tous les contrôleurs sont reliés au bus système via un bus local, par
exemple un bus « Peripheral Component Interconnect » (PCI). Il existe actuellement
huit bus: cache, local, mémoire, PCI, SCSI, USB, IDE et ISA.

• Contrôleur
Son rôle est de faire fonctionner le périphérique de façon autonome. Il
permet ainsi de décharger le processeur durant les E/S en réalisant lui-même
l’enchaînement des commandes permettant de piloter le périphérique.
Par exemple, lors d’une requête de lecture d’un secteur d’un disque
dur, le contrôleur s’occupe seul de déplacer la tête de lecture, de la stabiliser et de
lire le secteur voulu.
Lorsqu’un contrôleur a terminé son travail. Il informe le système en
générant une interruption matérielle. Certains contrôleurs n’offrent pas cette
possibilité, le système doit alors consulter périodiquement les registres de données
pour connaître l’état du contrôleur. Un contrôleur transfère de l’information entre le
périphérique et le processeur ou la mémoire principale.

4°. Ressources en données


Les ressources systèmes sont des abstractions de base
classiquement offertes par les systèmes d’exploitation. Elles sont soit directement
construites au-dessus des ressources physiques soit construites à partir d’autres
ressources abstraites. Un raffinement du processus d’abstraction est la virtualisation.
Elle consiste à simuler le comportement d’une ressource réelle et est construite à
l’aide d’une ou de plusieurs ressources de plus bas niveau. La virtualisation
s’applique généralement aux ressources de bas niveau, comme la mémoire.

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
28

Ex1. La Mémoire virtuelle


Elle est basée sur l'utilisation d'une mémoire de masse (type disque
dur), dans le but, entre autres, de permettre à des programmes de pouvoir s'exécuter
dans un environnement matériel possédant moins de mémoire centrale que
nécessaire (ou de faire tourner plus de programmes que la mémoire centrale ne peut
en contenir!)

Ex2. Les Fichiers

Un fichier est une ressource permettant de stocker de façon


permanente les données sur disque. Chaque fichier est désigné par un nom. Pour
faciliter le nommage, le concept de répertoire regroupe des fichiers. Comme un
répertoire est aussi un fichier, ce modèle engendre une arborescence:
C:\WINNT\system\sys.ini désignation absolue du fichier sys.ini se trouvant dans le
répertoire C:\WINNT\system\
Ex3. Pilotes de périphériques

Questions d’échange (dans la salle de cours)

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
29

Chap. II: LE SE WINDOWS


II.1. Généralités sur Windows
Windows est le système d’exploitation commercialisé par la société
Microsoft. Microsoft a débuté son activité avec la commercialisation en août 1981 de
la version 1.0 du système d'exploitation Microsoft DOS (MS-DOS), un système
d'exploitation 16 bits en ligne de commande.
La première version de Microsoft Windows (Microsoft Windows 1.0)
est apparue en novembre 1985. Il s'agissait d'une interface graphique, inspirée de
l'interface des ordinateurs Apple de l'époque. Windows 1.0 n'a pas eu de succès
auprès du public, pas plus que Microsoft Windows 2.0, lancé le 9 décembre 1987.
C'est le 22 mai 1990 que le succès de Microsoft Windows a débuté
avec Windows 3.0, puis Windows 3.1 en 1992 et enfin Microsoft Windows for
Workgroup, baptisé par la suite Windows 3.11, comprenant des fonctionnalités
réseau. Windows 3.1 ne peut pas être considéré comme un système d'exploitation à
part entière car il s'agit d'une interface graphique fonctionnant au-dessus du système
MS-DOS.
Le 24 août 1995, Microsoft lance le système d'exploitation Microsoft
Windows 95. Windows 95 marque la volonté de Microsoft de transférer des
fonctionnalités de MS-DOS dans Windows, mais cette version s'appuie encore
largement sur le système DOS 16-bits et garde notamment les limitations du système
de fichiers FAT16.
Après des révisions mineures de Microsoft Windows 95, Microsoft
commercialise le 25 juin 1998 la version suivante de Windows : Windows 98.
Windows 98 intègre nativement d'autres fonctionnalités de MS-DOS mais s'appuie
toujours sur ce dernier. D'autre part Windows 98 souffre d'une mauvaise gestion du
partage de la mémoire entre processus, pouvant provoquer des dysfonctionnements
du système. Une seconde édition de Windows 98 paraît, le 17 février 2000, elle se
nomme Windows 98 SE (pour «Second Edition»).
Le 14 septembre 2000, Microsoft commercialise Windows Me (pour
Millenium Edition), également appelé Windows Millenium. Windows Millenium
s'appuie largement sur Windows 98 (donc sur MS-DOS), mais apporte des
fonctionnalités multimédia et réseau supplémentaires. D'autre part, Windows
Millenium intègre un mécanisme de restauration du système permettant de revenir à
un état précédent en cas de plantage.

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
30

Parallèlement, Microsoft a lancé dès octobre 1992 un système


d'exploitation entièrement 32 bits (ne s'appuyant donc pas sur MS-DOS) pour un
usage professionnel, à une époque où les entreprises utilisaient essentiellement des
mainframes. Il s'agit de Windows NT (pour Windows «New Technology»). Windows
NT n'est donc pas une version ou une évolution de Windows 95, mais un système
d'exploitation à part entière. C'est avec Windows NT 4.0, lancé sur le marché le 24
août 1996, que Windows NT va enfin connaître un réel succès.
En juillet 1998, Microsoft commercialise Windows NT 4.0 TSE
(Terminal Server Emulation), le premier système Windows à permettre la possibilité
de brancher des terminaux sur un serveur, c'est-à-dire d'utiliser des clients légers
pour accéder à une session ouverte sur le serveur.
Le 17 février 2000, la version suivante de Windows NT 4.0 est
baptisée Windows 2000 (en lieu et place de Windows NT 5.0) afin de montrer la
convergence des systèmes «NT» avec les systèmes «Windows 9x». Windows 2000
est un système entièrement 32-bits possédant les caractéristiques de Windows NT,
ainsi qu'une gestion améliorée des processus et une prise en charge complète des
périphériques USB et Firewire.
Puis, le 25 octobre 2001, Windows XP fait son apparition. Il s'agit de
la convergence des systèmes précédents.
Enfin le 24 avril 2003, un système d'exploitation dédié pour les
serveurs est commercialisé par Microsoft : Windows Server 2003.

II.2. Manipulation de Windows


1° Sous Windows XP
Les astuces qui seront développées ci – dessous sont à expérimenter
à la lettre sous Windows XP2 et XP3, elles peuvent être adaptées à d’autres versions
de Windows plus supérieure que XP. C’est notamment : Seven,…

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
31

a) Afficher le Gestionnaire des tâches


Outil sophistiqué, le gestionnaire des tâches fournit des informations
sur les programmes et sur les processus en cours d’exécution sur votre ordinateur.
Pour l’ouvrir on fait : un clic droit sur une zone libre de la barre des
tâches puis cliquer sur gestionnaire des tâches ou par clavier raccourci : Ctrl +
Alt + Supp.
Les onglets du gestionnaire sont :
 Application : indique l’état des programmes qui sont en cours d’exécution sur
votre ordinateur. Il permet de basculer vers un programme de l’arrêter ou de le
démarrer ;
 Processus : contient des informations sur les processus en cours d’exécution
sur votre ordinateur ;
 Performances : affiche une vue d’ensemble dynamique des performances de
votre ordinateur y compris des graphiques sur l’utilisation du microprocesseur
et de la mémoire, des totaux pour le nombre de handles (handle : indique la
valeur numérique d’un objet ex. fenêtre, fichier), des threads et des processus
en cours d’exécution, des totaux relatifs à la mémoire physique ou du noyau ;
 Mise en réseau : offre une représentation graphique des performances du
réseau ;
 Utilisateurs : affiche les utilisateurs actifs sur votre ordinateur.
b) Configurer le système avec MSCONFIG
La configuration de base de Windows (surtout en cas des problèmes
en rapport avec son bon fonctionnement) peut être examinée et modifiée avec
l’utilitaire de configuration système MSconfig. Pour l’utiliser on fait : cliquez sur le
bouton démarrer/exécuter/tapez MSConfig/Ok.
Par défaut, la case « démarrage normal est cochée » dans l’ongle
général. Si la machine pose des problèmes, il faut essayer les deux autres options :
 Démarrage en mode diagnostic : charge les services et les périphériques de
base uniquement. Après avoir sélectionné, cliqué sur Ok et redémarré
l’ordinateur, si les mêmes symptômes subsistent, les raisons les plus
probables des ennuis sont :
 Un fichier important est absent, est corrompu ou a été remplacé ;
 Le registre de Windows est corrompu. (dans ce cas, il faut rétablir une
situation antérieure en choisissant : « Exécuter la restauration du système » ;

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
32

 Les fichiers sont infectés par un virus ;


 Une mise à jour bloque tout.
 Démarrage sélectif : lorsque vous cochez cette option, une liste d’éléménts
devient active. Décochez – les tous et réinitialisez votre ordinateur.
Rétablissez – les l’un après l’autre en démarrant à chaque fois l’ordinateur
pour isoler celui qui est à l’origine de vos problèmes.
c) XP Tourne en boucle au démarrage
Lorsque vous mettez l’ordinateur sous tension, il tourne en vous
demandant de choisir le mode sans échec. Dès lors, il scanne le disque et annonce
qu’il existe un problème dans le registre et qu’il va vider la mémoire, vous conseillant
de contacter l’administrateur système.
Il existe effectivement un problème de registre qu’il faut corriger. Pour
cela, il faut :
 Insérer le CD de Windows XP dans son lecteur et reinitialiser la machine sur
CD ;
 Choisissez une installation et non une réparation ;
 Windows détecte qu’il existe déjà une version installée sur le disque dur et
vous propose d’ouvrir la console de réparation, en mode ligne de commande
en appuyant sur R ;
N’en faites rien et passez à la suite pour trouver, enfin le mode de réparation
(toujours en appuyant sur R). Laissez – vous alors guider et réparer Windows.
d) Rétablir l’invite de commandes
Si vous avez fait disparaître l’invite de commandes en la désactivant.
Vous pouvez la rétablir avec :
 Cliquez sur le bouton démarrer/exécuter ;
 Tapez « gpedit.msc » ;
 Sélectionnez successivement « configuration utilisateur », « modèle
d’administration » puis « système » ;
 Dans le volet de droite, double – cliquez sur « désactiver l’accès à l’invite de
commandes » pour afficher la boîte de dialogue des propriétés ;
 Désactivé/ Ok (si on prend activé ; c’est pour activer « désactiver l’accès à
l’invite de commande »)
e) Les points de restauration

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
33

Un point de restauration correspond en quelque sorte à une


photographie du système à un instant donné.
Pour démarrer la restauration du système, on fait :
Démarrer/Tous les programmes/Accessoires/Outils systèmes/Restauration du
système. Ou
Démarrer/Aide et Support/Choisissez tâche/Annuler les modifications de votre
ordinateur avec la restauration du système
La fenêtre de restauration apparaît, elle offre trois options :
 Restaurer mon ordinateur à une heure antérieure : c’est la commande réelle
de restauration ;
 Créer un point de restauration : c’est une prise de rendez – vous. Windows
enregistre la situation courante, afin de vous permettre de la restaurer si
quelque chose devait mal tourner par la suite ;
 Annuler ma dernière restauration : si elle est inutile ou a échoué.
 Pour restaurer
 Cochez la première de ces options ;
 Cliquez sur le bouton suivant ;
 Dans la fenêtre suivante, cliquez sur une date dans le calendrier ;
 Sélectionnez le point de restauration dans le cadre de droite ;
 Une mise en garde s’affiche/Fermez tout ce qui était ouvert/Suivant (Ne
touchez plus à rien si l’écran ne vous le demande pas).
 Pour créer un point de restauration
Si vous devez procéder à des modifications ou installer un nouveau
matériel, créez votre propre point de restauration. Pour cela, il faut :
 Cliquez sur l’option « créer un point de restauration »/Suivant ;
 Dans la fenêtre qui apparait, tapez une courte description de ce point de
restauration ;
 Cliquez sur le bouton « suivant »/ « créer» (l’enregistrement système
s’effectue et le point de restauration est crée.
 Pour annuler une restauration
Pour annuler la restauration à laquelle vous venez de procéder, il
faut :
 Cliquez sur l’option « annuler ma dernière restauration »/ « suivant» ;
 La fenêtre d’alerte réapparait/Ok/Fermez tous les programmes/Suivant.

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
34

f) Perte du mot de passe d’un compte


 Démarrez dans un compte Administrateur ;
 Démarrer/Exécuter/Commande « control userpasswords2 »/Ok ;
 Sélectionner le compte voulu ;
 Cliquez sur le bouton « réinitialiser le mot de passe »
NB : On ne demande pas l’ancien mot de passe. Dans cette fenêtre on peut
ajouter ou supprimer un compte.
g) Ajouter la mémoire virtuelle (SP2)
Par mémoire virtuelle, on entend une zone de stockage temporaire
réservée se trouvant sur le disque dur. Elle intervient en supplément lorsque la
mémoire centrale est pleine et reçoit alors le trop-plein. Elle permet, ainsi d’exécuter
des programmes dont les besoins en mémoire excèdent la capacité de la mémoire
centrale physique disponible. On parle aussi de fichier d’échange pour désigner cette
mémoire virtuelle.
Pour gérer cette mémoire virtuelle (fichier d’échanger), on fait :
 Cliquez sur démarrer/panneau de configuration/performances et
maintenance ;
 Cliquez sur système/onglet Avancé ;
 Sous performances/paramètres ;
 Cliquez de nouveau sur l’onglet avancé ;
 Sous mémoire virtuelle/cliquez sur modifier ;
 Dans la liste lecteur/cliquez sur le lecteur contenant le fichier d’échange à
modifier, si vous disposez de plusieurs disques ;
 Sous taille du fichier d’échange pour le lecteur sélectionné, de préférence,
cochez la case Taille gérée par le système. Windows sait généralement ce
qu’il doit faire ;
 Sinon, cochez la case Taille personnalisée, tapez dans la zone taille initiale
(en Mo) ou taille maximal (en Mo)/définir ;
 Cliquez sur le bouton définir (Si vous cliquez simplement sur Ok, la
modification n’est pas prise en compte) ;
 Réinitialisez l’ordinateur.
NB : - pour supprimer un fichier d’échange (ce qui est à déconseiller dans la
majorité des cas), attribuez la valeur zéro à la taille initiale et à la taille
maximale.

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
35

- pour de meilleurs résultats, vous pourrez généralement spécifier une


taille initiale supérieure ou égale à la taille recommandée, figurant sous taille
totale du fichier d’échange pour tous les lecteurs. La taille recommandée
équivaut à 1,5 fois la mémoire vive de votre système.
- peut – on supprimer la mémoire virtuelle ?
Si vous installez beaucoup de mémoire centrale (par ex. 1GO, 2,3…), il semble
que la machine n’ait plus besoin d’utiliser de la mémoire virtuelle sur disque.
Le fonctionnement est alors bien plus rapide. Vous pouvez tenter de supprimer
la mémoire virtuelle. Il se peut, toutefois, que certains programmes (tel que
Photoshop), s’en plaignent ou refusent même de démarrer. En dépit de leur
gestion propre, ils ont besoin de cette mémoire. Dans ce cas, force est de la
rétablir, même si la machine ne l’exploite pas avec les autres applications.
h) Des quotas pour limiter l’occupation disque des utilisateurs
Microsoft a mis au point un service de quotas qui permet d’attribuer
aux utilisateurs un certain espace disque qu’ils gèrent à la guise, mais qu’ils ne
peuvent outrepasser. Ce système surveille l’utilisation d’un volume par utilisateur
individuel.
Pour afficher des valeurs de quota par défaut :
 Cliquez sur démarrer/poste de travail ;
 Clic droit sur le volume cible/propriétés/onglet quota ;
 Activez la case : « activer la gestion de quota» ;
 Cliquez sur l’option « limiter l’espace disque à… » ;
 Tapez des valeurs numériques dans les zones de texte/ok.
i) Accéder dans les registres de Windows
On l’appelle encore « base de registres » (en anglais registry) c’est
une base des données stockant la configuration d’un système MS-Windows. On peut
y accéder pour réaliser certaines opérations.

1°) comprendre l’arborescence du registre


Le registre est doté d’une structure arborescente qui se répartit en 5
branches :
 HKEY_CLASSES_ROOT : contient tous les types de fichiers ainsi que les
informations OLE pour toutes les applications qui s’y référent. (OLE : Object
Linking and Embedding. Technique mise au point par MS pour inclure dans un

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
36

document, des documents d’autres applications selon le principe client-


serveur).
 HKEY_CURRENT_USER : pointe les caractéristiques relatives à l’utilisateur
courant.
 HKEY_LOCAL_MACHINE : contient des informations relatives aux matériels
et logiciels que vous avez installés. Du faite que vous pouvez spécifier
plusieurs configurations matérielles, la configuration matérielle courante se
trouve dans HKEY_CURRENT_CONFIG.
 HKEY_USERS : contient certaines préférences (telles que les couleurs ou les
réglages du panneau de config.) pour chacun des utilisateurs de l’ordinateur.
Plusieurs utilisateurs pouvant travailler sur la même machine, l’utilisateur par
défaut est appelé « default user » ; les données relatives à l’utilisateur par
courant sont spécifiées dans HKEY_CURRENT_USER.
 HKEY_CURRENT_CONFIG : pointe la partie de HKEY_LOCAL_MACHINE
correspondant à la configuration matérielle courante.
La fenêtre du registre se compose donc de deux volets : celui de
gauche, le volet des dossiers, dessine la hiérarchie des clés, alors que celui de
droite, le volet des détails, montre les valeurs affectées à l’élément sélectionné à
gauche. Il existe plusieurs types de valeurs, utilisées en fonction du contexte :
 Binaire, soit Binary ; représentée par REG_BINARY ;
 Double mot, soit DWORD : REG-DWORD ;
 Chaine extensible, soit Expand_SZ : REG_EXPAND_SZ ;
 Chaine multiple, soit Multi_SZ : REG_MULTI_SZ ;
 Chaine de données à clé sélectionnée, soit SZ : REG_SZ.

2°) afficher le compte Administrateur


La fenêtre d’accueil de Windows XP liste par défaut les comptes que
vous avez crées sur une machine. Mais un seul n’apparait pas, il est crée lors de
l’installation de XP. Pour l’afficher on fait :
 Cliquez sur le bouton démarrer/exécuter ;
 Tapez REGEDIT/ok ;
 Naviguez vers :

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
37

HKEY_LOCAL_MACHINE/SOFTWARE/MICROSFT/WINDOWS
NT/CURRENT VERSION/WINLOGON/SPECIALACCOUNTS/USERLIST.
 Faites un clic droit dans le volet de droite/nouveau/valeur DWORD (la valeur
nouvelle s’affiche avec un nom temporaire)/tapez son nom
« Administrateur »/clic dehors ;
 Faites un clic droit sur « Administrateur »/modifier en hexadécimal ;
 Tapez la nouvelle valeur (sachant que : 0x00000001 : le compte
Administrateur est affiché et 0x00000000 : le compte Administrateur est
masqué) ;
 Fermez le registre
3°) le nom de l’utilisateur et celui de l’organisation peuvent être modifiés
 Démarrer/exécuter/regedit/ok ;
 Naviguez vers :
HKEY_LOCAL_MACHINE/SOFTWARE/MICROSFT/WINDOWS NT/CURRENT
VERSION (sélectionner)
 Dans la colonne de droite, repérez les lignes : Registrereowner pour le nom
de l’utilisateur et Registreredorganization pour le nom de l’organisation.
 Faites un clic droit dessus et choisissez « modifier » ;
 Tapez le nom de l’utilisateur et celui de l’organisation/ok/fermer le registre.
4°) cacher un compte
Pour supprimer l’affichage d’un compte dans la fenêtre d’accueil de
Windows XP, inspirez – vous simplement de l’astuce d’affichage du compte
Administrateur et affecter la valeur 0 (zéro) au compte à masquer.
Le compte doit d’abord être activé dans le registre, après l’avoir crée
normalement.
5°) chercher dans le registre
Pour procéder à des recherches dans le registre :
 Cliquez sur le menu Edition, puis sur rechercher ou Ctrl + F ;
 F3 pour la recherche suivante ;
La boîte de dialogue de recherche permet de spécifier le type de
données à trouver.
6°) supprimer la corbeille
Pour supprimer la corbeille du bureau de Windows, il faut :
 Ouvrez le registre et naviguez vers :

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
38

HKEY_LOCAL_MACHINE/SOFTWARE/MICROSFT/WINDOWS/CURRENT
VERSION/EXPLORER/DESKTOP/NAMESPACE
 Trouvez la clé {645FF040-5081-101B-9F08-00AA002F954E} ;
 Faites un clic droit dessus et choisissez Renommer, puis ajoutez un signe
moins (-) devant ;
 Fermez le registre
Après réinitialisation, la corbeille aura disparu. Pour la réinstaller,
supprimez le signe moins (-).
7°) exporter la totalité du registre
Pour exporter la totalité du registre, à des fins de sauvegarde, par
exemple, appliquez la procédure suivante :
 Accédez à l’éditeur de registre ;
 Ne sélectionnez rien et cliquez sur le menu fichier, puis sur sa commande
exporter ;
 Décernez un nom évident au fichier et spécifiez son dossier ; l’extension .REG
sera automatiquement affectée à la sauvegarde ;
 Sous étendue de l’exploration, en bas de la fenêtre d’exportation, cochez la
case « Tout », puis cliquez sur le bouton enregistrer.
(On peut importer à partir du menu fichier.)
8°) restaurer le registre depuis son exportation
Vous pouvez restaurer le registre ou une branche en important le fichier exporté.
Deux méthodes sont possibles :
 La première
 Ouvrez l’explorateur Windows et affichez le fichier de sauvegarde ;
 Double – cliquez dessus ;
 Confirmez que vous voulez restaurer ce fichier.
 La deuxième
 Ouvrez le registre ;
 Cliquez sur le menu fichier, puis sur la commande importer ;
 Sélectionner le fichier sauvegardé et cliquez sur le bouton ouvrir.
9°) afficher toutes les icônes dans le panneau de configuration
Il est fort possible que l’affichage de certaines icônes soit interdit (dans
le panneau de configuration) pour les afficher, on fait :
 Ouvrez le registre ;

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
39

 Naviguez vers : HKEY_CURRENT_USER/CONTROL PANEL/DON’T LOAD.


 Dans le volet de droite, vous trouverez toutes les icônes qui ne s’affichent pas
dans le panneau de configuration. Supprimez – les de cette liste.
Les modifications interviendront lors de la prochaine ouverture du
panneau de configuration.
10°) interdire l’édition du registre
Entre des mains inexpertes, l’édition du registre est particulièrement
dangereuse. La sécurité commande de l’interdire. Pour cela, il faut :
 Cliquez sur le bouton démarrer/exécuter ;
 Tapez « gpedit.msc » et cliquez sur ok ;
 Dans le volet gauche de la fenêtre qui s’affiche, ouvrez les dossiers
« configuration utilisateur », puis « modèles d’administration » et sélectionnez
« système » ;
 Double – cliquez sur « empêcher l’accès aux outils de modification du
registre » ;
 Dans la nouvelle boite de dialogue, cochez la case « activé » et cliquez sur ok.
Si un utilisateur tente d’accéder au registre, un message lui indiquera
que cette action est interdite par un paramètre.

2° Sous Windows Seven


Sous Windows Seven l’administration système se fait aisément grâce
au PowerShell.

 Introduction à PowerShell
I. Généralités
Les Shells, ou interpréteurs de commandes, sont indispensables aux
systèmes d’exploitation, car ils permettent d’effectuer toutes sortes d’opérations,
comme le parcours du système de fichiers, l’exécution de commandes ou le
lancement d’applications.
Un shell est une interface qui permet aux utilisateurs d’interagir avec
le système d’exploitation. Un shell en ligne de commande ouvre de grandes
possibilités pour l’automation de simples tâches répétitives, il facilite donc
l’administration du système Windows.

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
40

II. PowerShell
Après avoir installé PowerShell, vous disposez de trois méthodes pour
y accéder.
Méthode1 : Menu Démarrer (A appliquer aux versions antérieures à Windows 7)
 Cliquez sur Démarrer > Tous les programmes > Windows PowerShell 1.0.
 Cliquez sur Windows PowerShell.
Ou faire carrément (et cela sur Wondows 7) :
 Cliquez sur Démarrer > Tous les programmes > Accessoires > Windows
PowerShell.
Méthode2 :
 Cliquez sur Démarrer > Exécuter.
 Saisissez PowerShell dans la boîte de dialogue Exécuter et cliquez sur OK.
Ces deux méthodes ouvrent la console PowerShell présentée à la
Figure ci - dessous

Méthode3
Les étapes de la troisième méthode répondent à une invite de
commande :
1. Cliquez sur Démarrer > Exécuter.
2. Saisissez cmd, puis cliquez sur OK pour ouvrir une invite de commande.
3. À l’invite de commande, saisissez powershell et appuyez sur Entrée.

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
41

III. L’interface de PowerShell


L’élément fondamental d’une commande PowerShell est son nom. Par
ailleurs, une commande peut être rendue plus spécifique en utilisant des paramètres
et leurs arguments.
Le format d’une commande PowerShell peut être :
[nom de commande]
[nom de commande] -[paramètre]
[nom de commande] -[paramètre] – [paramètre] [argument1]
[nom de commande] -[paramètre] – [paramètre] [argument1], [argument2]

Un paramètre est une variable acceptée par une commande, un script


ou une fonction. Un argument est une valeur affectée à un paramètre.
Ex. Soit une commande PowerShell qui affiche des informations
concernant un processus (soit le processus taskmgr.exe) :
get-process -name taskmgr.

Dans cet exemple, Get-Process est la commande, -Name est le


paramètre et taskmgr est l’argument. Cette commande affiche les informations
concernant le processus taskmgr.exe. Si aucun paramètre ni argument n’est utilisé,
elle affiche simplement les informations concernant tous les processus en cours et
non un seul.

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
42

IV. Types de commandes


Lorsqu’on exécute une commande dans PowerShell, l’interpréteur en
examine le nom afin de définir la tâche à effectuer. Ce processus détermine le type
de la commande et la manière de l’exécuter. Il existe quatre types de commandes.
1°) Applets de commande (cmdlet)
Les applets de commande sont toujours nommées en respectant le
format Verbe-Nom, où le verbe définit l’opération et le nom précise l’objet concerné
par l’opération.
Pour connaître les paramètres acceptés par une applet de commande,
nous pouvons consulter ses informations d’aide avec l’une des commandes
suivantes :
 Nom_cmdlet - ?
Exemple : dir -?
 Get-help nom_cmdlet
Example: get-help dir
En redirigeant la sortie de Get-Command vers l’applet de commande
Format-List, nous obtenons une liste plus concise de l’utilisation d’une applet de
commande. Exemple, pour afficher uniquement la définition de Get-Process on fait :
Get-command get-process | format-list definition.
Pour afficher la liste de tous les sujets d’aide (par conséquent des
cmdlets), on fait : get-help *. Mais pour avoir seulement la liste de toutes les applets
de commande dont le verbe commence par Get, on fait :
Get-help –name get-* -category cmdlet
Ayant la liste des commandes, on peut trouver de l’aide pour chacune
d’elles.
2°) Fonctions Shell
Une fonction Shell permet d’affecter un nom à une liste de
commandes (ou à une suite de commande : un batch). Les fonctions sont
comparables aux sous-routines et aux procédures dans d’autres langages de
programmation. Un script diffère d’une fonction dans le sens où qu’une nouvelle
instance du Shell est démarrée pour chaque script alors que les fonctions
s’exécutent dans l’instance courante du Shell, ensuite une fonction disparait après la
fermeture de la fenêtre Powershell, alors qu’un script est persistant.

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
43

Exemple : 1) d’abord définir la fonction : function ma-fonction {get-childitem | ft


mode,name} puis faire appel à la fonction.
2) function maman {get-process}.
3°) Scripts
Les scripts peuvent être exécutés dans une session PowerShell ou
par l’interpréteur de commandes de Windows. On appelle script un ensemble de
commandes enregistrées et qu’on peut appeler selon les besoins.
Les scripts PowerShell sont de simples fichiers texte enregistrés avec
l’extension .ps1. Nous pouvons utiliser n’importe quel éditeur de texte, comme Bloc-
notes, pour créer un fichier qui contient les commandes du script PowerShell.
Exemple :
- lançons le bloc – notes puis tapons la commande : « get-service | where-object
{$_.Status -eq "Stopped"}» qui affiche les services qui sont stoppés.
- après avoir enregistré le fichier avec l’extension .ps1, on l’appelle alors dans
Powershell.
4°) Commandes natives
Les commandes natives sont constituées des programmes externes
que le système d’exploitation peut exécuter. Puisque l’invocation d’une commande
native déclenche la création d’un nouveau processus, elles sont moins efficaces que
les autres types de commandes PowerShell. Elles possèdent également leurs
propres paramètres pour le traitement des commandes, qui sont généralement
différents des paramètres de PowerShell.
Exemple : supposons qu’il existe un fichier texte maman « maman.txt », la
commande « .\maman.txt » ouvre ce fichier en invoquant l’éditeur de ce fichier par
défaut.
On a le même résultat en invoquant explicitement une commande
native : « notepad c:\muchapa\maman.txt ». (la commande c’est notepad suivie du
chemin d’accès du fichier).

V. Stratégies d'exécution
Il existe quatre stratégies d'exécution des scripts Power Shell:
 Stratégie Restricted

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
44

Cette stratégie est utilisée par défaut. Elle est la plus sécurisée car
PowerShell ne peut alors fonctionner qu’en mode interactif. Autrement dit, aucun
script ne peut être lancé et seuls les fichiers de configuration signés numériquement
par un éditeur de confiance peuvent être exécutés ou chargés.

 Stratégie Allsigned
Cette stratégie est moins contraignante que Restricted. Lorsqu’elle
est activée, seuls les scripts et les fichiers de configuration signés numériquement
par un éditeur de confiance peuvent être exécutés ou chargés.
 Stratégie RemoteSigned
Cette stratégie est conçue de manière à empêcher l’exécution ou le
chargement automatique des scripts et des fichiers de configuration PowerShell
distants qui n’ont pas été signés numériquement par un éditeur de confiance. Les
scripts et les fichiers de configuration qui ont été créés localement peuvent être
chargés et exécutés, même s’ils n’ont pas été signés.
 Stratégie Unrestricted
Comme son nom le suggère, la stratégie d’exécution Unrestricted
retire pratiquement toutes les restrictions d’exécution des scripts ou de chargement
des fichiers de configuration. Tous les fichiers locaux ou signés peuvent être
exécutés ou chargés, mais, pour les fichiers distants, PowerShell vous demande de
choisir ce qu’il doit faire.
Questions d’échange (dans la salle de cours)

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
45

Chap.III: LE SYSTEME D’EXPLOITATION LINUX


III.1. Généralités sur Linux
Dans ce chapitre, il sera question de passer en revue le SE Linux.
Nous aurons à présenter : son évolution, son aspect technique et surtout son
administration.
a) Evolution

En 1985 un professeur hollandais, nommé Andrew Tannenbaum,


développa un système d'exploitation minimal, baptisé Minix, afin d'enseigner la
programmation système à ses étudiants. En 1991 un étudiant finlandais, Linus
Torvalds, décida de concevoir, sur le modèle Minix, un système d'exploitation
capable de fonctionner sur les architectures de type 386. Il baptisa ce système
d'exploitation "Linux" et posta le message suivant sur le groupe de discussion
comp.os.minix : ”Hello everybody out there using minix -I'm doing a (free) operating
system (just a hobby,won't be big and professional like gnu) for 386(486) AT clones”.
Linus Torvalds est à l'origine du système d’exploitation Linux
entièrement libre. Au début des années 90, il voulait mettre au point son propre
système d'exploitation pour son projet de fin d'étude. Linus Torvalds avait pour
intention de développer une version d'UNIX pouvant être utilisé sur une architecture
de type 80386. Le premier clone (copie) d'UNIX fonctionnant sur PC a été Minix, écrit
par Andrew Tannenbaum, un système d'exploitation minimal pouvant être utilisé sur
PC.

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
46

Linus Torvalds décida donc d'étendre les possibilités de Minix, en


créant ce qui allait devenir Linux. Amusées par cette initiative, de nombreuses
personnes ont contribué à aider Linus Torvalds à réaliser ce système, si bien qu'en
1991 une première version du système a vu le jour. C'est en mars 1992 qu'a été
diffusée la première version ne comportant quasiment aucun bug.
Avec le nombre croissant de développeurs travaillant sur ce système,
celui-ci a rapidement pu intégrer les développements libres des outils présents sous
les systèmes UNIX commerciaux. De nouveaux outils pour Linux apparaissent
désormais à une vitesse vertigineuse.
L'originalité de ce système réside dans le fait que Linux n'a pas été développé dans
un but commercial. En effet, aucune ligne de code n'a été copiée des systèmes UNIX
originaux (en effet Linux s'inspire de nombreuses versions d'UNIX commerciales :
BSD UNIX, System V.). Ainsi, tout le monde, depuis sa création, est libre de l'utiliser
mais aussi de l'améliorer.
Bien que Linux ait été initialement conçu pour fonctionner sur
plateforme PC, il a désormais été porté (c'est-à-dire adapté) vers de nombreuses
autres plateformes, telles que Macintosh, stations SPARC, stations DEC Alpha, et
même des plates formes telles que des assistants personnels (PDA), voire des
consoles de jeu vidéo !
b) Notions de Noyau et de distribution
Linux est architecturé autour d'un noyau (en anglais kernel) chargé de
prendre en charge le matériel. On appelle distribution l'assemblage d'un ensemble de
logiciels autour d'un noyau Linux afin de fournir un système clé en main. Le noyau
d'une distribution peut être mis à jour afin de permettre la prise en compte de
matériels récents, toutefois cette manipulation consistant à recompiler le noyau est
délicate car elle nécessite un certain niveau de connaissance du système et du
matériel.
La plupart des distributions proposent également une installation
graphique qui leur est propre ainsi qu'un système de gestion de paquetages
permettant d'installer automatiquement des logiciels en gérant les dépendances (les
logiciels sous Linux sont parfois liés à des librairies externes ou s'appuient sur
d'autres logiciels).
Chaque distribution possède ses avantages et ses inconvénients. En
effet, si certaines sont plus adaptées à des débutants et proposent des interfaces

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
47

graphiques évoluées, d'autres privilégient la sécurité ou l'évolutivité. Les distributions


les plus connues sont : RedHat, Debian, SuSe, Knoppix, Slackware, Mandriva,
Fedora, Ubuntu…
c) Caractéristiques du système
Linux est un système d’exploitation proche des systèmes Unix
pouvant être exécuté sur différentes plates-formes matérielles : x86 (c'est-à-dire des
plates-formes à base de processeurs Intel, AMD, etc.), Sparc, PowerPC, Alpha,
ARM, etc. Ainsi le système Linux peut fonctionner aussi bien sur des ordinateurs
personnels que des consoles de jeu ou des assistants personnels.
Linux est ainsi un système multi plate-forme. Il est également multi -
utilisateurs (plusieurs personnes peuvent en même temps travailler sur le même
ordinateur), mais aussi multi-tâches (plusieurs applications peuvent être lancées en
même temps sans qu'aucune n'affecte les autres) et multi - processeurs.
Linux est considéré comme un système fiable, robuste et puissant. Il
est d'ailleurs capable de fonctionner avec très peu de ressources sur des ordinateurs
bas de gamme très peu puissants.
Le système Linux possède notamment les avantages suivants :
• Le support des standards de l'Internet, c'est-à-dire des protocoles TCP/IP, la
famille de protocoles utilisée sur Internet. Linux est donc un moyen gratuit de
créer un réseau local, de se connecter à Internet et de mettre en place un
serveur.
• Une sécurité accrue due à la transparence de son code source et de la
réactivité de la communauté lors des annonces de vulnérabilités.
• Un cloisonnement des espaces mémoire et de l'espace disque couplé à une
gestion pointue des droits permettant de gérer un grand nombre d'utilisateurs
avec un niveau de risque minimal.
• Un noyau entièrement configurable en fonction du matériel de la machine sur
laquelle le système est installé afin de maximiser les performances.
• Il est protégé par une licence GPL (General public License : une licence GPL
protége les auteurs d’un logiciel. Elle empêche quiconque de s’en rendre
propriétaire, mais pas de l’utiliser, ni de le perfectionner).
d) L’interface de Linux
Linux est structuré sous l’arborescence suivante :
• XWINDOW (interface graphique)

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
48

• INTERPRETEUR DE COMMANDE (interface Shell)


• NOYAU
• MATERIEL
Alors, il est possible de démarrer son système sous l’un ou l’autre
mode. Pour quitter le mode Shell et aller en mode graphique, il faut exécuter la
commande : start x. Il existe deux grandes interfaces pour Linux : KDE (The K
Desktop Environment) et Gnome (GNU Network Objet Modal Environment).
Linux a trois applications principales : serveur, routeur et passerelle et
il utilise le système de fichier EXT2, EXT3 et EXT4 en plus de ceux de Windows qu’il
comprend également.
e) Installation
Linux n’est pas aussi simple à installer et à configurer que Windows,
voilà pourquoi il est conseillé de travailler au coté d’un expert si c’est la première fois.
Pour réaliser l’installation de Linux, trois étapes sont nécessaires à
savoir la collecte d’information, la préparation du disque dur et l’installation
proprement dite de Linux.
1°. Collection d’informations
Le processus d’installation de Linux est intimement lié à chaque
distribution. Si certaines distributions automatisent grandement cette étape, d’autres
proposent des questions plus au moins complexes sur les diverses cartes et
périphériques de l’ordinateur. Pour cela l’utilisateur doit au préalable préparer les
réponses aux questions en collectionnant les propriétés des différents périphériques
(disque dur, lecteur de cd-rom, clavier, souris, carte graphique, écran, carte son…).
2°. Préparation du disque dur
Pour pouvoir fonctionner, Linux nécessite au moins deux partitions :
une pour faire tourner le système et une autre utilisée comme zone tampon. Pour
arriver à créer deux nouvelles partitions sur le disque principal (où sera installé le
Linux), et ce, sans effacer les données et le système Windows déjà installé, le
programme Ms Dos fips.exe qui se trouve fatalement sur la distribution Linux que
vous projetez installer sera utilisé. Pour le cas de la distribution SUSE (SuSE 6.1), ce
programme se trouve dans le dossier dosutils/fips/fips20 et pour la distribution
RedHat (RedHat 6.0), il se trouve dans le dossier dosutils/fips20.

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
49

3°. Installation de Linux


La distribution RedHat est actuellement une des distributions la plus
plébiscitée étant donné que la procédure d'installation est assez simple. En effet,
cette procédure vous demande tout simplement de faire des choix parmi une liste
déroulante pour vos principaux périphériques ainsi que pour des choix liés à la
langue ou aux paquetages à installer. Les étapes de l'installation sont les suivantes:
• choix du langage: choisissez le langage dans lequel se fera la procédure
d'installation
• choix du clavier: pour un clavier français comprenant des caractères
accentués, choisissez fr-latin1
• choix du support d'installation: si votre distribution Linux est sur CD,
choisissez CD-ROM, sinon (si vous l'avez téléchargé par exemple), choisissez
Hard drive choix du style d'installation: si il s'agit d'une mise à jour d'un
système précédent ou bien d'une installation à part entière.
f) Les distributions de Linux
Linux n’était pas du tout utilisé, alors on a entouré chaque noyau
(différentes versions du noyau) Linux par des logiciels qui en font alors une
distribution. Ainsi, plusieurs distributions linux existes dont : RedHat, Debian, SuSe,
Knoppix, Slackware, Mandriva, Fedora, Ubuntu…
 Ubuntu
Ubuntu est une distribution de Linux, est un mot purement africain qui
n’a d’équivalant ni en anglais ni dans aucune langue occidentale. Il exprime que
toute aide apportée à autrui rejaillit nécessairement de façon bénéfique sur tous. Il dit
aussi que : « Je suis ce que je suis, parce que nous sommes qui nous sommes ».
C’est l’exacte description du cercle vertueux de l’open source.
Cette distribution n’est pas un bloc monolithique (homogène). Il s’agit
en fait d’un assemblage relativement hétéroclite (hétérogène) de logiciels issus de
différents horizons ayant la particularité d’être des logiciels libres.
Mais la valeur d’Ubuntu est bien plus que la somme de chacun de ses
composants.
Ubuntu est une distribution libre comme toutes les autres distributions
Linux. Un logiciel libre n’est pas nécessairement gratuit, car rien n’interdit à un
commerçant de vendre un logiciel, du moment qu’il concède les 4 libertés
fondamentales à son client : le droit d’utiliser le programme sans restriction et ce,

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
50

pour n’importe quel usage (y compris commercial), le droit de redistribuer le


programme, le droit d’étudier le programme c- à- d d’avoir accès à son code source
et le droit de modifier le programme.
En 2002, le milliardaire sud – africain Mark SHUTTLEWORTH décide,
alors de financer et de participer lui-même au développement d’un système
d’exploitation « par des humains, pour des humains » Ce projet sera basé sur la
distribution Debian, un SE libre développé par plusieurs centaines de bénévoles à
travers le monde et reposant lui – même sur le projet GNU et sur le noyau Linux. Fin
des années 1990 Mark fit partie du projet Debian comme développeur. Il en connaît
donc les ficelles et la grande qualité technique. Cependant Debian reste trop
complexe. L’installer et en comprendre les rouages requiert une grande
connaissance technique, c’est là que réside le défi : créer un système d’une grande
qualité et d’une grande stabilité accessible à tous : Ubuntu.
Le projet Ubuntu est actuellement financé et maintenu par la fondation
Ubuntu, créée par Mark et dotée d’une mise initiale de 10 Millions de dollars. Ubuntu
suit un cycle de développement très strict : une nouvelle version tous les six mois.

III.2. Manipulation de Linux


Après son installation Linux (Ubuntu) peut être utilisé en deux modes
à savoir le mode graphique et le mode ligne des commandes (Shell).
1°. Le mode graphique
Ce mode ressemble à Windows c’est – à – dire avec des fenêtres où
on clique sur des croix pour les fermer.
Il y a plusieurs modes graphiques, tous sont basés sur un programme
appelé X. Par-dessus X vient se greffer un programme appelé « gestionnaire de
bureau». Le rôle du gestionnaire de bureau est de gérer les fenêtres, leur apparence,
leurs options, etc.
Ubuntu est déclinée en plusieurs versions, chacune basée sur un
gestionnaire de bureau différent. Ainsi, nous avons :
 Ubuntu avec comme gestionnaire de bureau Gnome ;
 Kubuntu avec comme gestionnaire de bureau KDE ;
 Xubuntu avec comme gestionnaire de bureau XFCE.
Pour ce qui nous concerne, nous allons examiner le bureau Ubuntu
(Gnome).

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
51

a) Les options
La fenêtre de login propose quelques options via le menu « options »
en bas gauche (version antérieure au 11.04) : sélectionner une langue, pour changer
la langue qui sera utilisée par la suite ; sélectionner une session, pour choisir le type
de gestionnaire de bureau à charger.
b) Présentation du bureau Gnome
Une fois loggé, le bureau Gnome se présente comme suit :
– Le tableau de bord du haut : c’est la barre en haut, c’est là que l’on trouve
l’accès à toutes les applications. On distingue trois menus principaux :
Applications : tous les programmes installés apparaissent dans ce menu, ce menu
est organisé en catégories. Un bon nombre d’applications sont préinstallées.
Raccourcis : ces raccourcis permettent d’accéder aux différents endroits du disque
dur, lecteur cd, au dossier réseau, etc.
Système : c’est l’équivalent du panneau de configuration de Windows.
NB : A droite de ces menus, on trouve une barre de raccourcis qui permet de lancer
plus rapidement des programmes. Pour en ajouter un, on fait un clic droit sur une
zone vide du tableau de bord puis on prend l’option « ajouter » au tableau de bord.
– Le tableau de bord du bas : il propose
Une icône pour revenir au bureau en un clic à l’extrême gauche ;
La liste des fenêtres ouvertes à la manière de la barre des tâches de Windows au
centre ;
La corbeille et les icones pour changer des bureaux virtuels à l’extrême droit.
– L’explorateur des fichiers (Noutilus) : Il permet de parcourir les dossiers et les
fichiers du disque dur et de les ouvrir. Pour l’ouvrir on fait : menu raccourcis
puis poste de travail.
– Ajouter / Supprimer des programmes : cette opération est simple et intuitive,
on fait : Applications puis Ajouter et Supprimer. Après l’exécution de cette
option, le programme fait la mise à jour de tous les programmes disponibles.
NB : Pour installer des programmes on fait : Système, Administration, Gestionnaire
de paquets synaptic.
2°. Le mode console (Shell)
a) Accès
 Pour accéder à la console on fait : Ctrl + Alt + Fn avec n≤6 et Ctrl + Alt + F7
nous permet de quitter.

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
52

 Nous pouvons aussi accéder à la console graphique en faisant : Applications,


Accessoires, Terminal. Pour quitter on exécute la commande : Exit.
NB : une des grosses forces de la console, c’est d’être accessible à distance par
internet.
b) L’invite de commande
C’est cette ligne qui vous invite à taper les commandes, elle peut se
présenter comme suit : « muchapa@muchapa-laptop:~$ »
 muchapa : c’est le pseudonyme, le nom qu’on utilise pour se logger ;
 @ : c’est le symbole « at » qui signifie « chez » ;
 muchapa-laptop : c’est le nom de l’ordinateur sur lequel on travaille ;
 :: n’indique rien de spécial ;
 ~ : indique qu’il s’agit du dossier personnel ;
 $ : indique le niveau d’autorisation sur la machine (compte normal et # indique
le compte super – utilisateur ou root).
A l’invite de commande on tape la commande voulue
Exemples :
– date : qui affiche la date du jour et l’heure système ;
– ls : qui vient de « list » pour lister les dossiers et les fichiers. On peut ajouter
des paramètres à une commande comme
– ls –a : pour lister tous les fichiers et dossiers même ceux qui sont cachés.
Cette commande signifie « list all». Beaucoup des fichiers cachés sont des
fichiers de configuration des programmes.
c) Auto complétion de commande
C’est un mécanisme qui permet de retrouver une commande qu’on a
oublié. Il est question de taper les premiers caractères puis taper deux fois la touche
« Tabulation ». Ceci demande la liste de toutes les commandes disponibles sur
l’ordinateur. On ne peut pas espérer connaitre toutes les commandes, car plus on
installe des programmes plus on a des commandes utilisables.
Exemple : « da» puis taper deux fois sur tab.
Si la liste s’affiche page par page, on peut utiliser les raccourcis qui
suivent :
– « espace » pour passer à la page suivante ;
– « entrée » pour passer à la ligne suivante ;

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
53

– « q » pour arrêter la liste.


– Les touches fléchées (Haut et Bas) pour l’historique des commandes ou taper
la commande « history ».
– « Ctrl + R » permet de rechercher une commande en tapant quelques lettres
de la commande.
d) Quelques commandes
Avant de présenter quelques commandes, il est important de donner la structure des
répertoires et dossiers.
d1. Commandes générales
1°) pwd « Print Working Directory » afficher le dossier actuel ;
2°) which : pour connaître l'emplacement d'une commande Linux ;
3°) ls : lister les fichiers et dossiers c-à-d les visualiser ;
Cette commande fonctionne avec quelques paramètres dont :
 -a : afficher tous les fichiers et dossiers cachés ; -F : indique le type
d'élément ; -l : liste détaillée ; -h : afficher la taille en Ko, Mo, Go...
 -t : trier par date de dernière modification ;

4°) cd : changer de dossier, pour cette commande il faut ajouter le nom du dossier ;
Un chemin relatif est un chemin qui dépend du dossier dans lequel
nous nous trouvons, alors que les chemins absolus fonctionnent quel que soit le
dossier dans lequel on se trouve.

Exemple : étant dans le dossier personnel (~), si nous faisons : cd usr/games, on


nous dira qu’on ne reconnait pas ce dossier, car le chemin qu’on a utilisé est relatif.
Mais pour un chemin absolu, il commence toujours par / et dans ce cas quel que
soit la position que nous occupons ceci marchera donc : cd /usr/games.

Un chemin absolu est donc facile à reconnaître, car on part toujours


de la racine /. Un chemin relatif peut aussi s'avérer très pratique et plus court (ça
dépend des cas).

5°) Retour au répertoire home : plusieurs solutions s'offrent :


 il suffit d'écrire le chemin absolu en entier : cd /home/muchapa/
 on peut utiliser l'alias ~ qui signifie la même chose ce qui donne : cd ~
 on peut utiliser aussi cd sans paramètre.

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
54

6°) du : taille occupée par les dossiers, si le dossier a beaucoup de sous – dossier, on
va afficher chaque dossier avec sa taille et à la fin la taille totale. Si on ajoute le
paramètre :
 -h, on aura la taille exprimée en KB.
 -a affiche la taille des dossiers et des fichiers ;
 -s : affiche juste le grand total
d2. Manipulation de fichiers
1°) cat : pour afficher tout le fichier

Exemple : on tape la commande muchapa@muchapa-virtualbox:~$ cd /var/log


pour accéder dans le dossier log, qui contient plusieurs fichiers de log, c'est-à -dire
des fichiers qui gardent une trace de l'activité de l’ordinateur. Pour afficher le fichier
syslog, on fera : muchapa@muchapa-virtualbox: /var/log $ cat syslog

Si on ajoute le paramètre :
 -n (cat -n syslog) : qui permet d'afficher les numéros de ligne ;
2°) less : pour afficher le fichier page par page, on fait : less nom-du-fichier.
Exemple : less syslog
Il y a quelques commandes pour lire la suite: espace permet d’afficher
la suite du fichier, entrée : affiche la ligne suivante, d : affiche les 11 lignes
suivantes, b : retour en arrière d’un écran, y : retour en arrière d’une ligne, u : retour
en arrière de 11 lignes et q : arrête la lecture du fichier.

3°) head & tail : afficher le début et la fin d'un fichier


La commande head ("tête" en anglais) affiche seulement les
premières lignes du fichier. Elle ne permet pas de se déplacer dans le fichier comme
less. Le paramètre: -n, suivi d'un nombre permet d'afficher un nombre limité des
lignes. Exemple : head –n 3 syslog pour afficher les 3 premières lignes.
La commande tail renvoie la fin du fichier, donc les dernières lignes.
On peut là encore utiliser -n suivi d'un nombre pour afficher les X dernières lignes.
On fait Ctrl + C pour arrêter la commande tail.
4°) touch : pour créer un nouveau fichier (on fait : touch nom_du_fichier)

En fait, il n'existe aucune commande spécialement fa ite pour créer


un nouveau fichier vide sous Linux (ce n'est pas très utile). En général, on se

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
55

contente d'ouvrir un éditeur de texte et d'enregistrer, ce qui provoque la création


d'un nouveau fichier comme sous Windows.
La commande touch est à la base faite pour modifier la date de
dernière modification d'un fichier. D'où son nom : on "touche" le fichier pour faire
croire à l'ordinateur qu'on vient de le modifier alors qu'on n'a rien changé.
L'intérêt de touch pour nous dans ce chapitre, c'est que si le fichier n'existe pas, il
sera créé ! On peut donc aussi utiliser touch pour créer de nouveaux fichiers, même
s'il n'a pas vraiment été fait pour ça à la base. La commande attend un paramètre :
le nom du fichier à créer.
Exemple : touch joyce
5°) mkdir : créer un nouveau dossier (on fait : mkdir nom_du_dossier)

Exemple : mkdir Muchapa


6°) cp : copier un fichier
La commande cp (abréviation de "CoPy", "copier" en anglais) permet
comme son nom l'indique de copier un fichier... mais aussi de copier plusieurs
fichiers à la fois, et même de copier des dossiers ! On fait cp Fichier1 Fichier2. Le
premier paramètre est le nom du fichier à copier, le second est le nom de la copie
du fichier à créer.

Exemple : cp Joyce Joyce1


On va créer un nouveau fichier Joyce1 qui est la copie de Joyce.
On peut copier le fichier dans un autre dossier (ex. cp Joyce Muchapa)
dans cet exemple Joyce est fichier et Muchapa est dossier, les deux se trouvent
dans le dossier personnel.
On peut très bien utiliser le système de répertoires relatifs et absolus
qu'on a vu précédemment pour copier un fichier d’un répertoire vers un autre
répertoire.
7°) mv : déplacer un fichier
Très proche de cp, la commande mv (MoVe, "déplacer" en Anglais) a
en fait 2 utilités celle de déplacer un fichier et celle de renommer un fichier.
Exemple1 : mv Joyce Muchapa
Au lieu de copier le fichier Joyce dans le dossier Muchapa comme on
l'a fait avec cp, ici on a juste déplacé le fichier et donc il n'existe plus dans son
dossier d'origine.

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
56

Exemple2 : mv Joyce Joyce1


Dans cet exemple, le fichier Joyce sera renommé en fichier Joyce1.
8°) rm : supprimer un fichier
La commande rm (pour "ReMove", "supprimer" en Anglais) peut
supprimer un fichier, 2 fichiers, plusieurs fichiers, des dossiers, voire même
l’ordinateur entier.
Exemple1 : rm Joyce
Pour supprimer plusieurs fichiers, il faut les séparer par des espaces.
Exemple2 : rm -rf /*
Cette commande est la plus dangereuse, car elle supprime tous les
fichiers, même les fichiers racines. Elle est composée de : rm, commande la
suppression, -r : suppression récursive de tous les fichiers et dossiers, -f : force la
suppression sans demander la moindre confirmation, /* : supprime tous les fichiers
et dossiers qui se trouvent à la racine (/) quel que soit leur nom (joker *).
9°) ln : créer des liens entre fichiers
Ces "raccourcis", qu'on appelle des liens sous Linux sont un peu plus
complexes que ceux que nous utilisons habituellement sous Windows. En effet, on
peut créer 2 types de liens : des liens physiques et des liens symboliques.
Sous Linux sur le disque dur, chaque fichier est grosso-modo séparé
en 2 parties : son nom et son contenu. Ainsi on a: la liste des noms de fichiers est
stockée à un autre endroit que leur contenu. Cette séparation aide Linux à
s'organiser. Chaque contenu de fichier se voit attribuer un numéro d'identification
appelé inode. Chaque nom de fichier est donc associé à un inode (son contenu).

 Créer des liens physiques

Un lien physique permet d'avoir 2 noms de fichiers qui partagent


exactement le même contenu, c'est-à-dire le même inode.

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
57

Ainsi, que vous passiez par fichier1 ou par fichier2, vous modifiez
exactement le même contenu. En quelque sorte, le fichier es t le même. On peut
juste y accéder via 2 noms de fichiers différents. Pour créer un lien physique, nous
allons utiliser la commande ln.
Exemple: ln fichier1 fichier2
A priori, rien ne nous permet ici de deviner que ces fichiers modifient
le même contenu. Le lien physique est donc un lien dur, pas évident à détecter au
premier coup d'œil.

 Créer des liens symboliques


Les liens symboliques ressemblent plus aux "raccourcis" dont nous
avons l'habitude d’utiliser sous Windows. La plupart du temps, on crée des liens
symboliques sous Linux pour faire un raccourci, et non des liens physiques qui sont
un peu particuliers. Le principe du lien symbolique est que l'on crée un lien vers un
autre nom de fichier. Cette fois, on pointe vers le nom de fichier et non vers l'i-node
directement.

Pour créer un lien symbolique, on utilise la commande ln en ajoutant


le paramètre -s.

Exemple : ln –s Fichier1 Fichier2


Si on supprime fichier2, il ne se passe rien de mal. Par contre, si on supprime
fichier1, fichier2 pointera vers un fichier qui n'existe plus. Le lien symbolique sera
cassé et ne servira donc plus à rien. On parle de "lien mort". D'autre part,
l'avantage des liens symboliques est qu'ils fonctionnent aussi sur des répertoires,
contrairement aux liens physiques.

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
58

d3. Manipulation des utilisateurs


Ici il sera question d’étudier comment Linux peut gérer plusieurs
utilisateurs. On peut créer autant d'utilisateurs que l'on veut, eux-mêmes répartis
dans des groupes, mais il y a un utilisateur "spécial" appelé « root », aussi a ppelé
super-utilisateur il a tous les droits sur la machine. Schématiquement on a :

Lors de l’installation, 2 utilisateurs sont créés : root et muchapa par


exemple. On ne se connecte en root que très rarement, lorsque c'est nécessaire.
Certaines commandes de Linux ne sont accessibles qu'à root. Tout le reste du
temps, on utilise le compte "limité" qu'on a créé (muchapa dans mon cas). Cette
simple protection permet de largement limiter les dégâts en cas de fausse
manipulation, de virus sur votre PC, etc. En effet, un virus ne peut rien faire de plus
que vous quand vous êtes connecté avec des droits limités. En revanche, si vous
êtes en root il pourra tout faire, même détruire votre ordinateur.
Sous Windows, nous sommes toujours connecté en administrateur
par défaut (équivalent de root) ce qui explique pourquoi les virus y sont si
dangereux.
1°) sudo : devenir root un instant
Par défaut, on se connecte sous le compte limité (muchapa pour ma
part). Il est impossible sous Ubuntu de se connecter directement en root au
démarrage de l'ordinateur. On peut devenir root temporairement à l'aide de la
commande sudo. Cette commande signifie "Faire en tant que super-utilisateur" : S
uper User DO.
Exemple : sudo ls
2°) sudo su : devenir root et le rester
Quand on tape la comme sudo su, on devient root et on y reste. Pour
quitter on tape la commande exit ou on fait ctrl + d.
3°) adduser : ajouter un utilisateur

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
59

La commande adduser permet d'ajouter un utilisateur, il faut au


minimum fournir un paramètre : le nom de l'utilisateur à créer. Par exemple, pour
créer un compte pour pierre.
Exemple : sudo adduser pierre
4°) passwd : changer le mot de passe
Pour changer le mot de passe d’un compte il faut utiliser la
commande passwd en indiquant en paramètre le nom du compte à modifier.
Exemple : passwd pierre
Si vous appelez passwd sans préciser de compte en paramètre, c'est
le mot de passe de root qui sera changé.
5°) deluser : supprimer un compte
Si un compte n'est plus nécessaire pour le supprimer on utilise la
commande deluser en précisant en paramètre le nom du compte à supprimer.
Exemple : deluser pierre
NB : Surtout, il ne faut pas supprimer votre compte utilisateur. Par exemple, je ne
dois surtout pas supprimer le compte muchapa. En effet, si je le fais, il n'y aura plus
que root sur la machine... et Ubuntu interdit de se logger en root. Par conséquent,
au prochain démarrage de la machine vous ne pourrez pas vous connecter... et
vous serez complètement coincé.
Toutefois, cette commande seule ne supprime pas le répertoire
personnel de pierre. Si vous voulez supprimer aussi son home et tous ses fichiers
personnels, utilisez le paramètre : deluser --remove-home pierre.
adduser et deluser sont des commandes qui n'existent que dans
Debian et tous ses descendants, dont Ubuntu. Partout ailleurs, on doit utiliser
useradd et userdel qui sont les commandes Unix traditionnelles qui marchent
partout. Elles font en gros la même chose mais de manière beaucoup plus basique :
si vous n'appelez pas passwd vous-même le compte ne sera pas activé et n'aura
pas de mot de passe.
6°) addgroup : créer un groupe
Sous ubuntu il y a lieu de créer des groupes des utilisateurs et pour
cette fin on utilise la commande addgroup suivit du nom du groupe. Lors de sa
création, chaque compte constitue son propre groupe.
Exemple : addgroup amis
7°) usermod : modifier un utilisateur

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
60

La commande usermod permet d'éditer un utilisateur. Elle possède


plusieurs paramètres, on va en retenir 2 :
 -l : renomme l'utilisateur (le nom de son répertoire personnel ne sera pas
changé)
Exemple : usermod –l patrick pierre ; pour renommer pierre en patrick.
 -g : change de groupe.
Exemple : usermod –g amis pierre ; pour mettre pierre dans le groupe amis. Et pour
remettre pierre dans le groupe pierre comme il l'était avant : usermod -g pierre
pierre.
Il est aussi possible de faire en sorte qu'un utilisateur appartienne à
plusieurs groupes. Pour ce faire, utilisez le paramètre -G (majuscule).
Exemple : Séparez les noms des groupes par une virgule, sans espace entre
chaque nom de groupe.
Faites très attention en utilisant usermod ! Lorsque vous utilisez -G,
l'utilisateur change de groupe peu importe les groupes auxquels il appartenait
auparavant. Si vous voulez ajouter des groupes à un utilisateur (sans perdre les
groupes auxquels il appartenait auparavant), utilisez -a :
Exemple : usermod –aG amis joyce.
8°) delgroup : supprimer un groupe
Pour supprimer un groupe, on utilise la commande delgroup suivit
d’un paramètre qui est le nom du groupe.
Exemple : delgroup amis
NB : addgroup et delgroup n'existent pas ailleurs que sous Debian et ses dérivés
(même remarque que pour addus er et deluser). Les commandes "traditionnelles"
qui marchent partout sont groupadd et groupdel, mais elles offrent moins d'options.
D4. Editeur de texte : nano
1°) Pour démarrer nano, il suffit de taper la commande : nano. On peut utiliser en
paramètre le nom du fichier à ouvrir.
Exemple : nano salut pour ouvrir le fichier salut qu’on vient de créer. Si le fichier
n’existe pas il sera automatiquement créer par nano.
2°) locate : une recherche rapide
Son utilisation est intuitive, il suffit d'indiquer le nom du fichier que
vous voulez retrouver.
exemple : locate Joyce

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
61

Les résultats qui contiennent le mot "Joyce" dans leur nom. Que ce
soient des fichiers ou des dossiers, locate ne fait pas la différence. Elle donne la
liste complète des fichiers qu'elle a trouvés. Si le fichier vient d’être crée avec la
commande touch il ne sera pas visible directement pour cela la mise à jour est
importante.
3°) sudo updatedb : pour faire la mise à jour de la base des fichiers.
4°) grep : filtrer des données
La commande grep est essentielle. Son rôle est de rechercher un
mot dans un fichier et d'afficher les lignes dans lesquelles ce mot a été trouvé. Pour
l’utiliser on fait : grep texte nomfichier. Le premier paramètre est le texte à
rechercher, le second es t le nom du fichier dans lequel ce texte doit être recherché.
Exemple : étant dans le répertoire personnel rechercher le mot "alias" dans le
fichier de configuration .bashrc. On fait : grep alias .bashrc
D5. Installer des programmes avec apt-get et le RTFM
1°) Les dépendances
Il est très rare qu'un programme puisse fonctionner seul sous Linux.
Très souvent, il utilise d'autres programmes, ou d'autres "bouts de programmes"
appelés bibliothèques. On dit que les programmes dépendent d'autres programmes
pour fonctionner : ils ont des dépendances.
Par exemple, le programme de dessin The GIMP (équivalent de
Photoshop) ne peut pas fonctionner seul. Il dépend de bibliothèques de lecture des
images (qui lui disent comment lire une image JPEG) par exemple. Et parfois, ces
dépendances ont elles-mêmes des dépendances !
Comme vous pouvez le voir, l'installation d'un programme risque vite
de virer au cauchemar. Heureusement, le système de paquets Debian est
intelligent. Chaque paquet indique de quels autres paquets il dépend. Cela permet
au système d'aller récupérer les dépendances manquantes automatiquement si
besoin il y a. Du coup, vous n'avez plus qu'à dire "Je veux installer nano" par
exemple, et le système ira chercher toutes les dépendances manquantes tout seul !
2°) Les dépôts
Tous les paquets sont regroupés au sein d'un même endroit appelé
dépôt. Il s'agit d'un serveur qui propose tous les paquets qui existent (ou presque),
ce qui simplifie grandement les recherches.

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
62

Sous Windows, les programmes sont éparpillés aux 4 coins du net.


Sous Linux, on a décidé de ne pas refaire la même erreur. On a choisi de mettre
tout le monde d'accord et de placer tous les programmes (paquets) au même
endroit.
Cela est rendu possible en partie grâce au fait que les programmes
sous Linux sont pour la plupart libres. En effet, le programme étant "libre", tout le
monde est autorisé à le diffuser. Ca ne pose donc aucun problème de les voir tous
rassemblés au même endroit. Sous Windows, la majorité des programmes étant
propriétaires, leurs auteurs n'auraient jamais donné leur accord pour que ceux-ci
soient diffusés au même endroit (gratuitement en plus).
L'endroit où tous les paquets se trouvent est appelé dépôt (repository
en anglais). Schématiquement on a :

 paquet : c'est un programme "prêt à l'emploi", en quelque sorte l'équivalent


des programmes d'installation sous Windows ;
 dépendance : un paquet peut avoir besoin de plusieurs autres paquets pour
fonctionner, on dit qu'il a des dépendances ;
 dépôt : c'est le serveur sur lequel on va télécharger les paquets.
3°) Pour installer un paquet, nous devons suivre les étapes suivantes :
 apt-get update : pour mettre le cache (la liste des paquets) à jour si ce n'est
pas déjà fait ;
 apt-cache search monpaquet : pour rechercher le paquet que nous voulons
télécharger si nous ne connaissons pas son nom exact ;

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
63

 apt-get install monpaquet : pour télécharger et installer un paquet.


4°) apt-get autoremove : supprimer un paquet
Exemple : apt-get remove lbreakout2
Le paquet sera alors désinstallé de l’ordinateur Toutefois, cela ne
supprime pas les dépendances du paquet devenues inutiles. Pour demander à apt-
get de supprimer aussi les dépendances inutiles, on utilise autoremove.
Exemple : apt-get autoremove lbreakout2.
5°) apt-get upgrade : mettre à jour tous les paquets
Une autre fonctionnalité particulièrement géniale d'apt-get est sa cap
acité à mettre à jour tous les paquets installés d'un seul coup. Le programme ira
chercher les nouvelles versions de tous les programmes et les mettra à jour s'il y a
une nouvelle version disponible.
Exemple : apt-get upgrade
6°) man : afficher le manuel d'une commande
Elle prend en paramètre le nom de la commande dont on veut lire la
documentation.
Exemple : man mkdir
7°) Pour installer le manuel en français, on utilise la commande suivante :
apt-get install manpages-fr et pour supprimer le manuel en français on utilise la
commande : apt-get autoremove manpages-fr.
8°) apropos : trouver une commande
Cette commande est un peu l'inverse de man, car elle nous permet
de retrouver une commande. Il suffit de lui donner en paramètre un mot-clé, et elle
va le rechercher dans les descriptions de toutes les pages du manuel.
Exemple : apropos sound
Ce qui va rechercher toutes les commandes qui parlent de son (sound) dans leur
page de manuel.
D6. Les Flux de redirection
La manipulation la plus simple que nous allons voir va nous permettre
d'écrire le résultat d'une commande dans un fichier, au lieu de l'afficher bêtement
dans la console.
1°) > : Rediriger dans un nouveau fichier
Exemple: cut -d , -f 1 notes.csv > etudiants.txt

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
64

Cette commande permet de copier une partie du fichier notes.csv


dans le fichier etudiants.txt
2°) >> : rediriger à la fin d'un fichier
Le double chevron >> sert lui aussi à rediriger le résultat dans un
fichier, mais cette fois à la fin de ce fichier. Comme avantage, on ne risque pas
d'écraser le fichier s'il existe déjà. Si le fichier n'existe pas, il sera créé
automatiquement. Si le fichier etudiants.txt existe déjà on peut faire :
Exemple: cut -d , -f 1 notes.csv >> eleves.txt
Les noms seront ajoutés à la fin du fichier, sans écraser le résultat
précédent.
> : Redirige dans un fichier et l'écrase s'il existe déjà.
>> : Redirige à la fin d'un fichier et le crée s'il n'existe pas.
D7. Surveiller l'activité du système
Comme tous les OS actuels, Linux est un système multitâche : il est
capable de gérer plusieurs programmes tournant en même temps. Mieux encore,
Linux est un système multiutilisateur: plusieurs personnes peuvent utiliser la
même machine en même temps (en s'y connectant via internet).
Parfois, l'ordinateur peut se retrouver surchargé à cause d'un
programme. Qui a lancé ce programme ? Depuis quand ? Comment arrêter un
programme qui ne répond plus ?
1°) w : qui fait quoi ?
Après avoir tapé la commande on a les lignes suivantes :
22:39:29 up 8:50, 2 users, load average: 0,08, 0,34, 0,31
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
muchapa :0 - 19Apr08 ?xdm? 3:38m 1.18s /usr/bin/gnome-
muchapa pts/0 :0.0 16:49 0.00s 0.33s 0.03s w

 L'heure (aussi accessible via "date") ; affiche l’heure système: 22 :39 :29
(22h :39m 29s).
 L'uptime (aussi accessible via "uptime") ; Dans notre exemple plus haut,
l'information d'uptime est la suivante : up 8:50 . C'est la durée de
fonctionnement de l'ordinateur.
 La charge (aussi accessible via "uptime" et "tload") ; En haut à droite de notre
exemple, nous avons la charge. Ce sont 3 valeurs décimales : load average:
0,08 ; 0,34 ; 0,31. La charge est un indice de l'activité de l'ordinateur. Il y a 3

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
65

valeurs : la première correspond à la charge moyenne depuis 1 minute (0,08),


la seconde à la charge moyenne depuis 5 minutes (0,34) et la dernière à la
charge moyenne depuis 15 minutes (0,31). Il s'agit du nombre moyen de
processus (programmes) qui sont en train de tourner et qui réclament
l'utilisation du processeur.
 La liste des connectés (aussi accessible via "who"). Enfin, le tableau qui nous
est donné par w est surtout intéressant sur un serveur (une machine
partagée par plusieurs utilisateurs). Il donne la liste des personnes
connectées sur la machine, ce qu'ils sont entrain de faire et depuis combien
de temps.
Il n'est pas nécessaire de décrire chacune des colonnes. Mais en
gros nous avons:
• USER : le nom de l'utilisateur (son login) ;
• TTY : le nom de la console dans laquelle se trouve l'utilisateur. Sous Linux il y
a en général 6 consoles (tty1 à tty6) et qu'en plus de ça on peut en ouvrir
une infinité grâce aux consoles graphiques (leur nom commence par pts en
général), comme le propose le programme "Terminal" sous Gnome ou
"Konsole" sous KDE.
• FROM : c'est l'adresse IP (ou le nom d'hôte) depuis laquelle il se connecte.
Ici comme je me suis connecté en local (sur ma propre machine, sans passer
par internet), il n'y a pas vraiment d'IP.
• LOGIN@ : l'heure à laquelle cet utilisateur s'est connecté.
• IDLE : depuis combien de temps cet utilisateur est inactif (depuis combien de
temps il n'a pas lancé de commande).
• WHAT : la commande qu'il est en train d'exécuter en ce moment. En général,
si vous voyez "bash" cela signifie qu'il a juste une invite de commandes
ouverte (il n'exécute donc pas de commande particulière).
Dans mon cas, on voit donc 2 utilisateurs (2 fois moi). Le premier
correspond à la session "graphique" : on le devine notamment grâce à la dernière
colonne WHAT qui indique que cet utilisateur est en train d'exécuter l'environnement
graphique gnome.
L'autre utilisateur est sur une console (ici une console "graphique"
lancée depuis gnome). Cet utilisateur est en train d'exécuter... la commande w ! En

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
66

effet, lorsque je lance w je me "vois" en train de l'exécuter dans la liste des


utilisateurs connectés, c'est parfaitement normal.

2°) ps & top : lister les processus


La commande w nous a permis de faire rapidement le point sur l'état
du système. Pour faire simple, un processus est un programme qui tourne en
mémoire. La plupart des programmes ne font tourner qu'un processus en mémoire
(une seule version d'eux-mêmes). C'est le cas de Firefox par exemple. D'autres
lancent des copies d'eux-mêmes, c'est le cas du navigateur Google Chrome qui
crée autant de processus en mémoire que d'onglets ouverts.
Pour lister les processus qui tournent sous Windows, on utilise Ctrl +
Alt + Suppr et on va dans l'onglet "Processus". Sous Linux, on peut utiliser 2
commandes différentes : ps et top.
 ps : liste des processus statique
Cette commande permet d'obtenir la liste des processus qui tournent
au moment où vous lancez la commande. Cette liste n'est pas rafraîchie en temps
réel, contrairement à top.
Exemple : Essayons d'utiliser ps sans paramètres. On distingue 4 colonnes :
PID : c'est le numéro d'identification du processus. Chaque processus a un numéro
unique qui permet de l'identifier. Ce numéro nous sera utile plus tard lorsque nous
voudrons arrêter le processus.
TTY : c'est le nom de la console depuis laquelle a été lancé le processus.
TIME : la durée d'exécution du processus. Plus exactement, cela correspond à
combien de temps le processus a occupé le processeur depuis son lancement.
CMD : le programme qui a généré ce processus. Si le même programme revient
plusieurs fois, c'est que celui-ci s'est dupliqué en plusieurs processus.
Dans mon cas, on distingue 2 processus : bash (qui correspond à
l'invite de commandes qui gère les commandes) et ps que je viens de lancer.
On peut ajouter différents paramètres à cette commande :
 ps -ef : lister tous les processus ; ce paramètre permet d’afficher la liste de
tous les processus lancés par tous les utilisateurs sur toutes les consoles. la
colonne UID (User ID) indique le nom de l'utilisateur qui a lancé la
commande.

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information
67

 ps -ejH : afficher les processus en arbre ; cette option permet de regrouper


les processus dans une forme arborescente. Plusieurs processus sont des
"enfants" d'autres processus, cela permet de savoir qui est à l'origine de quel
processus.
 ps -u UTILISATEUR : lister les processus lancés par un utilisateur;
 top : liste des processus dynamique
La liste donnée par ps a un défaut : elle est statique (elle ne bouge
pas). Or, l’ordinateur, lui, est en perpétuel mouvement. De nombreux processus
apparaissent et disparaissent régulièrement. Cette liste est interactive et
régulièrement mise à jour.
3°) ctrl+c & kill : arrêter un processus
4°) halt & reboot : arrêter et redémarrer l'ordinateur

Questions d’échange (dans la salle de cours)

CONCLUSION GENERALE (sous forme de TD avec les étudiants)

C.T. MUCHAPA TUJENGE Pierre


Concepteur des systèmes d’information

Vous aimerez peut-être aussi