[x]

OFPPT Maroc

Guide des formations professionnelles

Vous avez téléchargé 0 fois ce fichier durant les dernières 24 heures. La limite est fixée à 5 téléchargements.
Vous avez téléchargé 0 fichier(s) durant ces 24 dernières heures. La limite est fixée à 5 téléchargements.

Cours d’introduction au systeme d’exploitation i

Télécharger

Cours d’introduction au système d’exploitation i

SYSTEME D’EXPLOITATION I1. 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

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.

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

- 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

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

o pour cela il doit être stocké à une adresse disque convenu (exemple le MBR = Master Boot Record)

o ce petit programme une fois chargé et lancé a pour rôle de charger le noyau du système en mémoire centrale

o il est possible de changer de chargeur sur un système

1.3.2. La génération de système

- Il s’agit du paramétrage d’un certain nombre d’éléments gérés par le système comme

o la taille de la zone de swap (gestion de la mémoire virtuelle)

o la taille de la pagination (taille des bloques pour un processus donné)

o la taille des tampons utilisés pour les E/S

o les noms symboliques de périphériques

o les protocoles d’échange

o …

- Permet de configurer le système (sous unix nécessite de régénérer le noyau !)

1.3.3. Gestion de l’UC (unité centrale : processeur)

- La gestion de l’unité centrale par le système d’exploitation consiste à :

o planifier l’exécution des différentes tâches suivant une stratégie d’ordonnancement

o assurer un mécanisme de commutation entre les tâches

1.3.4. Gestion de la mémoire centrale

- Il s’agit essentiellement :

o d’allouer de l’espace mémoire aux tâches naissantes

o de charger les tâches à des adresses valides

o d’assurer une non violation de l’espace mémoire alloué de chaque tâche

o et de libérer l’espace mémoire des tâches terminées

1.3.5. Gestion des E/S

- Pour le système d’exploitation, traiter les E/S c’est desservir les demandes de transfert d’information en

o gérant des matériels divers (CPU, interface d’E/S, contrôleur de périphérique, DMA, périphérique)

o en s’appuyant sur la mise en mode noyau pour les opérations de bas niveau.

1.3.6. Autres fonctions

- La gestion des fichiers

o l’organisation des supports (logique et physique)

o les accès aux fichiers

o la protection et les droits d’accès aux fichiers

- La gestion des utilisateurs

o les comptes utilisateurs et leurs droits

o les sessions de travail

o le dialogue homme-machine

Les utilitaires de service

- Les outils d’administration

o configuration

o exploitation

- Les outils d’aide à la production de programme

Evaluation :
Total des Votes : 0
Soyez le premier à écrire un commentaire sur ce fichier!
Veuillez vous identifier ou vous enregistrer.