Syst¨mes d'exploitation

  • View
    114

  • Download
    6

Embed Size (px)

DESCRIPTION

Systèmes d'exploitation :•Chapitre 1: Introduction•Chapitre 2: Le système d’exploitation Linux•Chapitre 3: Gestion des processus•Chapitre 4: Gestion de la mémoire•Chapitre 5: Gestion de fichiers•Chapitre 6: Gestion des entrées/sorties•Chapitre 7: Interblocages

Text of Syst¨mes d'exploitation

Systmes dexploitation1re anne du cycle dingnieurs Ecole Nationale des Sciences Appliques de KenitraA. EL Bourichi 1

Contenu du premier lment Chapitre 1: Introduction Chapitre 2: Le systme dexploitation Linux Chapitre 3: Gestion des processus Chapitre 4: Gestion de la mmoire Chapitre 5: Gestion de fichiers Chapitre 6: Gestion des entres/sorties Chapitre 7: InterblocagesA. EL Bourichi 2

Chapitre 1

Introduction

A. EL Bourichi

3

Quest ce quun systme dexploitation?Un ordinateur moderne est compos de: Un ou plusieurs processeurs Une mmoire principale Disques durs Imprimantes Priphriques divers dentre/sortie

Un systme dexploitation est un logiciel qui permet de grer tous ces composantsA. EL Bourichi 4

Systme dexploitation Le systme d'exploitation (SE, en anglais Operating System ou OS) est un ensemble de programmes servant dinterface entre les ressources matrielles d'un ordinateur et les applications de l'utilisateur (traitement de texte, compilateurs, navigateurs web )

A. EL Bourichi

5

Quest ce quun systme dexploitation?

Figure 1-1. Place du systme dexploitationA. EL Bourichi 6

Le concept dabstraction

Figure 1-2. Un systme dexploitation donne une belle image une ralit complexe et hideuseA. EL Bourichi

7

Rles du SELe matre dorchestre: essentiel pour utiliser les ressources de la machine gestion de la mmoire centrale gestion des processeurs: diviser le temps de calcul entre plusieurs programmes qui sexcutent simultanment gestion des priphriques: E/S gestion des fichiers: sur les mmoires de masses gestion des ressources: attribution des ressources ncessaires gestion des utilisateurs: pas dinterfrence entre eux

A. EL Bourichi

8

Noyau (kernel)Le noyau assure ces fonctionnalits : gestion des priphriques (au moyen de pilotes) gestion des files d'excution (aussi nomme processus) : attribution de la mmoire chaque processus ordonnancement des processus (rpartition du temps d'excution sur le ou les processeurs) synchronisation et communication entre processus (services de synchronisation, d'change de messages, mise en commun de segments de mmoire, etc.)

gestion des fichiers (au moyen de systmes de fichiers) gestion des protocoles rseau (TCP/IP, .. etc.)

A. EL Bourichi

9

Noyau Au lancement: Boot: le programme qui initialise lordinateur Permet aux premiers services daccder aux applications systme : gestion de la mmoire, accs aux disques durs et accs aux priphriques

Mmoire centrale (vive): rpartition Partie rserve pour le systme Partie rserve pour les applications

Assure une indpendance entre les applications et le matrielA. EL Bourichi 10

Les bibliothques dynamiques = Libraries Regroupent les oprations souvent utilises, selon les fonctionnalits (E/S, fichier, ) Ces oprations sont disponibles pour tre appeles et excutes par dautres programmes

A. EL Bourichi

11

Le systme de fichiers Un systme de fichiers est une structure de donnes permettant de stocker les informations et de les organiser dans des fichiers sur des mmoires secondaires (disque dur, CD-ROM ) E.g. une structure hirarchique C:\ensa\ginfo\bourichi\SE\polycopie.pdf

Une telle gestion des fichiers permet de traiter, de conserver des quantits importantes de donnes ainsi que de les partager entre plusieurs programmes informatiques Il offre l'utilisateur une vue abstraite sur ces donnes et permet de les localiser partir d'un chemin d'accs

A. EL Bourichi

12

Interface utilisateur Via ligne de commande shell, MSDos

Interface graphique Xterm, Linux, Windows, Macintosh GUI (Graphical User Interface)

A. EL Bourichi

13

Shell Shell (coquille par opposition au noyau) = L'interprteur de commandes permettant la communication avec le SE par l'intermdiaire d'un langage de commandes Permet l'utilisateur de piloter les priphriques en ignorant tout des caractristiques du matriel qu'il utilise, de la gestion des adresses physiques, etc. E.g. sur Unix/Linux: bash, csh, tcsh, ls : lister les rpertoires et les fichiers du rpertoire courant mv x y : changer le nom du fichier/rpertoire x en y

A. EL Bourichi

14

Chapitre 2 Linterface utilisateur du systme Linux

A. EL Bourichi

15

Historique 1969: Ken Thompson (Bell labs / MIT). 1973: criture en C -> systme portable

1974-1977: Distribution aux universits Apparitions des UNIX propritaires AIX (IBM), HP-UX 1991 : Linus Torvalds (tudiant finlandais de 21 ans) crit LINUX (noyau dUNIX pour PC) bas sur Minix (dvelopp par Andrew Tanenbaum)A. EL Bourichi

Linux Proprits multi-tches multi-utilisateurs Libre et gratuit

Ouverture/Fermeture dune session Travailler sous Linux implique une connexion au systme Login: Identification de lutilisateur: login + mot-de-passe droits accords par le super-utilisateur (root)

Logout: commande logout dans la console

A. EL Bourichi

Rpertoire de connexion A chaque utilisateur connu du systme est associ un rpertoire de connexion (home directory). Le rpertoire de connexion contient aussi certains fichiers de configuration permettant l'utilisateur de personnaliser son environnement de travail. Ces fichiers sont normalement invisibles (car leur nom commence par un point, voir la commande ls). A tout moment, on peut revenir au rpertoire de connexion grce la commande cd.

A. EL Bourichi

Initiation au shell Le Shell = interprteur de commandes interface utilisateur de base (interlocuteur avec le syst.) interprtation ligne ligne plusieurs shells: sh, csh, tcsh, bash, ksh, zsh, ... langage de programmation

shell par dfaut : bash

A. EL Bourichi

Initiation au shell - commandes Format des commandes:commande [-option(s)] [argument(s)]

Respecter la casse et les espaces!!

A. EL Bourichi

Excution dune commande Lorsquil a la main, un utilisateur peut lancer lexcution dune commande en tapant son nom aprs le prompt. La commande est alors excute. Il existe une variable denvironnement: PATH qui contient lensemble des chemins des rpertoires contenant les commandes les plus utilises.

# echo $PATH/bin:/usr/ucb:/usr/bin:/usr/bin/X11:/net/bin:/net/X/bin:/net/pack/frame/ bin

Cette variable contient tous les chemins o le systme peut trouver les commandes les plus utilises par le demandeur.A. EL Bourichi

Initiation au shell - mta caractres Caractres spciaux:! ^ * ? [] \ ; L'astrisque ou toile: * interprt comme toute suite de caractres alphanumriques utiliser avec prcaution (commande rm par ex...)

Le point dinterrogation: ? remplace 1 seul caractre alphanumrique

A. EL Bourichi

Les commandes : file et cat file nom_de_fichier : il est possible sous Unix de connatre aussi le type de fichier sur lequel on travaille. Utilisation: file exo.c affiche toto.c: c program text

cat [-v] [fichier...] : affichage du contenu dun fichier Loption -v permet dafficher les caractres non visibles. La commande cat permet aussi de concatner des fichiers: cat fichier1 fichier2 > fichier3 cette opration permet de crer un fichier (fichier3) en concatnant les fichiers fichier1 et fichier2. Le seul inconvnient de cet outil est quil affiche le contenu du fichier dans sa totalit (sans possibilit simple de contrler le dfilement par pages).

A. EL Bourichi

Commandes dobservation du systme who [am i]: affiche le nom de lutilisateur, le nom du terminal, la date et lheure de connexion et lcran de contrle de chaque utilisateur actuellement sur le systme. id : affiche les numros et les noms de lutilisateur et des groupes de travail auxquels il appartient. groups [utilisateur] : affiche la liste des groupes de travail auxquels appartient un utilisateur X. Si aucun utilisateur nest spcifi ceux sont les groupes auxquels appartient lutilisateur qui a tap la commande qui saffichent. finger [utilisateur][@machine]: permet davoir des informations informelles sur les utilisateurs dune machine prcise. Si aucun utilisateur nest spcifi, les informations concernent tous les utilisateurs connects. Si aucun nom de machine nest renseign, les donnes portent sur la machine sur laquelle lutilisateur qui tape la commande est connect. last [-n] [utilisateur] [terminal]: permet dafficher les dernires connexions au systme. On peut limiter le nombre de lignes renvoyes grce loption -n (o n dsigne le nombre de lignes affiches). On peut se limiter aussi aux connexions dun utilisateur ou aux connexions depuis un terminal.

A. EL Bourichi

La commande ps On peut visualiser les processus qui tournent sur une machine avec la commande : ps (options), les options les plus intressantes sont -e (affichage de tous les processus) et -f (affichage dtaille). La signification des diffrentes colonnes est la suivante: UID nom de l'utilisateur qui a lanc le process PID correspond au numro du process PPID correspond au numro du process parent C au facteur de priorit : plus la valeur est grande, plus le processus est prioritaire STIME correspond l'heure de lancement du processus TTY correspond au nom du terminal TIME correspond la dure de traitement du processus COMMAND correspond au nom du processus.A. EL Bourichi

Les entres et les sorties Il y a trois sortes d'entres sorties ou flux de donnes : le premier est l'entre standard, c'est dire ce que vous saisissez au clavier, le deuxime est la sortie standard, c'est dire l'cran, plus prcisment le shell, et le troisime est la sortie standard des messages d'erreurs conscutifs une commande, qui est gnralement l'cran.

Chacun de ces flux de donnes est identifi par un numro descripteur, 0 pour l'entre standard, 1 pour la sortie standard et 2 pour la sortie s