• Aucun résultat trouvé

Mme Fatima-Zahra BELOUADHA Ecole Mohammadia d

N/A
N/A
Protected

Academic year: 2022

Partager "Mme Fatima-Zahra BELOUADHA Ecole Mohammadia d"

Copied!
130
0
0

Texte intégral

(1)

a-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

Introduction aux systèmes d ’ exploitation

Module systèmes dexploitation Cours de 28h, Deuxième année

Filière Génie Informatique

Ecole Mohammadia dIngénieurs

Mme Fatima-Zahra BELOUADHA

(2)

me Fatima-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

2

Plan

Introduction

Gestion de Processus

Système de gestion de fichiers

Gestion de la mémoire

(3)

a-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

Introduction

Système informatique

Fonctionnalités du SE

Historique

Classes des systèmes

Modes d'exécution et Appels systèmes

Interpréteur de commandes

(4)

me Fatima-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

4

Système informatique

Applications (Jeux, Word,…) Système d’exploitation

Matériel

Compilateur Editeur Interpréteur de commande

Programmes Système

(5)

a-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

Fonctionnalités du SE (1/3)

Offrir une machine virtuelle

Interface plus simple à utiliser que le matériel.

Exemple : Utilisation du contrôleur de disquettes

16 commandes : lecture, écriture dun secteur, déplacement de bras, formatage,…

Une Commande a plusieurs paramètres : nombre de secteurs, distance entre les secteurs, Numéro de secteur…

(6)

me Fatima-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

6

Fonctionnalités du SE (2/3)

Gérer la mémoire pour l'exécution des tâches

Gérer et conserver l'information

Assurer l'interaction et la communication entre programmes

Assurer la protection et gérer les erreurs…

(7)

a-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

Fonctionnalités du SE (3/3)

Gérer et contrôler les ressources partagées

Répartir les ressources entre les utilisateurs ou programmes demandeurs

Eviter les conflits daccès à ces ressources

Exemple : Partage dimprimante

Verrouiller laccès à limprimante lors d'impression

Gérer les tampons dimpression

Gérer la file dattente…

(8)

me Fatima-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

8

Historique

Premiers systèmes, Tubes à vide (1945−1955)

Systèmes de traitement par lot, transistors (1955−1965)

Systèmes multiprogrammés et à temps partagé, Circuits intégrés (1965−1980)

Systèmes des ordinateurs personnels, LSI (1980-1990)

Systèmes "micro-noyau", VLSI (1990…)

(9)

a-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

Premiers systèmes (1945−1955)

Machines à tubes à vide volumineuses, très fragiles et très lentes

Absence de système d’exploitation

Calculs simples (tables des sinus et cosinus)

Programmation en langage machine sur des cartes enfichables ou cartes perforées

Construction, programmation et maintenance effectuées par un seul groupe

Système mono-usager (réservation)

(10)

me Fatima-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

10

Systèmes de traitement par lots (1955−1965)

Machines à transistors fiables mais coûteuses

Programmation en Fortran et Assembleur

Premiers logiciels de base : chargeur et compilateur Fortran

Distinction entre opérateurs, constructeurs, programmeurs et utilisateurs

Soumission des travaux

Enchaînement des travaux par l'opérateur

Inactivité de la CPU lors de la préparation

 Traitement par lots

(11)

a-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

Traitement par lots (Batch)

+ieurs travaux sur bandes magnétiques sont exécutés consécutivement par l'ordinateur

Ordinateurs auxiliaires pour la lecture des cartes et l'impression (Opérations lentes)

1er SE : Moniteur pour l'enchaînement automatique des travaux

(12)

me Fatima-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

12

Traitement par lots

Premiers systèmes Moniteurs

FMS : Fortran Monitor System

IBSYS : IBM 7094

Données$END

$RUN Programme

$JOB(nom,organisme…)

$LOAD

$FORTRAN

Cartes d'un travail FMS

(13)

a-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

Traitement par lots : Inconvénients

Mono-programmation

CPU encore mal utilisée (attente des E/S)

Machines incompatibles et SE différents :

IBM 7094 : calcul scientifique (equ. diff…)

IBM 1401 : traitement commercial (tri, impression…)

 Coût de maintenance élevé

(14)

me Fatima-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

14

Systèmes multiprogrammés et à temps partagé (1965−1980)

Machines à circuits intégrés moins coûteuses et plus performantes

Famille d’ordinateurs compatibles et SE

unique (machines avec même architecture et jeu d’instructions : IBM 360, 370…)

E/S spoolées : Utilisation de la MS au lieu des bandes magnétiques

Apparition de la multiprogrammation

(15)

a-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

Multiprogrammation

Exécution d'une autre tâche si celle en cours attend une E/S

Partitionnement de la mémoire (plusieurs tâches à la fois en MC)

Ordonnancement des travaux

Systèmes non interactifs

 Systèmes à temps partagé

Travail1 Travail2

SE

(16)

me Fatima-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

16

Systèmes à temps partagé (time sharing)

Partage de l'UC entre plusieurs tâches par

quantum de temps  Traitement "simultané"

Plusieurs utilisateurs connectés en ligne sont servis à la fois de façon interactive

Systèmes d’exploitation complexes

CTSS

MULTICS (MULTiplexed Information and Computing Service) ancêtre d'Unix

Unix (le plus porté)

(17)

a-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

Systèmes des ordinateurs personnels (1980-1990)

Machines à circuits LSI (Large Scale Integration) : des transistors au cm2

Machines moins coûteuses

Ms-Dos, Windows, Mac OS, Linux…

Apparition des systèmes centralisés en réseaux

Apparition des systèmes distribués

(18)

me Fatima-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

18

SE en réseaux et SE répartis

SE en réseaux (Windows, Linux…)

Chaque machine a son propre SE

Connexion à des machines distantes, transferts de fichiers

Machine utilisée par plusieurs utilisateurs

SE répartis ou distribués

Système réparti sur un domaine

1 Machine virtuelle (à plusieurs processeurs)

Transparence à la localisation des ressources

Fiabilité et tolérance aux pannes

(19)

a-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

Systèmes "micro−noyau" (1990…)

Systèmes embarqués réalisés avec + ou - de modules (fonctions)

Adaptés aux ordinateurs portables et de poche

PDA : Personal Digital Assistant

PIC : Personal Intelligent Communicator

Palm OS, Windows CE…

(20)

me Fatima-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

20

Classes des systèmes

Selon les contraintes d'utilisation

Mono-utilisateur/mono-tâche (MS-DOS)

Un seul utilisateur/une seule tâche à la fois

Mono-utilisateur/multi-tâches(Windows XP)

Un seul utilisateur à la fois exécute plusieurs tâches simultanément

Multi−utilisateurs/multi-tâches (Unix)

Plusieurs utilisateurs à la fois exécutent chacun plusieurs tâches simultanément et partagent les mêmes ressources matérielles

(21)

a-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

Classes des systèmes

Selon les services

Systèmes temps réel

Utilisés dans des domaines spécifiques

(procédés, robotique, centrales nucléaires…)

Temps de réponse des tâches critiques court

Fiables et tolérants aux pannes

Systèmes transactionnels

Gestion des bases de données énormes (systèmes de réservation, systèmes bancaires…)

garantir des mises à jour sans incohérence

(22)

me Fatima-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

22

Classes des systèmes

Selon l'architecture matérielle

Systèmes mono-processeur

Multiprogrammés et à temps partagé (pseudo- parallélisme)

Systèmes parallèles : multiprocesseurs (SunOS 4, SunOS 5, Solaris 2 et Linux)

Traitement parallèle par plusieurs processeurs

Grande capacité de traitement, temps de réponse court et fiabilité

(23)

a-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

Modes d'exécution

Mode utilisateur : non protégé

Exécution des programmes des utilisateurs

Permet à l'utilisateur de modifier des données de son programme

Mode noyau : protégé et réservé au SE

Accès au code et données utilisées par le SE

Lecture et écriture sur les ports dE/S

Permet de protéger les données sensibles

(24)

me Fatima-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

24

Appels systèmes

Interface entre les programmes utilisateurs et le SE

(25)

a-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

Interpréteur de commandes

Utilitaire et non pas une partie du SE

Exemple : Shell sous Unix

Il tourne constamment dès la connexion

Dès qu'une commande (ls, cat, sort… sous Unix) est lancée, il fait un appel système à la fonction correspondante.

(26)

me Fatima-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

26

Chapitre 2 : Gestion de processus

Notions de processus

Gestion de processus

Gestion des interruptions

Appels système sous Unix

Ordonnancement de processus

(27)

a-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

Notions de processus

Processus=programme en cours d'exécution

Un processus est exécuté par un processeur

Plusieurs processus peuvent être associés à un programme

Chaque processus possède un espace de

travail en mémoire, son compteur ordinal et

(28)

me Fatima-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

28

Espace de travail d’un processus

Code Données

Pile

Instructions

Appels de fonctions + Variables locales

Variables globales +

Allocations dynamiques

(29)

a-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

Systèmes à temps partagé

Le processeur est commuté entre plusieurs processus

Un seul processus est exécuté à la fois

Tous les processus progressent (Pseudo parallélisme)

(30)

me Fatima-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

30

Etats d'un processus

Actif (élu)

s'il est en cours d'exécution par le processeur

Prêt

s'il est en attente du processeur pour s'exécuter

Bloqué

s'il est en attente d'un événement extérieur (lecture disque/clavier, données dun autre processus…)

(31)

a-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

Exemples sous Unix

who | wc -l

Le processus wc se bloque en attente des résultats du processus who

cc programme.c & cat lettre.txt

cc et cat sont 2 processus concurrents

Le processus cc reste prêt en attente de l'exécution du cat

(32)

me Fatima-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

32

Diagramme de transitions d'états d'un processus

4 2

3 1

Bloqué Prêt

Actif

(33)

a-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

Exemple de transitions d'états

Processus A Processus B Processus C

Exécution

Lecture du fichier Exécution

Données disponibles Exécution

Exécution Affichage à l'écran

Exécution

Ecriture fichier Exécution Exécution Données transférées Fin du processus Lecture du fichier Exécution

(34)

me Fatima-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

34

Exemples de processus

Une maman (Processeur) prépare une recette avec des ingrédients (processus).

Sa fille est piquée par une abeille (événement prioritaire)

La maman interrompt la préparation, marque le point où elle a interrompu la recette et

soigne sa fille grâce au livre de soins (autre processus).

La maman peut reprendre la recette là où elle lavait interrompue

(35)

a-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

Gestion de processus

Chaque processus possède un PCB

Compteur ordinal,

Registres de lUC (Pointeur pile, pointeur code, pointeur données…)

Numéro du processus (PID), PPID, état, priorité,

Liste des fichiers ouverts, E/S utilisées,

Temps UC utilisé,

Les PCBs sont rangés dans une table de processus

(36)

me Fatima-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

36

Création de processus

Un processus ne peut être créé que par un autre au moyen d'un appel système

Un fils a un PCB initialisé à celui du père

(sauf le PID, le PPID et le temps UC) et une copie des blocs de données et de code

Les processus sont structurés en arborescence à partir d'un ancêtre créé au démarrage

Cas d'Unix :

init Ksh (Korn shell)…

ls pwd …

Démon1

(37)

a-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

Destruction de processus

Un processus est détruit en général à la fin de son exécution

Il peut être détruit à la demande d'un autre processus ayant ce droit (comme le père)

Lorsqu'un processus est détruit, son PCB et ses ressources sont libérés

La destruction du père peut entraîner celle de sa descendance

(38)

me Fatima-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

38

Commutation et ordonnancement de processus

Le processeur bascule successivement d'un processus à l'autre à chaque fin de quantum

Le processeur est commuté également suite à un appel système ou une interruption : E/S…

La commutation est réalisée au moyen d'un ordonnanceur et un mécanisme d'interruption

L'interruption provoque un changement de contexte (CO, registres…)

L'ordonnanceur choisit parmi les processus prêts celui qui doit devenir actif

(39)

a-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

Commutation de processus

(40)

me Fatima-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

40

Interruptions

Une interruption est provoquée par un signal généré par le matériel

Les interruptions sont dues à des événements internes ou externes et peuvent être de type :

Horloge (Quantum épuisé)

Disque (E/S)

Appel système fait par le processus…

A chaque type est associée une routine de traitement d'interruption dont l'adresse se trouve dans le vecteur d'interruption

(41)

a-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

Types d'interruptions Unix

N°

d'interruption

Type

0 1 2 3 4 5

Horloge Disque Terminaux

Autres périphériques Logicielle (Traps)

Autres

(42)

me Fatima-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

42

Mécanisme et gestion des interruptions

le processeur place le CO et les registres du processus courant dans la pile

Il charge le CO de la routine de traitement

La routine de traitement sauvegarde le PCB du processus dans la table et appelle la

procédure de gestion de l'interruption

Lorsque le processus interrompu est réélu, la routine de traitement recharge son contexte

(43)

a-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

Gestion des interruptions

(44)

me Fatima-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

44

Appels systèmes

Un appel système est un moyen d'accès aux données sensibles protégées par le système (mémoire, disque…)

Un appel système provoque une interruption logicielle (trap) suivie du chargement du

code de la fonction appelée

Un appel système n’est en général pas interruptible (haute priorité : swapper…)

(45)

a-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

Appels système pour la gestion de processus sous Unix (1/3)

Identification

int getpid(void) : identité du processus courant

int getppid(void) : identité du processus père

Création :

int fork(void) : crée un processus fils et retourne

-1 en cas derreur

0 dans le processus fils

L'identité du fils dans le processus père

(46)

me Fatima-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

46

Appels système pour la gestion de processus sous Unix (2/3)

Terminaison

void exit(int ) : termine le processus appelant et met la valeur int dans son PCB

Attente :

int wait(int *) : provoque une attente de la fin dun processus fils et retourne

-1 si le processus n'a pas de fils

Identité d'un processus fils terminé (Retour immédiat ou blocage jusquà terminaison dun fils)

(47)

a-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

Appels système pour la gestion de processus sous Unix (3/3)

Recouvrement : Le code du processus

appelant est remplacé par un nouveau code donné en paramètre

6 primitives exec (nombre de paramètres)

execv(char *, char *[])

execvp(char *, char *[])

execve(char*, char*[], char*[])

(48)

me Fatima-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

48

Ordonnancement (scheduling)

L'ordonnanceur élit un processus prêt selon un algorithme

L'algorithme doit garantir :

Equité

Efficacité (Taux dutilisation )

Temps de réponse minimal

Temps moyen d'exécution minimal (Attente )

Rendement maximal (Travaux effectués )

2 types d'ordonnancement : avec réquisition et sans réquisition

(49)

a-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

Ordonnancement et algorithmes sans réquisition

Un processus n'est élu qu'après terminaison ou blocage du processus courant

Appliqué dans des systèmes de traitement par lot

Premier arrivé, premier servi

File d'attente ordonnée selon l'ordre d'arrivée

Plus court d'abord

Suppose que les temps d'exécution sont connus d'avance

File classée par lots de processus arrivés au

(50)

me Fatima-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

50

Ordonnancement avec réquisition

Suspension du processus courant suite à une interruption horloge (expiration du quantum) ou une autre interruption matérielle

Choix du quantum est crucial (100ms)

Trop petit => moins d'efficacité

Trop élevé => temps de réponse élevé

Des mécanismes de résolution de conflit d'accès sont nécessaires (synchronisation)

(51)

a-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

Algorithmes avec réquisition (1/2)

Circulaire ou tourniquet (round robin)

Utilise une liste circulaire chaînée

Le processeur est retiré et alloué au processus suivant à la fin d'un quantum de temps ou au blocage ou achèvement du processus courant

Algorithme simple et fiable

(52)

me Fatima-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

52

Algorithmes avec réquisition (2/2)

Avec priorité

Les processus sont rangés par classes de priorité

Les processus de la classe de haute priorité sont exécutés en premier

A chaque classe correspond une file d'attente gérée par l'algorithme du tourniquet

En général, les priorités sont dynamiques afin d'éviter le monopole de l'UC

(53)

a-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

Ordonnancement dans Unix

2 classes de priorité : noyau et utilisateur

Chaque classe contient plusieurs priorités

A 1 priorité est associée 1 file de processus

Priorités dynamiques

Les processus de haute priorité sont non interruptibles

Un processus modifie sa priorité par l'appel système : int nice(int) de unistd.h

Un super-utilisateur peut supprimer un travail

(54)

me Fatima-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

54

Ordonnancement dans Unix

(55)

a-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

Synchronisation des processus

Les processus concurrents peuvent être coopératifs ou indépendants

Les processus peuvent coopérer en partageant des ressources (mémoire, imprimante…) ou par communication de données

L'accès concurrent peut engendrer des conflits

Le SE permet de synchroniser les activités des processus et l'accès aux ressources en cas d'accès concurrents

(56)

me Fatima-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

56

Exemple du spoole d'impression

Fichiers à imprimer classés dans un répertoire dans l'ordre de leur arrivée

Processus demandeur d'impression met le fichier à imprimer dans le prochain emplacement libre (in)

Processus dimpression retire le prochain fichier à imprimer (out)

fichier4 fichier3 fichier5 out=3

4 5 in=6

(57)

a-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

Accès concurrents et Sections critiques

Demande d’impression :

1. lire in;

2. placer_fichier (in);

3. in=in + 1;

Accès concurrent à la variable partagée in

Les processus A et B demandent simultanément limpression mais A est interrompu avant 3

Demande dimpression est une section critique

Partie du programme où peut se produire des

(58)

me Fatima-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

58

Exclusion mutuelle

Deux processus ne peuvent utiliser la section critique (SC) à la fois

Contrôler l'accès et la sortie de la SC

1- Réserver l'accès si la SC est libre ou attendre

2- Utiliser la SC

3- Signaler la sortie de la SC aux autres

(59)

a-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

Règles de la synchronisation

Exclusion mutuelle

Famine : Aucun processus ne doit attendre trop longtemps pour entrer en SC

Interblocage : Aucun processus suspendu en dehors des sections critiques ne doit bloquer les autres

Aucune hypothèse sur les vitesses relatives des processus

(60)

me Fatima-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

60

Solutions pour la synchronisation

Masquage des interruptions

Solutions avec attente active

Verrous

TSL

Alternance

Alternance de Peterson

Solutions sans attente active

sleep et wakeup, Les sémaphores, Les

moniteurs, La communication par message

(61)

a-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

1ère Solution :

Masquage des interruptions

Masquer les interruptions avant d’entrer en SC et les restaurer après

Plus de commutation : l’interruption horloge est ignorée

inadaptée aux systèmes multi-processeurs

Dangereuse

Inéquitable

Peut bloquer un processus prioritaire

(62)

me Fatima-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

62

Solutions avec attente active :

Les verrous

Algorithme :

1- while (verrou == 1) ; /*Attente active*/

2- verrou=1 ; /*Verrouillage*/

3- section_critique();

4- verrou=0 ; /*Déverrouillage*/

Attente active : un processus ne pouvant entrer en SC utiliserait l’UC inutilement

Deux processus se trouvent à la fois en SC :

Si le système est multi-processeur

S'il y a interruption entre 1 et 2

Protéger le verrou par l'instruction TSL

(63)

a-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

Solutions avec attente active :

L'instruction câblée TSL

L'appel de TSL bloque l'accès en mémoire

Algorithme :

Entrer_en_SC :

TSL reg,verrou ;met la valeur du verrou dans le

;registre et la remplace par 1 en

;mémoire si elle est nulle

CMP reg,0 ;Teste si verrou est libre

JNZ Entrer_en_SC ;Boucle si verrou non libre

CALL Section_Critique

(64)

me Fatima-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

64

Solutions avec attente active :

L

alternance

Algorithme d’utilisation pour N processus

While (1) {

while (tour != monNumero) ; /*Attente active*/

Section_critique();

tour = (monNumero +1) % N ; /*Au suivant*/

Suite du programme }

Simple et facile

Famine si le tour est cédé à un processus non intéressé immédiatement par la SC

Interblocage si le tour est cédé à 1 processus bloqué

(65)

a-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

Solutions avec attente active :

Solution de Peterson (1981)

Plus de famine ni d'interblocage

Un processus souhaitant utiliser la SC doit le

signaler et positionner soit même la variable tour

Un processus intéressé peut entrer en SC même si cest pas son tour quand lautre ne lest pas

Utilise un drapeau (tableau) et une variable tour

(66)

me Fatima-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

66

Solutions avec attente active :

Solution de Peterson (1981)

Algorithme pour deux processus P0 et P1

interesse[ps]=1 ; /*Lever le drapeau*/

tour = ps ; /*Passer en dernier*/

while (tour==ps && interesse[1-ps]==1);

Section_critique();

interesse[ps]=0;

Attente active

Processus prioritaire est mis en attente si l'autre est intéressé et a le tour

(67)

a-Zahra BELOUADHA Ecole Mohammadia d

Ingénieurs

Solutions sans attente active

Un processus s'endormit et ne sera réveillé que lorsqu'il pourra entrer en SC

Appels système sleep et wakeup

Les sémaphores

Les moniteurs

La communication par message

Références

Documents relatifs

En Allemagne, des chercheurs trouvent un effet positif mais non significatif sur l’emploi ; d’autres montrent que l’introduction du salaire minimum « a conduit à la

 Saisir les champs au choix et sauvegarder : un message indiquera le numéro du document article du transfert sauvegardé..  Menu SAP/Logistique/Gestion des

C’est ainsi qu’il nous offre aujourd’hui son histoire de France, qui relève d’une intention tout à fait pédagogique, la campagne présidentielle constituant le moment

Le transfert par saut d’électron a lieu entre centres Ru II (en vert) et Ru III (en rouge) contigus ; b) Paramètres physiques intervenant dans le modèle : puits harmoniques

© Région Auvergne-Rhône-Alpes, Inventaire général du patrimoine culturel ; © Parc naturel régional du Massif des Bauges ; © Collection particulière Christian Terrier..

Les objectifs des études présentées dans les chapitres précédents sont d’évaluer le potentiel de la combinaison du procédé de dessalement par évaporation (distillation)

Les autorisations sur les fichiers sont les suivantes : Contrôle total, Modification, Lecture et exécution, Lecture et écriture. Chacune de ces autorisations consiste en un

Conclusion La prévalence du portage digestif d’ERFQ chez les patients proposés pour BP était élevée (57,1 %). Le facteur de risque de résistance dans notre étude était la prise