Cours de jc.bouriez page 1
DUT info 2eme année Système d’exploitation
Système d’exploitation
1) Généralités sur les OS
2) Rappels sur les interruptions
3) Processus et threads
4) Gestion de la mémoire
5) Les entrées / sorties E/S
6) Aperçu de la gestion de fichiers SGF
7) Problématique du parallélisme
1. Généralités sur les OS
1.1. Introduction
1.1.1. Présentation
- Un système d’exploitation (SE) ou Operating System (OS) c’est :
o un ensemble de programme
o qui se charge de tous les problèmes liés à l’exploitation de la machine
- Ayant pour objectifs
o de faciliter la tâche des utilisateurs de la machine
o d’optimiser l’utilisation des composants de la machine
1.1.2. Point de vue externe
Noyau = couche qui rend transparent au applicatif ce qu’il y a en dessous
Il s’agit :
- de masquer à l’utilisateur les problèmes de gestion interne des ressources
- de lui présenter une machine virtuelle plus simple à exploiter que la machine réelle
- et qui lui offre des services
1.1.3. Point de vue interne
Il s’agit
- de gérer au mieux les unités fonctionnelles qui composent la machine
- d’offrir un ensemble d’opération de bas niveau que les programmes applicatifs
peuvent invoquer
Applications
Bibliothèque
Utilitaires
Noyau (protection de la couche matériel)
Matériel
SE
Cours de jc.bouriez page 2
DUT info 2eme année Système d’exploitation
Trois unités fonctionnelles
- Processeur Traiter
- Mémoire centrale Mémoriser
- Entrée/Sortie Communiquer
Réaliser à l’aide de composants électroniques
Constitués eux-mêmes à partir de circuits logiques
- circuits séquentiels
- et circuits combinatoires
- construits d’après une technologie (ex HCMOS)
Architecture Von Neumann
schéma détaillé PC ; CPU ; mémoire
Phase de déroulement d’une instruction
- Fetch
- Decode
- Execute
- Store
Travail par un paradigme séquentiel
1.1.4. Architecture machine
L’architecture d’une machine représente l’organisation de ses unités fonctionnelles
On ne retient dans un premier temps qu’une architecture d’interconnexion classique dans
laquelle un processeur, une mémoire centrale et des dispositifs d’E/s sont reliés par un bus
L’OS doit donc optimiser l’utilisation des ressources et gérer les problèmes liés au partage
de ces ressources.
CPU
Mémoire centrale
Interface d’E/S
Cours de jc.bouriez page 3
DUT info 2eme année Système d’exploitation
1.1.5. Architecture technique
1.1.6. Vision d’un OS
Finalement la vision d’un OS dépend du niveau d’observation :
- pour l’utilisateur il s’agit d’un ensemble de fonctionnalités offertes soit grâce à un
langage de commandes, soit à travers une interface graphique.
- pour le développeur l’OS n’est qu’un ensemble d’appels système qui fournit des
services de bas niveau (ex API Win 32)
- et pour l’administrateur l’OS est un ensemble complexe de ressources à gérer et à
configurer (espace disque, comptes utilisateurs, droits et protections, etc…)
Quid du cours système ?
Le cours système en 2e année du département a pour objectif de présenter les grands principes
qui président au fonctionnement des OS modernes :
pas d’étude approfondie des mécanismes internes d’un système particulier
1.2. Définitions
1.2.1. Processus
Un processus est une suite d’instructions chargée totalement ou partiellement en mémoire
centrale, et constituant un ensemble logique en cours d’exécution ou susceptible de s’exécuter.
La notion de processus est dynamique : un processus naît lors du chargement d’un programme
et meurt à la fin de l’exécution du programme.
Un processus est donc caractérisé par un état à un instant donné.
1.2.2. Programme
Un programme est une entité composée de séquences d’instructions agissant sur un ensemble
de données.
C’est du code obtenu par compilation d’un fichier source suivie d’une phase d’édition des
liens.
La notion de programme est essentiellement statique car c’est un fichier stocké sur disque.
Des processus distincts peuvent exécuter un même programme (programme réentrant).
1.2.3. Thread
Un processus peut être parfois décomposé en unités d’activité distinctes appelées thread et
qui :
- s’exécutent de façon parallèle ou concurrente
Cours de jc.bouriez page 4
DUT info 2eme année Système d’exploitation
- partagent l’espace d’adresse du processus
Le processus représente donc pour ses threads une unité d’encapsulation des ressources
utilisées
Et le thread est un sous ensemble d’exécution du processus sur cet ensemble de ressources.
1.2.4. Tâche
Nous conviendrons que la tâche représente la plus petite unité sémantique d’exécution au
niveau macroscopique.
Donc suivant les systèmes :
- une tâche = un processus sur les systèmes multi-processus
- une tâche = un thread sur les système multi-thread
1.2.5. Topologie des systèmes
1.2.5.1.Système en monoprogrammation
Système dans lequel, une seul tâche est exécuté à la fois
Une tâche ne peut être exécutée que lorsque la précédante a été terminé
1.2.5.2.Système multi-tâches
Plusieurs tâches résident en mémoire centrale
Le système d’exploitation doit alors gérer l’attribution et le partage des ressources les
différentes tâches
pose les problèmes liés à la programmation concurrente
pose le problème de protection du code et des données
1.2.5.3.Système multi-threads
Supporte l’exécution d’un processus en unités indépendantes
Implémente au niveau du noyau la gestion des threads
L’ordonnancement se fait alors sur des threads et non plus des processus
Possibilité d’ordonnancer les threads sur plusieurs processeurs dans une architecture parallèle
1.2.5.4.Système mono-utilisateur
Système où un seul utilisateur dispose de toutes les ressources de la machine
Processus
T1
T2
T3
Cours de jc.bouriez page 5
DUT info 2eme année Système d’exploitation
1.2.5.5.Systèmes multi-utilisateurs
Système où plusieurs utilisateurs se partagent les ressources de la machine
le système est alors multi-tâches
1.2.5.6.Système temps réel
Système dans lequel il existe des interactions entre le système et des équipements (capteurs,
actionneurs, etc…)
Avec des contraintes de temps fortes d’origine matérielle entre l’occurrence d’un évènement
et la réponse appropriée du système à cet évènement.
1.2.6. Transactionnel et temps réel
Un système temps réel est un système déterministe par opposition au système transactionnel
de l’informatique de gestion.
Dans un système temps réel le temps de fin d’exécution d’une tâche est contraint
Dans un système transactionnel le temps d’exécution d’une tâche dépend de l’activité
du système et du temps de réponse de l’utilisateur.
Ceci impacte les stratégies d’ordonnancement des tâches suivant la nature du système
1.2.7. Modes d’utilisation
1.2.7.1.Mode différé
Il s’agit d’un traitement par lots (Batch Processing)
Un lot = ensemble de programmes préparés avec leurs données
Les lots sont placés en file d’attente et exécutés séquentiellement
Il n’y a pas d’intervention de l’utilisateur
On peut aussi exécuter dans ce mode des fichiers de commandes
1.2.7.2.Mode interactif
Dans ce mode toute action de l’utilisateur est traitée immédiatement par le système
On distingue de 2 types
Le time sharing : les utilisateurs ont accès simultanément à l’ensemble des ressources
et le système gère l’allocation cyclique des ressources
Le transactionnel : c’est le principal mode d’utilisation en info de gestion : il s’agit
d’application qui gèrent le dialogue homme machine suivant une logique liée aux
fonctionnalités attendues.
1.3. Les fonctions d’un OS
1.3.1. Le chargement
- Le système comprend généralement
o une partie toujours résidente en mémoire centrale et qui se nomme le noyau
(kernel) aux pages de la mémoire non swapper (protégé)
o une partie chargée dynamiquement à l’exécution de la fonction demandée
- Le chargement à la mise sous tension s’effectue grâce à un programme chargeur
simplifié appelé BOOTSTRAP
- Principe du chargement
o le chargeur est automatiquement appelé au démarrage de la machine
1 / 12 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !