PDFprof.com Search Engine



Cours de Système d'Exploitation

PDF
Images
List Docs
:

Cours de Système d'Exploitation
Systèmes d'exploitation
SYSTEME D'INFORMATION & BASE DE DONNÉES
Initiation aux Systèmes d'information
Système d'Information
Introduction aux Systèmes d'Informations
Conception de Systèmes d'Information
Système d'Informations Cours et Td
Introduction aux Systèmes d'Information
3 GEODYNAMIQUE INTERNE
Géodynamiques interne et externe
Next PDF List

Cours de Système d"ExploitationMamadou M.

KantéUniversité Blaise Pascal - LIMOS, CNRSBibliographie: Tanenbaum, Cours de SE suivi en 2004 à UnivBordeaux 1, Cours de F.

Pellegrini (LaBRI) et autres.

1) Plan1Introduction2Appels Système3Système de Fichiers4Processus5Mémoire2Plan1Introduction2Appels Système3Système de Fichiers4Processus5Mémoire3IntroductionPourquoi SE ? voir Cours 14Rappel Objectifs Cours1Programmation Systèmes (appels systèmes).

2) Programmation noyau1Systèmes de fichiers2Processus3Noyau3Exemples de Systèmes: Linux et Windows5Principales Fonctionnalités d"un système1Proposer des services pour accéder au matériel: appelssystèmesread, open, fork, dup, etc.

2) Traiter les erreurs matérielles des processusdivision par zero, seg fault, etc. 3) Traiter les interruptions matérielleserreur de lecture disque, ecran, souris, clavier, etc. 4) Entretien global: accés au processeur, allocation de mémoire,etc.

6) Noyau?Machine virtuelle1Vue uniforme des E/S2Gestion de la mémoire et des processus, réseau3Système de fichiersGestionnaire de ressources1Fonctionnement des ressources (processeur, délais, )2Contrôle d"accés aux ressources (Allocation CPU, disque, mémoire,canal de communication réseau, )3Gestion des erreurs4Gestion des conflits7Problématiques1Comment interdire certaines instructions?2Accéder à toute la mémoire?3Dialoguer directement avec les périphériques?Mécanisme de mémoire virtuelle et 2 modes d"exécution: utilisateuret noyauMémoire virtuelle1Les adresses mémoire des programmes ne peuvent référencerles adresses physiques.

2) Les processus ont des espaces d"adressage virtuel3Lors du chargement les adresses virtuelles sont traduites enadresses physiques (changement de contexte)Un circuit Memory Management Unit fait la conversion àl"aide de registresUne table de conversion pour chaque processus8Problématiques1Comment interdire certaines instructions?2Accéder à toute la mémoire?3Dialoguer directement avec les périphériques?Mécanisme de mémoire virtuelle et 2 modes d"exécution: utilisateuret noyauMémoire virtuelle1Les adresses mémoire des programmes ne peuvent référencerles adresses physiques.

2) Les processus ont des espaces d"adressage virtuel3Lors du chargement les adresses virtuelles sont traduites enadresses physiques (changement de contexte)Un circuit Memory Management Unit fait la conversion àl"aide de registresUne table de conversion pour chaque processus8Modes d"ExécutionUtilisateur1Processus peut accéder uniquement à son espace d"adressageet à un sous-ensemble du jeu d"instructions.=)pas de corruption du système2L"accés à l"espace noyau est protégé et on y accède par uneinstruction protégée.Noyau1Accès à tous les espaces : noyau et utilisateurCode et données du SE accessible seulement en mode noyau:les segments mémoire sont inclus seulement lors du passage enmode mémoire.

2) Accés à toutes les instructions protégées (qui ne peuventexécutées qu"en mode noyau)Instructions de modification segments de mémoire: unprocessus ne peut pas modifier ses droits d"accés à la mémoire.Accés aux périphériques: E/S, réseaux, allocation mémoire,etc.

9) Modes d"exécutionMode noyau6=mode root1Mode noyau = gestion par le matériel via des interruptions(matérielle et logicielle)2Mode root = gestion logicielle (par le code du SE) et estsouvent en mode utilisateur.Mode noyau par le matériel1non connaissance lors de la compilation des segments demémoire où se trouvent les fonctions systèmes.

2) Raisons: maintenabilité et portabillité du SE10Passage en Mode Noyau sous Linux1Lors de l"initialisation on installe les codes des appels systèmesdans une tableInterrupt handler et à chaque fonction système on associe un numérointerrupt 2Dans le code de l"appel système on a une instruction depassage en mode noyau (sous Linux:int ) qui prend enarguments le numéro de la fonction système et les différentsarguments de la fonction.

3) Depuis le mode noyau1On appelle le gestionnaire d"exceptiontrap handler : sauvegardedu contexte et transfert des données vers espace noyau.

2) Ce dernier à son tour appelle la vraie fonction système(indexée par son numéro)3Après calcul, transmission valeur de retour au trap4transmission de la valeur de retour et des données et retour enmode utilisateur (encore instruction protégée) aprèsrestauration du contexte11Plan1Introduction2Appels Système3Système de Fichiers4Processus5Mémoire12Standard POSIX: Portable Operating System Interface1Est une interface de programmation système.Un ensemble de fonctions disponibles sur tous les SE *IX etpratiquement implémentées par tous.Un ensemble de types : time_t, size_t, dev_t, 2Beaucoup de fonctions libc sont deswrapp ers:ne font en faitque faire appel à la fonction système (ex: time, E/S, etc.)Stocker les arguments dans les bons registresInvoquer l"appel systèmeInterpréter la valeur de retour et si possible positionner lavariableerrno.13Gestion des erreurs1Une variable globaleerrnodans errno.h qui permet detransmettre les erreurs des fonctions systèmes aux codesutilisateurs2Un appel système qui réussit et alors le retour de la wrapperest un entier03Un appel système qui échoue et alors le retour de la wrapperest un entier<0et un positionnement de la variableerrno:numéro de l"erreurLes fonctionsstrerror(int)etperror(string)pouravoir/afficher le texte associé à l"erreur : perror("ouverture")affiche"ouverture:"+message associé àerrnoman 2 intro pour avoir la liste des valeurs possibles pourerrno14Quelques DéfinitionsUtilisateur.Quiconque autorisé à utiliser les services du SE.

Unutilisateur est identifié par un numérouid .

Les utilisateurs sont regroupésengroupesidentifiés aussi par un numérogid .Périphérique.Regroupe toutes les ressources physiques (disques,imprimantes, souris, ) et logicielles (machine virtuelle, système defenêtrage, ).Fichiers.Ce terme recouvre:1Fichiers ordinaires: vecteurs d"octets et permettant de stocker lesdonnées2Fichiers spéciaux FIFO: files d"octets ne pouvant être lus qu"une fois3Fichiers spéciaux type bloc et caractère: interface avec lespériphériques (pour les E/S).

Le type caractère dépend en généralde l"implémentation, et le type bloc on a un accés direct.

4) Répertoires: des références à d"autres fichiers.15Quelques DéfinitionsSystème de fichiers.Collection organi