Académique Documents
Professionnel Documents
Culture Documents
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.
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.
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’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.
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-
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,..
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.
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°)).
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)).
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 ;
1°. Microprocesseur
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
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.
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 :
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 ;
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.
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.
V. Stratégies d'exécution
Il existe quatre stratégies d'exécution des scripts Power Shell:
Stratégie Restricted
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)
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.
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.
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
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.
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.
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.
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