Beruflich Dokumente
Kultur Dokumente
Planning
Mardi, 15/03 8:30 10:30 Cours
Mardi, 29/03
16:00 18:00
Cours
Mercredi, 20/04
8:30 12:30
TP/TD
Systmes d'exploitations
angl. Operating System (OS) Qu'est-ce que c'est?
Programme assurant la gestion de l'ordinateur et de ses priphriques [www.dicofr.com]
A quoi ca sert?
simplifier la vie des utilisateurs et des programmeurs grer les ressources de la machine d'une manire efficace
Abstraction
Cacher la complexit des machines pour l'utilisateur afin d'utiliser la machine sans savoir ce qui est derrire
machine relle = Unit centrale + priphriques machine abstraite = machine relle + systme d'exploitation machine utilisable = machine abstraite + application
Exigences de l'utilisateur
Faut que a marche ! (comme j'en ai envie ...) a imprime pas ... = Machine utilisable (machine tendu)
Exigences du programmeur
Simplifier l'accs aux ressources de la machine :
Mmoire, processeur, priphriques, fichiers, programmes, rseaux, communication interne Modle de programmation simple et unifi
Quelques dfinitions
Processus Traitement par lots Systmes Multi-tache Systmes Multi-utilisateurs Systmes Multi-processeurs Systmes temps rel Systmes distribus
Dfinitions: Processus
Df.:
p.ex. autoexec.bat
parallle vrai multi-tache doit assurer qu'il y a l'xecution d'autant de processus que processeurs en meme temps
donner l'impression chaque utilisateur qu'il est seul exige une gestion des droits
Dfinitions: Multi-utilisateurs
Login
Type:
doit garantir des temps de ractions donnes pour des signaux extrieur urgents
plusieurs systmes d'exploitations n'y arrivent pas car l'interruption de certaines activits met le systme dans un tat instable
Ingrdients
Gestion de la mmoire Gestion des fichiers Gestion des processus Gestion des priphriques (entres/sorties)
Quelques logiciels
Logiciels utilitaires (ls, pwd, format, ...) Logiciels d'application (Bloc-notes, ...) Logiciels de communication (Internet Explorer, ...)
Systmes d'exploitations
CP/M (depuis 1974), Digital Research UNIX (depuis 1969-1979), premier par AT&T MS-DOS (depuis 1981), Microsoft MacOS (depuis 1984), Apple Windows (depuis 1991), Microsoft Linux (depuis 1992), OpenSource
Systmes d'exploitations
CP/M (depuis 1974), Digital Research
Systmes d'exploitations
UNIX (depuis 1969-1979), AT&T
Protection mmoire : aucun programme ne peut faire planter le systme systmes de fichiers hirarchique GUI X-Windows
Systmes d'exploitations
MS-DOS (depuis 1981), Microsoft
Systmes d'exploitations
MacOS (depuis 1984), Apple
premier GUI
Windows 95
Windows 98
paralllement Windows NT
Systmes d'exploitations
Linux (depuis 1992), OpenSource
finlandais Linus Thorwald Licence GPL (General Public Licence) OpenSource Multi-tche et Multi-utilisateurs Distributions
Red Hat Fedore S.u.S.e Debian Mandrake..
Modle en couches
Application (Logiciel, p.ex. Microsoft Word) Gestion des fichiers Gestion des priphriques (entres/sorties) Gestion des processus Gestion de la mmoire Noyau du Systme dexploitation Pilote Pilote Pilote Matriel
Modle en couches
Application (Logiciel, p.ex. Microsoft Word) Gestion des fichiers Gestion des priphriques (entres/sorties) Gestion des processus Gestion de la mmoire Noyau du Systme dexploitation Pilote Pilote Pilote Matriel
Modle en couches
Application (Logiciel, p.ex. Microsoft Word) Gestion des fichiers Gestion des priphriques (entres/sorties) Gestion des processus Gestion de la mmoire Noyau du Systme dexploitation Pilote Pilote Pilote Matriel
1. 2. 3. 4.
Performances lies aux : seek time ; latency time ; transmission time. L encore loptimisation est gre par le systme dexploitation qui met en place des stratgies.
Enfin, est mis en place une stratgie (algorithme) de choix de la page dont dpend beaucoup la rapidit du systme.
Remarque 1 : Vient en combinaison dautres techniques de gestion de la mmoire. Remarque 2 : dautres stratgies ou combinaisons de stratgie ! existent
Modle en couches
Application (Logiciel, p.ex. Microsoft Word) Gestion des fichiers Gestion des priphriques (entres/sorties) Gestion des processus Gestion de la mmoire Noyau du Systme dexploitation Pilote Pilote Pilote Matriel
processus (1/5)
Cette partie sappuie sur le document "Ecrire des applications rseau sous Linux", 3ime partie, Alain Basty, Linux Magazine, octobre 1999" qui prsente un algorithme serveur (qui rend des services) pour grer des connexions simultanes. Cet article sert de fil conducteur pour la prsentation des notions fondamentales suivantes :
processus (2/5)
dfinition d'un processus (1960), table des processus. diffrentes classes de systme d'exploitation, introduction de la notion de logiciel libre (projet GNU). systme multitche, temps partag. communication : signal, pipe, socket o est le pre ? , o est le fils ? "threads" suppression d'un processus (suicide, assassinat) contrle de la communication
processus (3/5)
Les tats (simplifis) d'un processus
Waiting : le processus attend quelque chose pour pouvoir sexcuter Ready : le processus a tout pour sexcuter sauf le
processeur.
Running : le processus sexcute. Zombie : tat trs particulier, le processus est mort seul reste
son ID dans la table des processus en attente dtre lu
processus (4/5)
Notion de premption Dfinition : la premption est la mise en attente force dun processus.
Un processus spcial soccupe de faire tourner les processus qui sont en running : cest l'ordonnanceur ou scheduler en anglais. La gestion de la premption est appel lordonnancement ou le scheduling. Les critres de choix appliqu par le S.E. dterminent les performances du systme.
processus (5/5)
Notion de premption (suite) Il y a diffrent niveau dattente dun processus, cest dire diffrents tats possibles au sein de ltat waiting et de ltat ready. En effet, lorsque la mmoire est sature, le processeur transfre une zone mmoire sur le disque pour librer de la mmoire. Il choisit la zone mmoire dun processus qui ne fait rien. Lorsque le processeur devra excuter un bout du code de ce processus il devra recharger la zone mmoire stocke sur disque en mmoire centrale. Cette opration (dans un sens et dans lautre) sappelle le SWAP ! Do deux tats supplmentaires : waiting swapp et ready swapp .
Modle en couches
Application (Logiciel, p.ex. Microsoft Word) Gestion des fichiers Gestion des priphriques (entres/sorties) Gestion des processus Gestion de la mmoire Noyau du Systme dexploitation Pilote Pilote Pilote Matriel
entres-sorties
Les entres/sorties correspondent aux mcanismes quutilisent les processus pour communiquer avec lextrieur. Ces entres-sorties font largement appel aux couches les plus proches du matriel, et dont le systme tente de masquer les particularits aux utilisateurs.
Il y a 3 types dE/S : 1. lectroniques : mmoires 2. Magntiques : disques ou disquettes 3. Mcaniques : clavier, imprimantes
Modle en couches
Application (Logiciel, p.ex. Microsoft Word) Gestion des fichiers Gestion des processus Gestion des priphriques (entres/sorties) Gestion de la mmoire Noyau du Systme dexploitation Pilote Pilote Pilote Matriel
Systme de fichiers
Arborescence Nom des fichiers:
/home/jack/microarrays/estrogen
-rw-r----- 1 patrick lipsi 2340 Jun 11 17:45 guethary.jpg -rwxr-x--- 1 patrick lipsi 2340 Jun 11 17:45 PacMan.exe
Droits:
Types:
systme de fichiers
Le systme de fichier offre lutilisateur une vision homogne et structure des donnes et des ressources : disques, mmoires, priphriques. Le systme gre la cration des fichiers, leur destruction, leur correspondance avec les dispositifs physiques, ainsi quun certain nombre dautres caractristiques, telles que la protection . Il les organise enfin, en gnral, en une structure arborescente
conclusion (1/2)
Les systmes dexploitation modernes intgrent par ailleurs dautres caractristiques . linterconnexion des diffrentes machines et des diffrents systmes par des rseaux locaux ou tendus do des architectures informatiques fonds sur des clients et des serveurs (cf I2-SI) Multi-fentrage
conclusion (2/2)
Le systme dexploitation correspond linterface entre les applications et le matriel !
Le programmeur dapplications naborde que rarement sinon jamais son code interne. Il lutilise par lintermdiaire d appels systme , accessibles partir dun langage de programmation (lang. C). Ces appels permettent deffectuer la plupart des oprations sur les entits du systme dexploitation (cf. API (Application Programming Interface)). Un utilisateur peut lui aussi dans une certaine mesure . interprte de manipuler un systme dexploitation
Rfrences
1.
Computer Architecture, a first course, Van Nostrand Reinhold, ISBN 2 225 80929 1 Ecrire des applications rseau sous Linux, thme Systme et rseaux de Linux Magazine, octobre 99, par Alain Basty. man dUnix, notons ici que lorsque lon doit programmer les systmes dexploitation le man dUnix est la meilleure rfrence pour le programmeur. Il ny a rien dquivalent sur papier. J.M. Rifflet, La programmation sous Unix, 3e d., McGraw-Hill, 1993 est cependant une bonne rfrence et un ouvrage assez complet Charles Petzold, Programming Windows 95, Microsoft Press, 1996 est considr comme une bonne rfrence pour apprendre la programmation Windows. Elle a t la premire du genre.
2.
3.
4.
5.