This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Systemesd’exploitation :
Introduction
Presentation
Fonctions d’un OS
Gestion materiel
Abstraction
Virtualisation
Gerer l’imprevu
Architecture d’un OS
Noyau
Couches
Paradigme reseaux
Autres paradigmes
Postambule
Systemes d’exploitation :Introduction
Licence miage — Universite Lille 1Pour toutes remarques : [email protected]
On peut repartir les programmes en deux categories :
I les programmes d’applications qui accomplissent des tachessouhaitees par l’utilisateur (calculs scientifique, base dedonnees, bureautique, etc.)
I les programmes systemes qui permettent l’exploitation desressources de l’ordinateur (processeurs, memoire, terminaux,clavier, disques, coexistence de plusieurs applications, etc.)
I 1945 –1955 : Programmation en langage machine — Pas desysteme d’exploitation.1950, Invention du transistor.
I 1955 –1965 : Separation entre concepteurs, constructeurs,programmateurs et operateurs — Traitement par lots.1960, Circuits integres.
I 1965 -1980 : Interaction utilisateurs/systeme – Partage dutemps.1965, Loi de Moore : le nombre de transistors d’un circuitintegre double tous les 18 mois :-)
I 1980 –1990 : Ordinateurs personnels — Reseau.1995, Loi de Myhrvold : la taille des logiciels augmentejusqu’aux limites imposees par la loi de Moore :-(
Que nous reserve ce debut de siecle ? Convergence, mobilite,repartition, etc.
Il n’est pas inutile de s’attarder sur les definitions de trois mots quiseront systematiquement utilises par la suite :
I Systeme : compose de parties coordonnees entre elles.gr. sustema ensemble (le verbe systeo signifiant attacherensemble).
I Abstraction : operation par laquelle, dans un objet, on isoleun caractere pour ne considerer que ce caractere.la. abs separation trahere tirer.
I Virtuel : qui est seulement en puissance et sans effet actuel.Se dit des elements d’un systeme informatique considerescomme ayant des proprietes differentes de leurscaracteristiques physiquesla. virtus vertu.
Plusieurs principes de fonctionnement des os (OperatingSystems) :
⇒ traitement par lots, multiprogrammation, temps partage,parallele, temps reel, distribue, transactionnel, etc.
Un os realise principalement 4 types de taches :
1. gestion des fichiers (implantation, organisation etdesignation) ;
2. gestion de la memoire (idem) ;
3. gestion des processus (gestion, creation, cooperation) ;
4. gestion des peripheriques d’entrees-sorties et du materiel.
De tres nombreux os sont disponibles :
Linux, Macos x, Unix, Windows, Windows nt, Vista, etc.
La plupart sont independants de l’architecture materiel. D’autresne fonctionnent que sur un type de machine (vms sur vax(architecture 64 bits de Compac-Digital), os temps reel, etc).
Presenter une abstraction de la machineLes ordinateurs peuvent stocker une informations sur plusieurstypes de supports : disques (durs, souples, optiques), bandesmagnetiques, memoire flash, etc.
L’os fait abstraction des proprietes des supports physiques endefinissant une unite de stockage logique : le fichier.
Il etablit la correspondance peripheriques physiques – fichiers.
Abstraction par programmation en couche
syst. de fichier logique repertoire, fichier, etc.module d’org. de fichier traduit les adresse de bloc logique
en adresse de bloc physiquesyst. de fichier basique commande au controleur l’ecriture,
la lecture, etc.controle des E/S gere l’operation de transfert des octetsperipherique gestion de disque dur
L’os permet de manipuler simplement des objets complexes.
Complexite des fichiers : la taille maximum d’un fichier est 264
octets. Si on suppose ce fichier imprime en binaire et qu’un bitoccupe 1mm, l’impression occuperait la distance a Alpha duCentaure et retour.
Sous Linux, les peripheriques d’E/S sont accessibles par desfichiers.
prompt: tty
/dev/pts/0
prompt: echo foo > bar
prompt: cp bar /dev/pts/0
cp: overwrite ‘/dev/pts/0’? y
foo
prompt:
A partir d’une seule machine physique, l’os fournit une machinevirtuelle pour chaque utilisateur et — en partie — une machinevirtuelle pour chaque processus.
I L’os gere une — relativement — petite memoire physique enconjonction avec de l’espace disque de maniere a œuvrecomme si l’espace memoire etait bien plus vaste.Il cree ainsi une memoire virtuelle capable de grande capacite.
I Gestion locale : creation de processus, synchronisation etcommunication entre les processus (ls /dev | less),terminaison de processus.
I L’os assure la gestion des ressources entre plusieursprocessus ;
I Temps partage. La vitesse de frappe au clavier est bieninferieure a celle de fonctionnement d’un microprocesseur ⇒la plupart du temps, les programmes attendent un evenementexterieur.
Idee : Entrelacer l’execution des programmes :quand un programme est en attente l’os donne la main a unautre.
Probleme : repartir equitablement et efficacement lesressources.
Autres servicesSecurite : controle d’acces aux ressources.
I L’os assure une protection contre les erreurs etdisfonctionnements pour garantir l’integrite des donnees(detection des pannes, des appels memoires interdits) ;
I Il assure la protection du materiel contre des utilisations quipourrait l’endommager ;
I Il definit des droits d’acces pour chaques utilisateurs ;
I et peut meme etre concu pour authentifier l’utilisateur(Palladium dans longhorn, BitLocker dans Vista).
L’os peut collecter des statistiques d’utilisation des ressources :
I pour, a partir des parametres de performance, anticiper afind’ameliorer le fonctionnement ;
I plus pragmatiquement, pour permettre la facturation d’unservice dans un contexte multi-utilisateurs.
L’os peut fournir aux programmes utilisateurs une serie defonctions API (Application Programming Interface) codifieesPosIX (Portable Operating System Interface).
Architectures d’un osLe systeme d’exploitation est une collection de procedures,pouvant interagir a chaque moment. On peut les garder groupeesdans une structure monolithique mais . . .
Benefice Inconvenientrapide et compact difficilement gerable et modifiable
De plus, en programmation structuree on a l’organisation :
I programme principal qui appelle la procedure de servicerequise ;
I ensemble de procedures et de services qui executent lesappels ;
I procedures auxiliaires de gestion interne.
Enfin, pour la fiabilite, on utilise 2 modes de fonctionnement :
I mode noyau : toutes les instructions sont autorisees (meme lefatidique rm -fR /) et ont un acces direct au materiel.
I mode utilisateur : certaines instructions ne sont pas permises.Pour acceder au materiel, on doit faire un appel au noyau.
Une structure modulaire apparaıt naturellement a l’usage.V50 (02-01-2010) www.fil.univ-lille1.fr/˜sedoglav/OS/Cours01.pdf
Systemesd’exploitation :
Introduction
Presentation
Fonctions d’un OS
Gestion materiel
Abstraction
Virtualisation
Gerer l’imprevu
Architecture d’un OS
Noyau
Couches
Paradigme reseaux
Autres paradigmes
Postambule
Structure en couches
Une structure modulaire simple consiste a hierarchiser lesprocedures en plusieurs couches, chaque couche s’appuyant surcelle qui lui est immediatement inferieure
OperateurProgramme des utilisateursGestion des entrees-sorties
Communication operateur-processusGestion de la memoire et du disque
Allocation des processus et gestion du processeur
Chaque couche est utilisable sans connaıtre les couches inferieureset ne doit gerer que les communications entre ces deux voisines.
Structure en machine virtuelle :compatibilite intergenerationnelle
Exemple : Windows ntDes sous-systemes environnementaux emulent differents systemesd’exploitation (ms-dos, Windows 3.x, os/2) :
I Pour ce faire, il presente aux applications tous les appelssystemes de ces os (plus les appels PosIX).
I nt assure la compatibilite au niveau du code source maissans permettre les appels directs aux materiels (existant dansdos par exemple).
Sur un Pentium, on peut faire tourner un programme ms-doscompile sur un 8086 ; (a condition qu’il soit propre i.e. utilisationdes appels systeme gerant le materiel plutot que gestion directepar le programme utilisateur — que dos autorise ! ! !).
L’implantation effective des os actuels est un melange desstructures decrites jusqu’a present.Windows nt est un systeme client-serveur ayant un noyaumonolithique et presentant des machines virtuelles dos,Windows 3.x, etc.Parmi les sous systemes de nt, on peut citer :
I l’Object Manager qui sert d’intermediaire entre lesapplications utilisateurs et le materiel ;
I le Security Reference Monitor qui est invoque a chaque accesmateriel par l’om pour verifier si l’operation est permise ;
I l’I/O Manager qui fait la liaison entre l’om et les fameuxdrivers qui permettent de commander aux materiels.
Ces programmes tournent en mode noyau mais sont des serveurshors du noyau monolithique.
Petite taxinomie des OS : des technologiescommunes mais des politiques differentes
os proprietaire Open Source Software1960 compilateurs (groupes d’utilisateurs organises par les constructeurs)1965 Dos (IBM) MULTICS (Bell+GE+MIT)1967 os/360 (IBM)1969 unix (Bell lab)1970 paradigme GUI (Xerox PARC)1975 paradigme micro-ordinateur (ALSTAIR, plus tard IBM PC (1981))1976 CP/M (Digital research)1977 VMS (Digital research)1981 MS-Dos (Microsoft) developpement considerable1984 Mac os (Apple) de nouveaux concepts et de versions1985 os/2 (IBM + Microsoft)
Windows 1.0 (Microsoft)1990 Windows 3.0 (Microsoft)1991 Linux1993 Windows NT (Microsoft)1999 Mac os change de politique2007 Vista (Microsoft)
Pourquoi le cours ne se deroule-t-il pas sousun OS proprietaire ?
La politique de libre circulation des connaissances est unfondement de l’economie de leurs elaboration :
I politique : qui a rapport aux affaires publiques ;
I economie : bon ordre dans la conduite de tout etablissementqui s’alimente par la production et la consommation.
Pour se preserver, certains editeurs entravent ces echanges pourpromouvoir leurs produits ce qui a comme consequence uneaugmentation des couts pour la communaute (balkanisation desproduits, incompatibilite entre systemes).
Dans ce cadre, l’utilisateur n’a aucune possibilite d’agir sur lesproduits d’une societe (de plus, cette derniere specifie qu’elle nepeut etre tenue pour responsable de ses erreurs).
Le developpement de connaissance necessite la liberte de copie,d’utilisation et de modification.