Vous êtes sur la page 1sur 6

Systmes d'exploitation (Operating Systems) Introduction

Quest-ce quun SE ?
Ensemble de logiciels qui tournent en permanence sur un ordinateur et le contrlent partir de son dmarrage (boot) et tant que celui-ci est allum. Exemples : Unix : Cr en 1969, rapidement multi-utilisateur, crit en langage C. Linux : Clone gratuit dUNIX pour les PC, open source.

Mac OS : Premier proposer le concept des fentres, du glisser-dposer, la corbeille, le plugand-play; aujourdhui possde le noyau Linux, avec une interface graphique lgante et ergonomique, et optimisation particulire des traitement multimdia .

MS-DOS (Microsoft disque operating system) : SE des premiers PC,mono-utilisateur, monotche, interface ligne de commande. MS-Windows : Inspir par linterface Macintosh; tout dabord, une coquille graphique pour DOS. Seulement partir de Windows 95 nous commenons assister un transfert de nombreuses fonctionnalits de DOS vers Windows. Windows NT : Systme dexploitation indpendant de DOS. Techniquement nettement suprieur Windows.

Systmes dexploitation
Ordinateur: Sans le logiciel (software), machine sans utilit Deux types de logiciels: 1. Programmes systmes (system programs): gre le fonctionnement de lordinateur 2. Programmes dapplication: excute le travail demand par les utilisateurs Systmes dexploitation: programme systme fondamental Contrle toutes les ressources de lordinateur Base sur laquelle les programmes dapplication sont crits

Systme informatique

1. Matriel (hardware ) : Ressources informatique de base: CPU (UC: unit centrale), mmoire, dispositifs E/S 2. Systme dexploitation: Programme intermdiaire entre lutilisateur et le matriel 3. Programmes dapplication: utilise le matriel pour rsoudre les problmes informatiques des utilisateurs 4. Utilisateurs: Personnes, machines, autres ordinateurs 5. SE = Interface entre programme est matriel 6. Interface plusieurs niveaux dabstraction entre: 1. Le programme effectue des taches Processus 2. Les taches sont excuts par le matriel Ressources

Rles du SE
Le systme dexploitation joue deux rles : 1. dune machine virtuelle (abstraite) Le SE prsente au programmeur une interface daccs aux ressources de lordinateur (sous forme dappels systme). Ainsi le programmeur peut faire abstraction des dtails de fonctionnement des ressources. Cette interface est fonde sur des objets abstraits dont les plus importants sont les chiers et les processus. Par exemple, le programmeur voit un disque comme une collection de chiers qui peuvent tre lus, crits et ferms 1. dun administrateur de ressources Le SE gre lutilisation des ressources par diffrents utilisateurs et les ventuels conits.

Buts dun SE
1. Fournir un environnement o lutilisateur puisse excuter des programmes 2. Rendre le systme informatique pratique pour lutilisateur 3. Utiliser le matriel de faon efficace Denitions des systmes dexploitation Programme dallocation des ressources: grer et allouer des ressources Programme de contrle: contrler lexcution des programmes des utilisateur et lopration des dispositifs dentre/sortie Noyau (Kernel): le programme qui est excut tout le temps (tout les autres sont des programmes dapplication)

volution des SE
SE: dvelopp pour faciliter lutilisation du matriel Projet et utilisation des SE ont engendr des modications du matriel Vision historique des SE: les problmes des SE ont engendr des innovations du matriel Les SE ont une histoire ancienne qui commence au moment o ils ont commenc remplacer les oprateurs des ordinateurs jusqu aujourdhui avec des systmes multiprogrammation.

Tches dun systme dexploitation


Gestion de processus Gestion de la mmoire Gestion des chiers Gestion des E/S Les programmes utilisateurs peuvent accder ces diffrentes fonctionnalits laide des appels systme. Pour crer un systme aussi grand et complexe quun SE, il est ncessaire de le dcouper en pices plus petites Pour partager les ressources, comment les SE peuvent assurer quun programme qui fonctionne mal ne va pas causer des problmes lexcution dautres programmes? Avec une protection matrielle : le mode double. Le matriel permet 2 modes de fonctionnement: Mode moniteur ou superviseur ou systme ou priv (Monitor mode, supervisor mode, system mode): excution de la part du SE Instructions privilgies: instructions machine risquant de nuire. Les instructions privilgies sont excutes seulement en mode superviseur.

Mode utilisateur (User Mode): excution de la part de lutilisateur. Sil se produit une tentative dexcuter une instruction privilgie, le matriel ne la ralise pas mais traite linstruction comme illgale et bloque le SE.

Fonctionnement en mode double


Au moment dinitialiser le systme, le matriel dmarre en mode superviseur Ensuite le SE est charg et dmarre les processus utilisateurs en mode utilisateur Chaque fois quun droutement (trap) ou une interruption se produit, le matriel commute du mode utilisateur au mode superviseur Chaque fois que le SE prend le contrle de lordinateur, il est en mode Le systme commute toujours au mode utilisateur avant de donner la programme utilisateur Certaines instructions sont privilgies, comme les instructions E/S. Q: Comment un programme utilisateur peut donc excuter des E/S? R: En utilisant les appels systme superviseur main un

Appels systme
Un appel systme est une fonction fournie par le noyau (kernel) dun SE et utilise par les programmes sexcutant dans lespace utilisateur (en dautres termes, tous les programmes distincts du noyau). Le rle du noyau est de grer les ressources matrielles et de fournir aux programmes une interface uniforme pour laccs ces ressources. Quelques appels systmes classiques : open, read, write et close qui permettent les manipulations sur les systmes de chiers, alloc, free pour allouer et dsallouer de la mmoire. Sur la majorit des systmes dexploitations, les appels systme peuvent tre utiliss comme de simples fonctions crites en C. Sur la plupart des noyaux (notamment les noyaux monolithiques comme le Noyau Linux) les appels systmes sont implments par une instruction machine (interupt, supervisor call, ...) qui fait basculer le processeur dans le noyau en mode superviseur (en ayant convenablement pass les paramtres de lappel systme, par exemple dans les registres).

Vu du programme applicatif, un appel systme est atomique (il sest excut -ventuellement en erreur- ou pas).
Catgories : 1. Contrle de processus: charger, excuter, crer, terminer des processus, obtenir, signaler des vnements, librer de la mmoire, etc

2. Manipulation de chiers: crer, supprimer, ouvrir, fermer, lire, crire, repositionner, etc 3. Gestion de priphriques: demander, librer, obtenir, attacher, etc 4. Entretient dinformation: obtenir, dnir lheure ou la date, dnir les donnes du systmes 5. Communications: crer, supprimer des connexions de communication, envoyer, recevoir de messages, transfrer des informations sur les tats, etc

Concepts de base
Processus : Un processus est un programme en excution Programme: entit passive Processus: entit active (compteur dinstructions) Fichier: une unit de stockage logique, cest--dire, un ensemble dinformations en relation entre elles, qui est enregistr sur la mmoire auxiliaire (disque). Les processus utilisent la mmoire vive/cache/registres pour sauvegarder leurs codes et leurs donnes; mais ces types de mmoire sont volatiles. Le stockage dans un chier permet la prservation dune grande quantit dinformation de faon non volatile (rsiste la n dun processus) et rend cette information disponible plusieurs processus. Systme de chiers: Partie du SE responsable de la gestion de chiers. Le SE tablit une correspondance entre les chiers et les dispositifs physiques (non volatile). Le systme de chiers se prsente gnralement comme une structure arborescente de rpertoires (ou dossiers) dont lorigine est appele racine. Shell : Principale interface entre un utilisateur plac devant son terminal et le SE, sauf si lutilisateur a recours une interface graphique. Exemples de Shell : sh, csh, ksh, bash Quand un utilisateur se connecte un shell est lanc. Ce shell a pour entre standard le clavier du terminal et pour sortie standard son cran. Il commence par afcher un prompt qui indique lutilisateur que le shell est prt recevoir une commande. Exemple : $ date Mon Aug 20 17:25:58 CEST 2007 $ Le prompt est $. Lutilisateur tape date. Le shell cre un processus (enfant) qui excute le programme date. Pendant que le ls sexcute, le shell attend sa terminaison. Quand elle a lieu, le prompt rapparat et le shell attend de lire la commande suivante.

Linitialisation dun ordinateur

Comment un ordinateur commence fonctionner? Quand lordinateur est allum, le code trouv dans le premier secteur du disque de boot est lu dans la mmoire et excut. Dans une disquette, ce secteur contient le programme damorage (bootstrap program). Dans un disque dur, ce secteur contient un petit programme et une table de partitions (un disque dur est divis en partitions). Le programme est excut pour lire la table de partitions et slectionner la partition active. La partition active possde un programme damorage dans sont premier secteur qui est alors charg et excute (comme dans le cas de la disquette). Programme damorage (bootstrap program ): Initialise tous les aspects du systme (CPU, contrleurs de priphriques, mmoire) Sait comment charger/dmarrer le systme dexploitation Trouver et charger en mmoire le noyau (kernel) du SE SE excute le premier processus (init) et attend un vnement (interruption) Interruption : vnement qui modie le ux de commande dun programme Interruptions matrielles : Permettent la prise en compte dune requte de service systme (mmoire, contrleur de priphrique, clavier, lecteur, ...). tout moment le matriel peut activer une interruption. Interruptions logicielle : Active par lexcution dun appel systme (system call ou monitor call)

Traitement dinterruptions
Le programme en cours est arrt. Le systme dexploitation prserve ltat de la CPU (sauvegarde des registres et du compteur ordinal). SE dtermine le type dinterruption. Pour chaque type dinterruption une partie de code du SE dtermine laction qui doit tre prise. Ds que cette procdure est termine, le programme interrompu reprend son excution. Lors de la reprise, la machine doit se trouver exactement dans ltat o elle tait au moment de la prise en compte de linterruption. SE modernes: orient interruptions (interrupt driven)