SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE
MINISTERE D’ENSEIGNEMENT SUPERIEUR
ET DE RECHERCHE SCIENTIFIQUE
Faculté Des Sciences Et De L’ingénierie
Institue De Génie Informatique
Module De Système d’exploitation
Simulation du
Année universitaire 2005 - 2006
Réalisé par :
 BENYAMMI Bachir
Encadré par :
Mr. YAGOUBI
Simulation d’un système à temps partagé 1
Sommaire ……………………………………………………………………………………………...………………...... 01
I. Introduction ……………………………………………………………………………………………...………………... 02
II. Historique …………………………………………………………………………………………...…………….…….... 03
III. Définition ……………………………………………………………………………………………...…………….…….... 04
IV. Simulation d’un système à temps partagé ………………………………………………………....... 05
1. Introduction ……………………………………………………...…………………………………………. 05
2. Outil de réalisation………….…………….…………….…………….…………….……………...... 05
3. Schéma du l’application .…………….…………….…………….…………….………………...... 05
V. Gestion des processus …………………….…………….…………….…………….…………….…………….. 06
1. Introduction ……………………………………...…………………………………………………………. 06
2. Analyse globale …….……….…………….…………….…………….…………….………………...... 06
3. Analyse détaillé …………..…………….…………….…………….…………….………………...... 06
4. Aperçu sur le programme .………………………………………………………………………. 08
1. Comptes d’utilisateurs .……………………………………..……………………………. 08
2. Gestionnaire des taches .………………………………………………………………. 10
5. Aperçu sur le code source .……….…………….…………….…………….………………...... 11
6. Résumé …….…………….………………......…….…………….………………......…….…………….… 14
VI. Gestion de la mémoire …………………….…………….…………….…………….…………….…………….. 15
1. Introduction ……………………………………...…………………………………………………………. 15
2. Définitions …………………………..…………...…………………………………………………………. 15
1. Mémoire virtuelle paginée .………………………………………………………….…. 15
2. Chaîne de référence .……………………………………………………………………… 15
3. Défaut de page .……………………………………………………………………………….. 15
4. Déplacement et remplacement .……………………………….……………………. 15
3. Analyse globale …….……….…………….…………….…………….…………….………………...... 17
4. Analyse détaillé …………..…………….…………….…………….…………….………………...... 17
5. Aperçu sur le programme .………………………………………………………………………. 18
6. Aperçu sur le code source .……….…………….…………….…………….………………...... 19
7. Résumé …….…………….………………......…….…………….………………......…….…………….…
VII. La représentation graphique…….…………….………………......…….…………….……..………....
1. Introduction……………………………………...………………………………………….………………….
2. Aperçu sur le programme.…………………………………………………………………..……….
3. Aperçu sur le code source.……….…………….…………….…………….………………...........
4. Résumé…….…………….………………......…….…………….………………......…….………….….…….
Glossaire…….…………….………………......…….…………….………………......…….…………….….…………………….
Bibiographie…….…………….………………......…….…………….………………......…….….………….………………….
21
22
22
22
23
23
24
25
Sommaire
Simulation d’un système à temps partagé 2
I. Introduction
La gestion du temps est l'un des problèmes majeurs des systèmes
d'exploitation. La raison est simple : les systèmes d'exploitation modernes sont tous
multitâche, or ils utilisent du matériel basé sur des processeurs qui ne le sont pas, ce
qui oblige le système à partager le temps du processeur entre les différentes tâches
(processus). Cette notion de partage implique une gestion du passage d'une tâche à
l'autre qui est effectuée par un ensemble d'algorithmes d’ordonnancement appelé
Ordonnanceur (schedule).
L'invention du temps partagé est le fruit d'une simple constatation: l'homme
est beaucoup plus lent que la machine et prend un temps non négligeable pour
élaborer une requête ou analyser les réponses de l'ordinateur. Dans toute phase
d'interaction la machine attend.
C'est pour rendre l'utilisation de l'ordinateur plus "conviviale" qu'ont été
développés les systèmes d'exploitation "temps partagé" permettant aux utilisateurs
de se connecter à plusieurs sur un seul ordinateur tout en ayant l'impression de
disposer d'un ordinateur personnel interactif pour chacun.
Simulation d’un système à temps partagé 3
II. Historique
Le concept de temps partagé a été décrit d'abord par Bob Bemer en
1957 dans un article de la revue Automatic Control Magazine
Christopher Strachey est parfois crédité de l'invention du temps partagé.
Toutefois ce qu'il décrit est plus proche du multitâche
En Novembre 1961 : MIT ont développé le CTSS (Compatible Time Sharing
System), le premier système d'exploitation Multi-Utilisateurs, seulement 3 utilisateurs
se sont connecté simultanément sur un ordinateur pour y travailler comme si chacun
disposait de sa propre machine.
En 1961 : Le projet MAC (Multi Access Computer) du MIT est réalisé pour but
de permettre à plusieurs personnes de travailler sur un même ordinateur en même
temps pour éliminer les temps d'attente du traitement par lot.
Entre 1962 et Septembre 1964 : le
Dartmouth Collage a développé le système
d'exploitation DTSS (Dartmouth Time Sharing
System) permettant à 32 personnes de se
connecter simultanément sur un même ordinateur,
il était utilisé pour donner des cours de langage
BASIC aux étudiants.
FIG 1 : Le SE DTSS
En Avril 1970 : Lancement de la ligne de mini-ordinateurs PDP-11 par Digital
Equipment Corporation. Il s'agit d'une ligne Ade machines toutes compatibles entre
elles basées sur un processeur 16 bits
Simulation d’un système à temps partagé 4
III. Définition du Temps partagé
Technique consistant à partager le temps de calcul d'une machine centrale
entre plusieurs utilisateurs, qui travaillent en général sur des terminaux idiots qui
n'ont rien dans le ventre tandis que le serveur est aussi puissant que possible. Time-
sharing en anglais.
La fonction d'un système temps partagé est de donner à tous ces acteurs
humains l'impression qu'ils sont chacun seul en face de la machine. Chacun doit
avoir le sentiment que l'ordinateur est à sa disposition; la qualité du service sera
appréciée en termes de temps de réponse. Il faut donc ajouter les services adéquats
pour tenir compte du fait que l'ordinateur est utilisé simultanément par un grand
nombre de personnes. On combine donc dans un tel système les aspects évoqués
pour les ordinateurs individuels et transactionnels. Il faut ajouter un programme
gestionnaire qui partage le temps disponible entre les différents utilisateurs.
Simulation d’un système à temps partagé 5
IV. Simulation d’un système à temps partagé
1. Introduction
Le système d’exploitation d’un ordinateur est chargé d’assurer les fonctionnalités
de communication et d’interface entre l’utilisateur et le matériel. Un SE (OS) est un
logiciel dont les grands domaines d’intervention sont divers:
 Gestion des processus,
 Gestion de la mémoire (physique et virtuelle),
 Gestion des droits d’accès (Sécurité),
 Gestion des fichiers (Système de fichiers),
 Gestion des périphériques (Entrées-sorties),
 ...
Afin de comprendre les fonctions d’un système d’exploitation et les méthodes
utilisées pour garder la stabilité du système. En essaient de simuler la gestion des
processus dans un système à temps partagé ainsi que la gestion de la mémoire
physique et virtuelle.
2. Outil de réalisation
Le logiciel fait dans ce mini est réalisé avec l’outil Borland Delphi 07 Studio.
Delphi est un IDE (Integrated Development Environment ) (environnement de
développement intégré) de type RAD (Rapid Application Development)
(Développement rapide d’application), basé sur le Pascal Objet. Il nous permet de
réaliser rapidement et simplement des applications Windows en utilisent des
composants réutilisables.
Cette rapidité et souplesse de développement sont dues à une conception
visuelle de l’application (WYSIWYG) (What You See Is What You Get). Delphi
propose un ensemble très complet de composants visuels prêts à l’emploi incluant la
quasi-totalité des composants Windows (fenêtres, boutons, boîtes de dialogue,
menus, barres d’outils…) ainsi que des experts (Wizards) permettant de créer
facilement divers types d’applications et de librairies (Base de données, composants,
…).
3. Schéma du l’application
FIG 2 : Schéma du l’application FIG 3 : Fenêtre principale
Simulation d’un système à temps partagé 6
V. Gestion des processus
1. Introduction
La gestion des processus est l’un des rôles les plus importants d’un SE. Le SE
doit gérer d’une manière équitable et optimale l’ordonnancement et l’allocation des
processus ainsi que les caractéristiques de chaque processus (état,
ordonnancement, registres, mémoire, E/S, contrôle d’accès, signalisation, …).
Le système à temps partagé est un système Multi-Utilisateur ; c-à-d plusieurs
sessions sont ouvertes et plusieurs utilisateurs sont connectés au même temps. Le
système doit bien gérer les demandes de chaque requête en allouant un quantum de
temps à chaque processus.
Le programme que nous avons réalisé est une simulation d’un système à
temps partagé, par la gestion d’activité d’un ensemble d’utilisateurs. Le programme
est composé de deux parties essentielles :
 La gestion des utilisateurs,
 La gestion des processus.
Le but de ce mini projet est de comprendre les notions reliées aux systèmes à
temps partagé ainsi d’avoir les avantages et les inconvénients de ce dernier. Tous
ça ; par l’application de quelque fonctions tel que :
 La gestion des sessions et des droits accès,
 L’allocation des requête CPU et E/S,
 L’attribution du quantum du temps,
 Le contrôle de la file d’attente du CPU,
 …
2. Analyse Globale
Le déroulement de l’algorithme de simulation nous permet de gérer l’activité
d’un ensemble d’utilisateurs. Après l’authentification des utilisateurs et la définition
des requêtes (Type, Taille, Temps d’entrée) pour chaque utilisateur ; le système est
prés pour la simulation.
Pour chaque utilisateur:
Pour chaque Requête:
1. Type (CPU ou E/S)
2. Taille
3. Temps d’entrée
4. Temps d’Occupation
5. Temps d’Attente
6. Durée d’Exécution
7. Temps Total
8. Taux d’Occupation
3. Analyse détaillée
L’algorithme de déroulement est le suivant :
 Début,
 Authentification,
 Définition des requêtes,
Simulation
Temps partagé
Simulation d’un système à temps partagé 7
 Si la requête est de type CPU alors
Si le temps d’entrée est inférieur au compteur du système alors
Si le temps d’occupation est inférieur à la taille de la requête alors
 Incrémenter le temps d’occupation,
 Calculer la durée d’exécution et le temps total et le taux
d’occupation,
 Incrémenter le temps d’attente d’autres requêtes.
Si non terminer la requête.
Fin Si.
Si non passer à la requête suivante,
Fin Si.
Incrémenter le compteur du système.
 Si non, si la requête est de type E/S
Si le temps d’entrée est inférieur au compteur du système alors
Si la durée d’exécution est inférieure à la taille de la requête alors
 Incrémenter la durée d’exécution,
 Calculer le temps total,
 Passer à la requête suivante.
Si non terminer la requête.
Fin Si.
Si non passer à la requête suivante,
Fin Si.
Incrémenter le compteur du système.
 Fin Si.
 Fin de simulation

L’organigramme est le suivant (FIG 4)
FIG 4 : Organigramme de simulation des requêtes
Simulation d’un système à temps partagé 8
4. Aperçu sur le programme
Le programme est composé de deux parties essentielles :
 Comptes d’utilisateurs
 Gestionnaire des taches
1. Comptes d’utilisateurs
C’est la gestion des utilisateurs, à l’aide de cette interface (FIG 5), on peut
ajouter, modifier, supprimer des utilisateurs, seuls ces utilisateurs pouvant entrée
dans le système et définir leurs propres requêtes CPU et E/S.
FIG 5 : Gestion des comptes d’utilisateurs
1. Crée un nouvel utilisateur,
2. Ajouter l’utilisateur à la base de données,
3. Modifier l’info. d’un utilisateur,
4. Annuler les modifications des infos. d’un utilisateur,
5. Supprimer l’utilisateur,
6. Fermer la fenêtre,
7. Saisir le compte d’utilisateur,
8. Saisir le mot de passe d’utilisateur,
9. Définir l’état d’utilisateur,
10.Saisir le nom d’utilisateur,
11.Saisir le prénom d’utilisateur,
12.Saisir l’émail d’utilisateur,
13.Voir la liste des utilisateurs.
Pour q’un utilisateur veuille entrer dans une session, il doit d’abord être
enregistré, à l’authentification (FIG 5); le système demande un compte et un mot de
passe.
1
1
1
2 4 6
7
1
10
11
121
5
1
9
1
8
3
131
Simulation d’un système à temps partagé 9
FIG 6 : Authentification
1. Saisir le compte,
2. Saisir le mot de passe,
3. Entré dans la session,
4. Quitter la fenêtre.
Si la connexion succède ; l’utilisateur peut ensuite définir ces requêtes CPU
et E/S, (FIG 6) pour chaque requête ; l’utilisateur doit définir le type (CPU ou E/S), la
taille et le temps d’entrée de la requête. Si la connexion est échouée, un message
est apparaître.
FIG 7 : Liste de requêtes
1. Choisir le type de la requête,
2. Définir la taille de la requête,
3. Définir le temps d’entrée de la requête,
4. Ajouter la requête à la liste,
5. Voir la liste des requêtes,
6. Supprimer la requête sélectionnée,
7. Valider les données,
8. Annuler l’opération.
1
1
1
2
4
3
1
1
1
2
3
4
5
6
7
8
Simulation d’un système à temps partagé 10
2. Gestionnaire des taches
Après la définition des requêtes le système est prés pour lancer la simulation.
(FIG 7)
FIG 8 : La simulation est en cours
1. La liste des utilisateurs,
2. La liste des requêtes,
3. La liste des requêtes CPU,
4. La liste des requêtes E/S,
5. L’état des requêtes,
6. L’état de la simulation,
7. Connexion d’un utilisateur,
8. Déconnexion d’un utilisateur,
9. Démarrer ou annuler la simulation,
10.Suspondu ou continue la simulation,
11.Contrôler la vitesse du CPU,
12.Compteur du système,
13.Fermer la fenêtre.
A la fin du simulation, un message est apparaître (FIG 8 ) indiquant la fin du
simulation, ainsi que des informations sur les requêtes traitées et le temps total du
simulation.
FIG 9 : Fin Simulation
1
1
1
5
131
11
0
121
101
1
2
1
3
1
4
9876 1
Simulation d’un système à temps partagé 11
5.Aperçu sur le Code Source
procedure TMainForm.ExecuteRequetesE_S;
var
i, j: integer;
begin
for i:= 0 to ListReq.Items.Count -1 do
with ListReq.Items[i] do
if (subItems[0] = 'E/S') then
if (StrToInt(subItems[2]) <= Compteur) then
begin
// Recuperer le n° de la requete
j := i; FindKey(ListReq, ListE_S, j);
if (StrToInt(subItems[5]) < StrToInt(subItems[1])) then
begin
// Marquer la requete
MettreUnPoint(ListReq, 9, i, '°');
//inc la duree d'exe des requetes E/S
subItems[5] := IntToStr(StrToInt(subItems[5]) + 1);
ListE_S.Items[j].subItems[2] := subItems[5];
//calculer le temps total des requetes E/S
subItems[6] := IntToStr(StrToInt(subItems[5]) +
StrToInt(subItems[2]));
ListE_S.Items[j].subItems[3] := subItems[6];
end
else
begin
// Marquer la fin de la requete
MettreUnPoint(ListReq, 9, i, '.');
MettreUnPoint(ListE_S, 5, j, '.');
end;
end
end;
function TMainForm.ExecuteRequeteCPU: boolean;
var
Taille, Temps_Occup, Temps_attente, Temps_Entre, Temps_Total,
Duree_Exe, i, j, k, somme :integer;
Taux : real;
begin
Result := True;
with ListReq.Items[Req_acc] do
begin
Taille := StrToInt(subItems[1]);
Temps_Entre := StrToInt(subItems[2]);
Temps_Occup := StrToInt(subItems[3]);
Temps_attente := StrToInt(subItems[4]);
if Temps_Entre <= Compteur then
if Temps_Occup < Taille then
begin
for i:= 0 to ListReq.Items.Count -1 do
with ListReq.Items[i] do
if (Caption <> ListReq.Items[Req_acc].Caption)
and (subItems[0] = 'CPU')
and (StrToInt(subItems[2]) <= Compteur)
and (StrToInt(subItems[3]) < StrToInt(subItems[1])) then
begin
// Recuperer le n° de requete CPU
j := i; FindKey(ListReq, ListCPU, j);
Simulation d’un système à temps partagé 12
// Marquer la requete currente
MettrePoint(ListReq, 9, i, ' ');
// Inc le temps d'attente des autres requetes CPU
subItems[4] := IntToStr(StrToInt(subItems[4])+ 1);
ListCPU.Items[j].subItems[3] := subItems[4];
// Calculer la durée d'exe des autres requetes CPU
subItems[5] := IntToStr(StrToInt(subItems[3]) +
StrToInt(subItems[4]));
ListCPU.Items[j].subItems[4] := subItems[5];
// Calculer le temps total des autres requetes CPU
subItems[6] := IntToStr(StrToInt(subItems[5]) +
StrToInt(subItems[2]));
ListCPU.Items[j].subItems[5] := subItems[6];
end;
// Recuperer le n° de requete CPU et le n° de l'utilisateur
j := Req_acc; FindKey(ListReq, ListCPU, j);
k := Req_acc; FindUser(ListReq, ListUsers, k);
// Marquer la requete currente
MettreUnPoint(ListReq, 9, Req_acc, '*');
//Inc le temps d'occupation du requete currente
Inc(Temps_Occup);
subItems[3] := IntToStr(Temps_Occup); // occup
ListCPU.Items[j].subItems[2] := subItems[3];
//calculer la duree d'exe du requete currente
Duree_Exe := Temps_Occup + Temps_attente;
subItems[5] := IntToStr(Duree_Exe); // duree
ListCPU.Items[j].subItems[4] := subItems[5];
//calculer le temps total du requete currente
Temps_Total := Duree_Exe + Temps_Entre;
subItems[6] := IntToStr(Temps_Total); // total
ListCPU.Items[j].subItems[5] := subItems[6];
//Calculer la somme des temps d'occupation de tous les requetes
somme := 0;
for i:= 0 to ListReq.Items.Count -1 do
if ListReq.Items[i].subItems[0] = 'CPU' then
somme := somme + StrToInt(ListReq.Items[i].subItems[3]);
if somme < 1 then somme := 1;
for i:= 0 to ListReq.Items.Count -1 do
with ListReq.Items[i] do
if (subItems[0] = 'CPU')
and (StrToInt(subItems[2]) <= Compteur) then
begin
// Recuperer le n° de requete CPU
j := i; FindKey(ListReq, ListCPU, j);
//Calculer le taux d'occupation du requete currente
Taux := StrToInt(subItems[3]) * 100 / somme;
subItems[7] := FormatFloat('#.##', Taux);
ListCPU.Items[j].subItems[6] := subItems[7];
end
end
else
begin
Simulation d’un système à temps partagé 13
Result := False;
// Recuperer le n° de requete CPU et le n° de l'utilisateur
j := Req_acc; FindKey(ListReq, ListCPU, j);
k := Req_acc; FindUser(ListReq, ListUsers, k);
// Marquer la fin le la requete
MettreUnPoint(ListReq, 9, Req_acc, '.');
end
else
Result := False;
end;
end;
function TMainForm.ExistReqCPU: Boolean;
var
i: integer;
begin
result := False;
if ListCPU.Items.Count < -1 then exit;
for i:= 0 to ListCPU.Items.Count -1 do
if (ListCPU.Items[i].subItems[8]) = '*' then
begin
result := True;
Exit;
end;
end;
procedure TMainForm.ExecutionRequete;
var
CPU: boolean;
TypeReq, Point: String;
begin
CPU := False;
// Execution de la requete
Repeat
TypeReq := ListReq.Items[Req_acc].SubItems[0];
Point := ListReq.Items[Req_acc].SubItems[9];
if Point <> '.' then
if TypeReq = 'CPU' then
CPU := ExecuteRequeteCPU;
ExecuteRequetesE_S;
// Passer à la requete suivante
if Req_acc < ListReq.Items.Count -1 then
Inc(Req_acc)
else
Req_acc := 0;
Until Not ExistReqCPU or CPU = True
end;
procedure TMainForm.Timer_SumTimer(Sender: TObject);
var
Temps_Occp, Temps_Attente, Duree_Exe, Temps_Total, i, j: integer;
ExistPoint: boolean;
Compte: String;
Taux: real;
begin
Timer_Sum.Enabled := false;
// A ce que la sumilation est terminée ? => existence des ponts
ExistPoint := True;
for i:= 0 to ListReq.Items.Count - 1 do
Simulation d’un système à temps partagé 14
if ListReq.Items[i].SubItems[9] <> '.' then
begin
ExistPoint := False;
Break;
end;
if ExistPoint then
begin
for i := 0 to ListUsers.Items.Count - 1 do
with ListUsers.Items[i] do
begin
Temps_Occp := 0;
Temps_Attente := 0;
Duree_Exe := 0;
Temps_Total := 0;
Taux := 0;
Compte := SubItems[0];
for j := 0 to ListReq.Items.Count - 1 do
with ListReq.Items[j] do
if SubItems[8] = Compte then
begin
Inc(Temps_Occp, StrToInt(SubItems[3]));
Inc(Temps_Attente, StrToInt(SubItems[4]));
Inc(Duree_Exe, StrToInt(SubItems[5]));
Inc(Temps_Total, StrToInt(SubItems[6]));
Taux := Taux + StrToFloat(SubItems[7]);
end;
SubItems[3] := IntToStr(Temps_Occp);
SubItems[4] := IntToStr(Temps_Attente);
SubItems[5] := IntToStr(Duree_Exe);
SubItems[6] := IntToStr(Temps_Total);
SubItems[7] := FloatToStr(Taux);
end;
StatusBar1.Panels[0].Text := 'Simulation Terminée';
MessageDlg('Simulation Terminée' + #13 +
' Nbr d''utilisateurs : ' + IntToStr(ListUsers.Items.Count) + #13 +
' Nbr de requêtes : ' + IntToStr(ListReq.Items.Count) + #13 +
' Nbr de req. CPU : ' + IntToStr(ListCPU.Items.Count) + #13 +
' Nbr de req. E/S : ' + IntToStr(ListE_S.Items.Count) + #13 +
' Temps Total : ' + Lab_Temp_Total.Caption + ' seconde(s)',
mtInformation, [MbOk], 0);
Exit;
end;
// Inc et afficher le compteur
Inc(Compteur);
Lab_Temp_Total.Caption := IntToStr(Compteur);
// Executer la requete
ExecutionRequete;
Timer_Sum.Enabled := true;
end;
6. Résumé
C'est pour rendre l'utilisation de l'ordinateur plus "conviviale" qu'ont été
développés les systèmes temps partagé permettant aux utilisateurs de se connecter
sur un seul ordinateur tout en ayant l'impression de disposer d'un ordinateur
personnel interactif pour chacun.
A l’aide du notre simulation, on a arrivé à comprendre et a imaginer la complexité
de ces systèmes ; c’est la réunion des deux mondes : le PC personnel et les
systèmes transactionnels.
Simulation d’un système à temps partagé 15
VI. La gestion de la mémoire
1. Introduction
Le mécanisme de mémoire virtuelle a été mis au point dans les années 1960.
Il est basé sur l'utilisation d'une mémoire de masse (type disque dur ou
anciennement un tambour), dans le but, entre autres, de permettre à des
programmes de pouvoir s'exécuter dans un environnement matériel possédant moins
de mémoire centrale que nécessaire.
La mémoire virtuelle permet :
 d'augmenter le taux de multiprogrammation.
 de mettre en place des mécanismes de protection de la mémoire.
 de partager la mémoire entre processus.
Le terme ‘mémoire virtuelle’ est apparue en 1962 dans un article de
référence de James Kilburn, il décrit le premier ordinateur doté d'un système de
gestion de mémoire virtuelle paginée et utilisant un tambour comme extension de la
mémoire centrale.
Aujourd'hui, tous les systèmes d’exploitation ont un mécanisme de gestion de la
mémoire virtuelle, sauf certains supercalculateurs ou systèmes embarqués temps
réel.
2. Définitions
1. Mémoire virtuelle paginée
Le principe est le suivant : par un mécanisme de translation, les adresses
virtuelles, émises par le processeur, seront traduites en adresses physiques. De
plus :
 la mémoire virtuelle sera considérée comme une suite de zones de même
taille appelée ‘page’.
 la mémoire physique va être considérée comme une suite de zones de même
taille appelée ‘cadre’.
 les adresses mémoires issues par l’unité centrale sont des adresses virtuelles.
 Une adresse virtuelle sera traduite en adresse physique par un mécanisme de
translation.
2. Chaîne de référence
Le comportement de programme au niveau de détail choisi est définit par
séquence des numéros des pages ayant l’objet de références successif aux cours de
son exécution. Cette séquence est appelle ‘chaîne de référence’ Pour le
programme concéder et la taille de page choisit.
3. Défaut de page
Le programme est initialement rangé en mémoire secondaire à un instant de
donnée, seul un sous ensemble de ses pages est présent en mémoire principal.
Si la prochaine référence est faite à une page absente de la mémoire principal, alors
il y a un ‘défaut de page’.
Simulation d’un système à temps partagé 16
4. Déplacement et remplacement
En cas de présence des zones libres dans la mémoire principal, la gestion de
la mémoire fait appel à des algorithmes de déplacement. Mais s’il n’ y a pas de place
disponible ; la page demandée doit prendre la place d’une page déjà présente.
Celle-ci est déterminée par des algorithmes de remplacement.
Problème :
Quand il n’y a pas de place en mémoire, quelle page doit être victime ?
Une des solutions pour résoudre ce problème est le remplacement des pages.
On utilise des algorithmes de remplacement (FIFO, OPTIMAL, LRU, SECONDE
CHANCE), dans notre mini projet, on a choisi l’algorithme de la Seconde chance.
Analyse et solution du problème
La solution est de mètre en œuvre une mémoire virtuelle par un système de
pagination à la demande pour résoudre le problème de défaut de pages.
Principe de l’algorithme « seconde chance »
Cet algorithme est basé sur le principe de remplacement ’FIFO’. Quand une
page est sélectionnée, on scrute son bit de référence : s’il est égale a 0, on procède
a son remplacement. Si le bit de référence est égale à 1, on donnera a cette page
une seconde chance et on doit sélectionner la prochaine page selon FIFO. Quand
une page a bénéficie de la seconde chance, son bit de référence est mise a 0 et son
temps d’arrivée est réajusté au temps courant. Ainsi, une page ayant bénéficié d’une
seconde chance ne sera remplacé que si toutes les autres pages ont été remplacées
ou quelles ont obtenu une seconde chance.
Exemple :
La recherche est circulaire,
Si le bit de référence égale à ‘1’, alors met son bit à ‘0’,
Si le bit de référence égale à ‘0’, alors la page est choisie comme victime.
FIG 10 : Déroulement de la seconde chance
# de page0
# de page0
# de page1
# de page1
# de page0
# de page1
# de page1
victime
suivante
# de page0
# de page0
# de page0
# de page0
# de page0
# de page1
# de page1
victime
choisie
Simulation d’un système à temps partagé 17
3. Analyse globale
 Partitions disponibles
en mémoire centrale
 Taille de pages.
 Les références.
Nombre de défaut
de pages
4. Analyse détaillée
Données :
 Mémoire de trois partitions de taille fixe.
 Les références.
 Taille de page.
Résultats :
 Evaluation de défaut de pages à chaque changement de la taille de Page.
 Représentation graphique des résultats.
Organigramme :
FIG 11 : Algorithme de la seconde chance
Algorithme de
La seconde chance
Simulation d’un système à temps partagé 18
5. Aperçu sur le programme
FIG 12 : Application de l’algorithme de la seconde chance
1. Saisir une adresse,
2. Ajouter une adresse,
3. Saisir la taille de la page,
4. Afficher la chaîne de référence,
5. Lancer la simulation,
6. Représentation de la taille du page et le nombre de défaut de page,
7. Initialisation des tables,
8. Initialisation de l’application,
9. Dessiner le graphe,
10.Fermer l’application,
(+) : si le bit de référence a 1,
(-) : si le bit de référence a 0,
() : Indique la prochaine victime (ancienne ref).
Explication :
() : La prochaine victime (ancienne ref);
1-1er-3éme colonne : chaque nouvelle référence prend une signe (+) ;
2- 4éme colonne : l’entrée d’une nouvelle référence différente ;
2
3
75
6
10
4
8
9
+-
1
Simulation d’un système à temps partagé 19
Tantque ref <> ‘’
debut : Si signe = ‘+’ alors { tester le signe de ancienne ref }
signe = ‘-‘ {donner une seconde chance }
Incrémenter ‘’ { passer a la ancienne ref suivante }
Aller au debut
Sinon ancienne page := nouv. Page
{la nouv. ref remplace la ancienne ref.}
Incrémenter ‘’ { passer a la ancienne ref suivante.}
Fin Si
Fin Tantque
La liste des fonctions
 Ajouter : Ajouter adresse à la liste des références,
 Fixer : Calcul les adresses des pages à partir de Liste des
références,
 Initialiser : Faire l’initialisation (Vider la mém.),
 Reprendre : Faire l’initialisation d’une nouvelle chaîne,
 Fermer : Quitter la fenêtre.
6.Aperçu sur le Code Source
procedure Tmemoire.btnSimulerClick(Sender: TObject);
label Cas1, Cas2, Cas3, Cas4, Cas5, cas6;
var DP, i:integer;
begin
cas1: DP:=1;
st1.Cells[0,5]:='DP';
st1.Cells[0,2]:=st1.Cells[0,1]+'+'+'<-' ;
cas2:if ( st1.Cells[0,1] <> st1.cells[1,1] ) then
begin
st1.Cells[1,2]:=st1.Cells[0,2];
st1.Cells[1,3]:=st1.Cells[1,1]+'+' ;
DP:=DP+1;
st1.Cells[1,5] :='DP';
end
else
st1.Cells[1,2]:=st1.Cells[0,2];
cas3:if (st1.cells[2,1]<> '') then
begin
if (st1.cells[1,1]<>st1.cells[2,1])
and (st1.cells[0,1]<>st1.cells[2,1])then
begin
st1.Cells[2,2]:=st1.Cells[1,2] ;
st1.Cells[2,3]:=st1.Cells[1,3] ;
st1.Cells[2,4]:=st1.Cells[2,1]+'+' ;
DP:=DP+1;
st1.Cells[2,5]:='DP';
end
else
begin
st1.Cells[2,2]:= copy(st1.Cells[1,2], 0, 2);
st1.Cells[2,3]:=st1.Cells[1,3]+'<-' ;
end;
end;
Simulation d’un système à temps partagé 20
cas4: if (st1.cells[3,1]<> '') then
begin
if (copy(st1.Cells[2,2], 0, 1)=st1.Cells[3,1])
or (copy(st1.Cells[2,3], 0, 1)=st1.Cells[3,1])
or (copy(st1.Cells[2,4], 0, 1)=st1.Cells[3,1]) then
begin
if(st1.Cells[3,1]= copy(st1.Cells[2,2], 0, 1))then
begin
st1.Cells[3,2]:=copy(st1.Cells[2,2], 0, 2);
st1.Cells[3,3]:=st1.Cells[2,3]+'<-';
st1.Cells[3,4]:=st1.Cells[2,4];
{goto Cas6; }
end;
if (copy(st1.Cells[2,3], 0, 1)=st1.Cells[3,1])
or (copy(st1.Cells[2,4], 0, 1)=st1.Cells[3,1]) then
begin
st1.Cells[3,2]:=st1.Cells[2,2];
st1.Cells[3,3]:=st1.Cells[2,3];
st1.Cells[3,4]:=st1.Cells[2,4];
end;
end;
if (st1.Cells[2,3]= '') then
begin
if (st1.Cells[2,1]<>st1.Cells[3,1]) then
begin
st1.Cells[3,3]:=st1.Cells[3,1]+ '+';
st1.Cells[3,2]:=st1.Cells[2,2];
DP:=DP+1;
st1.Cells[3,5]:='DP';
end
else
begin
st1.Cells[3,2]:=st1.Cells[2,2];
st1.Cells[3,3]:=st1.Cells[2,3];
end;
end
else if (st1.Cells[2,4]='') then
begin
st1.Cells[3,2]:=st1.Cells[2,2];
st1.Cells[3,3]:=st1.Cells[2,3];
st1.Cells[3,4]:=st1.Cells[3,1]+'+' ;
DP:=DP+1;
st1.Cells[3,5]:='DP';
end;
if(st1.Cells[2,3]<>'')and(st1.Cells[2,4]<>'')then
begin
if (st1.Cells[3,1]<>st1.Cells[0,1])
and (st1.Cells[3,1]<>st1.Cells[1,1])
and (st1.Cells[3,1]<>st1.Cells[2,1]) then
begin
st1.Cells[3,2]:= st1.Cells[3,1] + '+' ;
st1.Cells[3,3]:=copy(st1.Cells[2,3], 0, 1) + '-'+ '<-' ;
st1.Cells[3,4]:=copy(st1.Cells[2,4], 0, 1) + '-';
DP:=DP+1;
st1.Cells[3,5]:='DP';
end ;
end ;
end;
Cas6: if (st1.cells[4,1]<> '') then //5
begin
Simulation d’un système à temps partagé 21
if (copy(st1.Cells[3,3], 0, 1)=st1.Cells[4,1]) then
begin
st1.Cells[4,2]:=st1.Cells[3,2];
st1.Cells[4,3]:=copy(st1.Cells[3,3], 0, 1)+'+';
st1.Cells[4,4]:=st1.Cells[3,4]+'<-';
goto Cas6;
end;
if (copy(st1.Cells[3,2], 0, 1)=st1.Cells[4,1]) then
begin
st1.Cells[4,2]:=st1.Cells[3,2];
st1.Cells[4,3]:=st1.Cells[3,3];
st1.Cells[4,4]:=st1.Cells[3,4];
end;
if (copy(st1.Cells[3,4], 0, 1)=st1.Cells[4,1]) then
begin
st1.Cells[4,2]:=st1.Cells[3,2];
st1.Cells[4,3]:=st1.Cells[3,3];
st1.Cells[4,4]:=copy(st1.Cells[3,4], 0, 1)+'+';
end;
if (copy(st1.Cells[3,2], 0, 1)<>st1.Cells[4,1])
and (copy(st1.Cells[3,3], 0, 1)<>st1.Cells[4,1])
and (copy(st1.Cells[3,4], 0, 1)<>st1.Cells[4,1]) then
begin
st1.Cells[4,2]:=st1.Cells[3,2];
st1.Cells[4,3]:=st1.Cells[4,1]+'+';
st1.Cells[4,4]:=copy(st1.Cells[3,4], 0, 1)+ '-' + '<-';
DP:=DP+1;
st1.Cells[4,5]:='DP';
end;
st1.Cells[5,2]:=st1.Cells[4,2];
st1.Cells[5,3]:=st1.Cells[4,3];
st1.Cells[5,4]:=st1.Cells[4,4];
st1.Cells[6,2]:=st1.Cells[4,2];
st1.Cells[6,3]:=st1.Cells[4,3]+'<-';
st1.Cells[6,4]:=copy(st1.Cells[4,4], 0, 1)+'+';
st1.Cells[7,2]:=st1.Cells[4,2];
st1.Cells[7,3]:=st1.Cells[6,3];
st1.Cells[7,4]:=st1.Cells[6,4];
end;
for i:= 1 to 5 do
if SgDP.Cells[i, 0] = '' then break;
SgDP.Cells[i, 0] := IntToSTr(Taille);
SgDP.Cells[i, 1] := IntToSTr(DP);
end;
7. Résumé
L’algorithme de seconde chance est plus efficace par rapport au FIFO et LRU,
mais il est difficile a implémentée à cause à l’usage des bits de référence et la mise à
jour du temps de chargement et la recherche circulaire.
Simulation d’un système à temps partagé 22
VII. La représentation graphique
1. Introduction
Cette interface nous permet de visualiser les résultats obtenus dans la
simulation de la mémoire virtuelle, le graphe représente le rapport entre la taille de
page et le défaut de page.
2. Aperçu sur le programme
Le tableau est un composant (TStringGrid) nous permet de remplir des
données rangés dans des lignes et de colonnes.
Le graphe est un composant (TChart) qui nous permet de dessiner des
schémas graphique
 L'axe des x représente la taille de page
L'axe des y représente le défaut de pages.
FIG 13 : Répréhension graphique des résultats
10
12
9
1 2 3
11
4 6 7 85
Simulation d’un système à temps partagé 23
1. Charger la table à partir d’un fichier,
2. Sauver la table dans un fichier,
3. Effacer la table,
4. Dessiner la table,
5. Copie le graphe dans la mémoire,
6. Sauver le graphe dans un fichier,
7. Effacer le graphe,
8. Agrandir et minimiser le graphe,
9. Table d’essais,
10.Discussion des résultats.
11.Les défauts de page,
12.La représentation graphique.
3. Aperçu sur le code source
//Dessiner un point (x,y):
procedure TFrmGraphe.Dessiner_Point(x,y:integer);
begin
with graphe.SeriesList.Series[0] do
begin
ParentChart:=graphe;
AddXY(x,y,'',clRed );
end;
end;
//Dessiner le graphe
procedure TFrmGraphe.Dessiner_Graphe;
var
i:integer;
begin
for i:=1 to 5 do
Dessiner_Point (StrToInt(SG_Res.Cells[0,i]),
StrToInt(SG_Res.Cells[1,i]));
end;
4. Résumé
Il est clair que le graphe montre bien la relation entre la taille de page et le
défaut de pages. La relation entre la taille et le défaut de page est réflexive. Lorsque
la taille de page augmente ; le nombre de défaut de pages diminue.
Simulation d’un système à temps partagé 24
Christopher Strachey
(1916-1975) est l'un des premiers à avoir prôné une approche mathématique dans la
programmation. Il a développé des travaux sur la sémantique et la programmation
d'un petit système d'exploitation O6 6 (en 1972) en utilisant un langage de
programmation universel (pour son temps) appelé CPL puis BCPL, dont se sont
inspirés Ken Thompson pour créer B et Dennis Ritchie pour le langage C.
John McCarthy
Est le principal pionnier de l'intelligence artificielle avec Marvin Minsky, Il est
également l'inventeur en 1958 du langage Lisp. À la fin des années 50, il a créé avec
Fernando Cobarto la technique du temps partagé, qui permet à plusieurs utilisateurs
d'employer simultanément un même ordinateur.
MIT
Le MIT (Massachusetts Institute of Technology) a été fondé en 1861 par
William Barton Rogers. Le MIT est une institution de recherche et une université
américaine, leader mondiale spécialisée dans les domaines de la science et de la
technologie. Il est aussi réputé dans d'autres domaines comme le management,
l'économie, la linguistique, les sciences politiques et la philosophie.
PDP-11
Mini-ordinateur inaugure chez Digital en 1970, la première ligne de mini-
ordinateurs 16 bits, ces périphériques sont branchés sur un bus système unique ou
ils peuvent transférer des données sans intervention du processeur, 04 utilisateurs
peut utiliser la machine au même temps
Ordonnanceur
Dans les systèmes d'exploitation l’ordonnanceur désigne le module du noyau
du système d'exploitation qui choisit les processus qui vont être exécutés par les
processeurs d'un ordinateur. Le rôle de l'ordonnanceur est de permettre à tous les
processus de s'exécuter et d'utiliser le processeur de manière optimale du point de
vue de l'utilisateur.
WYSIWYG
Est un acronyme (What you see is what you get signifiant « ce que vous voyez
est ce que vous obtenez » ou plus élégamment « tel écran, tel écrit ») couramment
utilisé en informatique pour désigner les interfaces utilisateur graphiques permettant
de composer visuellement le résultat voulu, typiquement pour un logiciel de mise en
page, un traitement de texte ou d'image. Il désigne, de fait, une interface
« intuitive » : l'utilisateur voit directement à l'écran à quoi ressemblera le résultat final
(imprimé).
Glossaire
Simulation d’un système à temps partagé 25
 Titre : WIKIPEDIA, L'encyclopédie libre
URL : http://fr.wikipedia.org/
 Titre : Histoire de l'Informatique
Sujet : Time Sharing et Unix
URL : http://histoire.info.online.fr/
 Titre : ENSEIRB, Ecole nationale supérieure d'électronique,
informatique et de radiocommunications Bordeaux.
Sujet : Temps réel sous Linux
URL : http://www.enseirb.fr/~kadionik/glmf/lm52/linux_realtime/
 Titre : Le Jargon Français - Dictionnaire informatique
Sujet : Définition de temps partagé
URL : http://www.linux-france.org/prj/jargonf/
 Titre : Université Pierre et Marie Curie
Sujet : Systèmes d'exploitation des ordinateurs
URL : http://www.upmc.fr/
 Titre : Université LAVAL – Département d’informatique et du génie logiciel
Sujet : Cours systèmes d'exploitation
URL : http://www.ulaval.ca/
Bibliographie

Mais conteúdo relacionado

Mais procurados

Rapport projet: relisation d'une app desktop
Rapport projet: relisation d'une app desktop Rapport projet: relisation d'une app desktop
Rapport projet: relisation d'une app desktop amat samiâ boualil
 
Rapport projet de fin d'études: Elaboration d’un tableau de bord et politique...
Rapport projet de fin d'études: Elaboration d’un tableau de bord et politique...Rapport projet de fin d'études: Elaboration d’un tableau de bord et politique...
Rapport projet de fin d'études: Elaboration d’un tableau de bord et politique...Ayoub Minen
 
Rapport de projet de fin d'année
Rapport de projet de fin d'année Rapport de projet de fin d'année
Rapport de projet de fin d'année kaies Labiedh
 
Les systèmes d'information et tableau de bord
Les systèmes d'information et tableau de bordLes systèmes d'information et tableau de bord
Les systèmes d'information et tableau de bordTayssirLimem
 
Cours Système Embarqué et Système d'exploitation mobile.pdf
Cours Système Embarqué et Système d'exploitation mobile.pdfCours Système Embarqué et Système d'exploitation mobile.pdf
Cours Système Embarqué et Système d'exploitation mobile.pdfWahideArabe
 
Systèmes d'Exploitation - chp2-gestion des processus
Systèmes d'Exploitation - chp2-gestion des processusSystèmes d'Exploitation - chp2-gestion des processus
Systèmes d'Exploitation - chp2-gestion des processusLilia Sfaxi
 
Conception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIREConception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIREGhizlane ALOZADE
 
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )Saadaoui Marwen
 
cours-ADMINISTRATION DUN RESEAU INFORMATIQUE.pdf
cours-ADMINISTRATION DUN RESEAU INFORMATIQUE.pdfcours-ADMINISTRATION DUN RESEAU INFORMATIQUE.pdf
cours-ADMINISTRATION DUN RESEAU INFORMATIQUE.pdfGodefroyCheumaniTche1
 
Memoire licence informatique application gestion personnel par herma - zita...
Memoire licence  informatique application gestion personnel  par herma - zita...Memoire licence  informatique application gestion personnel  par herma - zita...
Memoire licence informatique application gestion personnel par herma - zita...Soumia Elyakote HERMA
 
Programmation de systèmes embarqués : Introduction aux systèmes embarqués
Programmation de systèmes embarqués : Introduction aux systèmes embarquésProgrammation de systèmes embarqués : Introduction aux systèmes embarqués
Programmation de systèmes embarqués : Introduction aux systèmes embarquésECAM Brussels Engineering School
 
Rapport de stage d'initiation 2015 Mahmoudi Mohamed Amine
Rapport de stage d'initiation 2015 Mahmoudi Mohamed AmineRapport de stage d'initiation 2015 Mahmoudi Mohamed Amine
Rapport de stage d'initiation 2015 Mahmoudi Mohamed AmineMohamed Amine Mahmoudi
 
Présentation soutenance du PFE
Présentation soutenance du PFEPrésentation soutenance du PFE
Présentation soutenance du PFEmarouan barssa
 
T1 corrections-qcm
T1 corrections-qcmT1 corrections-qcm
T1 corrections-qcminfcom
 
Rapport Projet Gestion des Etudiants avec C++
Rapport Projet Gestion des Etudiants avec C++Rapport Projet Gestion des Etudiants avec C++
Rapport Projet Gestion des Etudiants avec C++Saâd Zerhouni
 
Supervision industrielle www.automate pro.blogspot.com
Supervision industrielle www.automate pro.blogspot.comSupervision industrielle www.automate pro.blogspot.com
Supervision industrielle www.automate pro.blogspot.comAdnane Ahmidani
 

Mais procurados (20)

Rapport projet: relisation d'une app desktop
Rapport projet: relisation d'une app desktop Rapport projet: relisation d'une app desktop
Rapport projet: relisation d'une app desktop
 
Rapport projet de fin d'études: Elaboration d’un tableau de bord et politique...
Rapport projet de fin d'études: Elaboration d’un tableau de bord et politique...Rapport projet de fin d'études: Elaboration d’un tableau de bord et politique...
Rapport projet de fin d'études: Elaboration d’un tableau de bord et politique...
 
Rapport de projet de fin d'année
Rapport de projet de fin d'année Rapport de projet de fin d'année
Rapport de projet de fin d'année
 
Les systèmes d'information et tableau de bord
Les systèmes d'information et tableau de bordLes systèmes d'information et tableau de bord
Les systèmes d'information et tableau de bord
 
Cours Système Embarqué et Système d'exploitation mobile.pdf
Cours Système Embarqué et Système d'exploitation mobile.pdfCours Système Embarqué et Système d'exploitation mobile.pdf
Cours Système Embarqué et Système d'exploitation mobile.pdf
 
Systèmes d'Exploitation - chp2-gestion des processus
Systèmes d'Exploitation - chp2-gestion des processusSystèmes d'Exploitation - chp2-gestion des processus
Systèmes d'Exploitation - chp2-gestion des processus
 
Rapport de stage du fin d'étude
Rapport de stage du fin d'étudeRapport de stage du fin d'étude
Rapport de stage du fin d'étude
 
Conception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIREConception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIRE
 
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
 
cours-ADMINISTRATION DUN RESEAU INFORMATIQUE.pdf
cours-ADMINISTRATION DUN RESEAU INFORMATIQUE.pdfcours-ADMINISTRATION DUN RESEAU INFORMATIQUE.pdf
cours-ADMINISTRATION DUN RESEAU INFORMATIQUE.pdf
 
Memoire licence informatique application gestion personnel par herma - zita...
Memoire licence  informatique application gestion personnel  par herma - zita...Memoire licence  informatique application gestion personnel  par herma - zita...
Memoire licence informatique application gestion personnel par herma - zita...
 
Programmation de systèmes embarqués : Introduction aux systèmes embarqués
Programmation de systèmes embarqués : Introduction aux systèmes embarquésProgrammation de systèmes embarqués : Introduction aux systèmes embarqués
Programmation de systèmes embarqués : Introduction aux systèmes embarqués
 
Rapport Projet de fin d&rsquo;études
Rapport Projet de fin d&rsquo;étudesRapport Projet de fin d&rsquo;études
Rapport Projet de fin d&rsquo;études
 
Rapport Projet Fin d'Études PFE
Rapport Projet Fin d'Études PFERapport Projet Fin d'Études PFE
Rapport Projet Fin d'Études PFE
 
Rapport de stage d'initiation 2015 Mahmoudi Mohamed Amine
Rapport de stage d'initiation 2015 Mahmoudi Mohamed AmineRapport de stage d'initiation 2015 Mahmoudi Mohamed Amine
Rapport de stage d'initiation 2015 Mahmoudi Mohamed Amine
 
Microcontroleurs
MicrocontroleursMicrocontroleurs
Microcontroleurs
 
Présentation soutenance du PFE
Présentation soutenance du PFEPrésentation soutenance du PFE
Présentation soutenance du PFE
 
T1 corrections-qcm
T1 corrections-qcmT1 corrections-qcm
T1 corrections-qcm
 
Rapport Projet Gestion des Etudiants avec C++
Rapport Projet Gestion des Etudiants avec C++Rapport Projet Gestion des Etudiants avec C++
Rapport Projet Gestion des Etudiants avec C++
 
Supervision industrielle www.automate pro.blogspot.com
Supervision industrielle www.automate pro.blogspot.comSupervision industrielle www.automate pro.blogspot.com
Supervision industrielle www.automate pro.blogspot.com
 

Destaque

Introduction à la sécurité des applications web avec php [fr]
Introduction à la sécurité des applications web avec php [fr]Introduction à la sécurité des applications web avec php [fr]
Introduction à la sécurité des applications web avec php [fr]Wixiweb
 
An Overview of LoRA, Sigfox, and IEEE 802.11ah
An Overview of LoRA, Sigfox, and IEEE 802.11ahAn Overview of LoRA, Sigfox, and IEEE 802.11ah
An Overview of LoRA, Sigfox, and IEEE 802.11ahFaheem Zafari
 
Catalogue de bouchons pour bouteilles d'eau
Catalogue de bouchons pour bouteilles d'eauCatalogue de bouchons pour bouteilles d'eau
Catalogue de bouchons pour bouteilles d'eauSpirit Green Spirit
 
Déposer une thèse dans TEL ou HAL
Déposer une thèse dans TEL ou HALDéposer une thèse dans TEL ou HAL
Déposer une thèse dans TEL ou HALOAccsd
 
Les nouveaux modèles de gestion de l'eau (Mars 2012)
Les nouveaux modèles de gestion de l'eau (Mars 2012)Les nouveaux modèles de gestion de l'eau (Mars 2012)
Les nouveaux modèles de gestion de l'eau (Mars 2012)PwC France
 
Annual Results and Impact Evaluation Workshop for RBF - Day One - Utiliser le...
Annual Results and Impact Evaluation Workshop for RBF - Day One - Utiliser le...Annual Results and Impact Evaluation Workshop for RBF - Day One - Utiliser le...
Annual Results and Impact Evaluation Workshop for RBF - Day One - Utiliser le...RBFHealth
 
Logiciels de prise de contrôle day
Logiciels de prise de contrôle dayLogiciels de prise de contrôle day
Logiciels de prise de contrôle daymickaelday
 
Fiches progress émergence projets
Fiches progress émergence projetsFiches progress émergence projets
Fiches progress émergence projetsaprova84
 
Habitudes de vie chap 1
Habitudes de vie chap 1Habitudes de vie chap 1
Habitudes de vie chap 1sebgiguere
 
Le replay de la semaine 1
Le replay de la semaine 1Le replay de la semaine 1
Le replay de la semaine 1Simon Gomez
 
140318 se l_oger_ifop_construction
140318 se l_oger_ifop_construction140318 se l_oger_ifop_construction
140318 se l_oger_ifop_constructionMichel Lechenault
 
Systme de charge.ppt diramma
Systme de charge.ppt dirammaSystme de charge.ppt diramma
Systme de charge.ppt dirammajean
 
Manual bosch lavadora carga frontal waq2441 xes
Manual bosch   lavadora carga frontal waq2441 xesManual bosch   lavadora carga frontal waq2441 xes
Manual bosch lavadora carga frontal waq2441 xesAlsako Electrodomésticos
 

Destaque (20)

Introduction à la sécurité des applications web avec php [fr]
Introduction à la sécurité des applications web avec php [fr]Introduction à la sécurité des applications web avec php [fr]
Introduction à la sécurité des applications web avec php [fr]
 
An Overview of LoRA, Sigfox, and IEEE 802.11ah
An Overview of LoRA, Sigfox, and IEEE 802.11ahAn Overview of LoRA, Sigfox, and IEEE 802.11ah
An Overview of LoRA, Sigfox, and IEEE 802.11ah
 
Catalogue de bouchons pour bouteilles d'eau
Catalogue de bouchons pour bouteilles d'eauCatalogue de bouchons pour bouteilles d'eau
Catalogue de bouchons pour bouteilles d'eau
 
Déposer une thèse dans TEL ou HAL
Déposer une thèse dans TEL ou HALDéposer une thèse dans TEL ou HAL
Déposer une thèse dans TEL ou HAL
 
Les nouveaux modèles de gestion de l'eau (Mars 2012)
Les nouveaux modèles de gestion de l'eau (Mars 2012)Les nouveaux modèles de gestion de l'eau (Mars 2012)
Les nouveaux modèles de gestion de l'eau (Mars 2012)
 
Robot de cocina smeg SMF01CREU
Robot de cocina smeg SMF01CREURobot de cocina smeg SMF01CREU
Robot de cocina smeg SMF01CREU
 
Annual Results and Impact Evaluation Workshop for RBF - Day One - Utiliser le...
Annual Results and Impact Evaluation Workshop for RBF - Day One - Utiliser le...Annual Results and Impact Evaluation Workshop for RBF - Day One - Utiliser le...
Annual Results and Impact Evaluation Workshop for RBF - Day One - Utiliser le...
 
Curiosites
CuriositesCuriosites
Curiosites
 
Logiciels de prise de contrôle day
Logiciels de prise de contrôle dayLogiciels de prise de contrôle day
Logiciels de prise de contrôle day
 
Cuisine lyonnaise
Cuisine lyonnaiseCuisine lyonnaise
Cuisine lyonnaise
 
Congelador Siemens FI24DP32
Congelador Siemens FI24DP32Congelador Siemens FI24DP32
Congelador Siemens FI24DP32
 
Fiches progress émergence projets
Fiches progress émergence projetsFiches progress émergence projets
Fiches progress émergence projets
 
Habitudes de vie chap 1
Habitudes de vie chap 1Habitudes de vie chap 1
Habitudes de vie chap 1
 
Manual siemens campana lf28bc542
Manual siemens   campana lf28bc542Manual siemens   campana lf28bc542
Manual siemens campana lf28bc542
 
Manual siemens combi kg39nai22
Manual siemens   combi kg39nai22Manual siemens   combi kg39nai22
Manual siemens combi kg39nai22
 
Le replay de la semaine 1
Le replay de la semaine 1Le replay de la semaine 1
Le replay de la semaine 1
 
140318 se l_oger_ifop_construction
140318 se l_oger_ifop_construction140318 se l_oger_ifop_construction
140318 se l_oger_ifop_construction
 
Systme de charge.ppt diramma
Systme de charge.ppt dirammaSystme de charge.ppt diramma
Systme de charge.ppt diramma
 
Manual bosch lavadora carga frontal waq2441 xes
Manual bosch   lavadora carga frontal waq2441 xesManual bosch   lavadora carga frontal waq2441 xes
Manual bosch lavadora carga frontal waq2441 xes
 
Nevera Siemens KG39NXI33
Nevera Siemens KG39NXI33Nevera Siemens KG39NXI33
Nevera Siemens KG39NXI33
 

Semelhante a Simulation d’un système à temps partagé

Introduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).pptIntroduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).pptMahdiHERMASSI1
 
Cours Microsoft Windows 2003 Server 1ere Partie 6 Mars 2008
Cours Microsoft Windows 2003 Server 1ere Partie 6 Mars 2008Cours Microsoft Windows 2003 Server 1ere Partie 6 Mars 2008
Cours Microsoft Windows 2003 Server 1ere Partie 6 Mars 2008guest9dd59e
 
Cours windows-2003-server
Cours windows-2003-serverCours windows-2003-server
Cours windows-2003-servermbarek_slide
 
Exposé de SE Systemes distribués
Exposé de SE Systemes distribuésExposé de SE Systemes distribués
Exposé de SE Systemes distribuésYoussouf Saleh Gao
 
Creation de cluster (Master et deux slave ) nfs, htcondor, mpi
Creation de cluster (Master et deux slave ) nfs, htcondor, mpiCreation de cluster (Master et deux slave ) nfs, htcondor, mpi
Creation de cluster (Master et deux slave ) nfs, htcondor, mpiKhalid EDAIG
 
Gestion des threads
Gestion des threadsGestion des threads
Gestion des threadsSana Aroussi
 
0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.ppt0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.pptDenisKouakou1
 
La technologie des systemes distribués 2 ppt2222.pptx
La technologie des systemes distribués 2 ppt2222.pptxLa technologie des systemes distribués 2 ppt2222.pptx
La technologie des systemes distribués 2 ppt2222.pptxkaoutarghaffour
 
Maintenance equipement info dans un environnement reseau
Maintenance equipement info dans un environnement reseau Maintenance equipement info dans un environnement reseau
Maintenance equipement info dans un environnement reseau JennellyHollywood Shookou
 
Cours SE linux
Cours SE linuxCours SE linux
Cours SE linuxIdriss22
 
srep_cours_01.pdf
srep_cours_01.pdfsrep_cours_01.pdf
srep_cours_01.pdfSamirAwad14
 
Restructuration d applications Java Temps réel
Restructuration d applications Java Temps réelRestructuration d applications Java Temps réel
Restructuration d applications Java Temps réelCédric Mouats
 
resume-theorique-m104-2203-6246fb9f3e558 (2).pdf
resume-theorique-m104-2203-6246fb9f3e558 (2).pdfresume-theorique-m104-2203-6246fb9f3e558 (2).pdf
resume-theorique-m104-2203-6246fb9f3e558 (2).pdfFootballLovers9
 
Système d’exploitation: Principe
Système d’exploitation: PrincipeSystème d’exploitation: Principe
Système d’exploitation: PrincipeSouhaib El
 
Cours sys 2PPT20.pdf
Cours sys 2PPT20.pdfCours sys 2PPT20.pdf
Cours sys 2PPT20.pdfC00LiMoUn
 

Semelhante a Simulation d’un système à temps partagé (20)

Introduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).pptIntroduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).ppt
 
Cours Microsoft Windows 2003 Server 1ere Partie 6 Mars 2008
Cours Microsoft Windows 2003 Server 1ere Partie 6 Mars 2008Cours Microsoft Windows 2003 Server 1ere Partie 6 Mars 2008
Cours Microsoft Windows 2003 Server 1ere Partie 6 Mars 2008
 
Cours windows-2003-server
Cours windows-2003-serverCours windows-2003-server
Cours windows-2003-server
 
Cour1
Cour1Cour1
Cour1
 
Exposé de SE Systemes distribués
Exposé de SE Systemes distribuésExposé de SE Systemes distribués
Exposé de SE Systemes distribués
 
Creation de cluster (Master et deux slave ) nfs, htcondor, mpi
Creation de cluster (Master et deux slave ) nfs, htcondor, mpiCreation de cluster (Master et deux slave ) nfs, htcondor, mpi
Creation de cluster (Master et deux slave ) nfs, htcondor, mpi
 
Gestion des threads
Gestion des threadsGestion des threads
Gestion des threads
 
0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.ppt0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.ppt
 
La technologie des systemes distribués 2 ppt2222.pptx
La technologie des systemes distribués 2 ppt2222.pptxLa technologie des systemes distribués 2 ppt2222.pptx
La technologie des systemes distribués 2 ppt2222.pptx
 
Rapport de fin de stage maintenance info
Rapport de fin de stage  maintenance infoRapport de fin de stage  maintenance info
Rapport de fin de stage maintenance info
 
Maintenance equipement info dans un environnement reseau
Maintenance equipement info dans un environnement reseau Maintenance equipement info dans un environnement reseau
Maintenance equipement info dans un environnement reseau
 
Rapport de fin de stage maintenance info
Rapport de fin de stage  maintenance infoRapport de fin de stage  maintenance info
Rapport de fin de stage maintenance info
 
Chapitre 03
Chapitre 03Chapitre 03
Chapitre 03
 
Cours SE linux
Cours SE linuxCours SE linux
Cours SE linux
 
Tiny os
Tiny osTiny os
Tiny os
 
srep_cours_01.pdf
srep_cours_01.pdfsrep_cours_01.pdf
srep_cours_01.pdf
 
Restructuration d applications Java Temps réel
Restructuration d applications Java Temps réelRestructuration d applications Java Temps réel
Restructuration d applications Java Temps réel
 
resume-theorique-m104-2203-6246fb9f3e558 (2).pdf
resume-theorique-m104-2203-6246fb9f3e558 (2).pdfresume-theorique-m104-2203-6246fb9f3e558 (2).pdf
resume-theorique-m104-2203-6246fb9f3e558 (2).pdf
 
Système d’exploitation: Principe
Système d’exploitation: PrincipeSystème d’exploitation: Principe
Système d’exploitation: Principe
 
Cours sys 2PPT20.pdf
Cours sys 2PPT20.pdfCours sys 2PPT20.pdf
Cours sys 2PPT20.pdf
 

Mais de Bachir Benyammi

NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
Cadre pour l'amélioration de la cybersécurité des infrastructures critiques, ...
Cadre pour l'amélioration de la cybersécurité des infrastructures critiques, ...Cadre pour l'amélioration de la cybersécurité des infrastructures critiques, ...
Cadre pour l'amélioration de la cybersécurité des infrastructures critiques, ...Bachir Benyammi
 
Déclaration d'applicabilité (DdA) - ISO27002:2013
Déclaration d'applicabilité (DdA) - ISO27002:2013Déclaration d'applicabilité (DdA) - ISO27002:2013
Déclaration d'applicabilité (DdA) - ISO27002:2013Bachir Benyammi
 
Organigramme de la mise en œuvre du SMSI et processus de certification ISO 27...
Organigramme de la mise en œuvre du SMSI et processus de certification ISO 27...Organigramme de la mise en œuvre du SMSI et processus de certification ISO 27...
Organigramme de la mise en œuvre du SMSI et processus de certification ISO 27...Bachir Benyammi
 
كل ما تحب معرفته عن محرك البحث قوقل (Google)
كل ما تحب معرفته عن محرك البحث قوقل (Google)كل ما تحب معرفته عن محرك البحث قوقل (Google)
كل ما تحب معرفته عن محرك البحث قوقل (Google)Bachir Benyammi
 
Réalisation d'un site web dynamique mobile pour Air Algérie
Réalisation d'un site web dynamique mobile pour Air AlgérieRéalisation d'un site web dynamique mobile pour Air Algérie
Réalisation d'un site web dynamique mobile pour Air AlgérieBachir Benyammi
 
Evolution des exportations de marchandises en Algérie de de 1992 à 2004
Evolution des exportations de marchandises en Algérie de de 1992 à 2004Evolution des exportations de marchandises en Algérie de de 1992 à 2004
Evolution des exportations de marchandises en Algérie de de 1992 à 2004Bachir Benyammi
 
الموقع الإلكتروني لمصحة الواحات للتشخيص و العلاج
الموقع الإلكتروني لمصحة الواحات للتشخيص و العلاجالموقع الإلكتروني لمصحة الواحات للتشخيص و العلاج
الموقع الإلكتروني لمصحة الواحات للتشخيص و العلاجBachir Benyammi
 
Réalisation d’un site web pour la Clinique des Oasis Ghardaïa
Réalisation d’un site web pour la Clinique des Oasis GhardaïaRéalisation d’un site web pour la Clinique des Oasis Ghardaïa
Réalisation d’un site web pour la Clinique des Oasis GhardaïaBachir Benyammi
 
Le périphérique souris
Le périphérique sourisLe périphérique souris
Le périphérique sourisBachir Benyammi
 
L'équipe de développement
L'équipe de développementL'équipe de développement
L'équipe de développementBachir Benyammi
 
L'équipe de développement
L'équipe de développementL'équipe de développement
L'équipe de développementBachir Benyammi
 
Le périphérique souris (programmation)
Le périphérique souris (programmation)Le périphérique souris (programmation)
Le périphérique souris (programmation)Bachir Benyammi
 
Programmation réseau en JAVA
Programmation réseau en JAVAProgrammation réseau en JAVA
Programmation réseau en JAVABachir Benyammi
 
Programmation réseau en JAVA
Programmation réseau en JAVAProgrammation réseau en JAVA
Programmation réseau en JAVABachir Benyammi
 
Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...
Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...
Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...Bachir Benyammi
 
Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...
Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...
Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...Bachir Benyammi
 
Réalisation d'un compilateur de mini langage - Khawarizmi
Réalisation d'un compilateur  de mini langage - KhawarizmiRéalisation d'un compilateur  de mini langage - Khawarizmi
Réalisation d'un compilateur de mini langage - KhawarizmiBachir Benyammi
 
Réalisation d’un interpréteur en langue Arabe - Khawarizmi
Réalisation d’un interpréteur en langue Arabe - KhawarizmiRéalisation d’un interpréteur en langue Arabe - Khawarizmi
Réalisation d’un interpréteur en langue Arabe - KhawarizmiBachir Benyammi
 

Mais de Bachir Benyammi (19)

NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
Cadre pour l'amélioration de la cybersécurité des infrastructures critiques, ...
Cadre pour l'amélioration de la cybersécurité des infrastructures critiques, ...Cadre pour l'amélioration de la cybersécurité des infrastructures critiques, ...
Cadre pour l'amélioration de la cybersécurité des infrastructures critiques, ...
 
Déclaration d'applicabilité (DdA) - ISO27002:2013
Déclaration d'applicabilité (DdA) - ISO27002:2013Déclaration d'applicabilité (DdA) - ISO27002:2013
Déclaration d'applicabilité (DdA) - ISO27002:2013
 
Organigramme de la mise en œuvre du SMSI et processus de certification ISO 27...
Organigramme de la mise en œuvre du SMSI et processus de certification ISO 27...Organigramme de la mise en œuvre du SMSI et processus de certification ISO 27...
Organigramme de la mise en œuvre du SMSI et processus de certification ISO 27...
 
كل ما تحب معرفته عن محرك البحث قوقل (Google)
كل ما تحب معرفته عن محرك البحث قوقل (Google)كل ما تحب معرفته عن محرك البحث قوقل (Google)
كل ما تحب معرفته عن محرك البحث قوقل (Google)
 
Réalisation d'un site web dynamique mobile pour Air Algérie
Réalisation d'un site web dynamique mobile pour Air AlgérieRéalisation d'un site web dynamique mobile pour Air Algérie
Réalisation d'un site web dynamique mobile pour Air Algérie
 
Evolution des exportations de marchandises en Algérie de de 1992 à 2004
Evolution des exportations de marchandises en Algérie de de 1992 à 2004Evolution des exportations de marchandises en Algérie de de 1992 à 2004
Evolution des exportations de marchandises en Algérie de de 1992 à 2004
 
الموقع الإلكتروني لمصحة الواحات للتشخيص و العلاج
الموقع الإلكتروني لمصحة الواحات للتشخيص و العلاجالموقع الإلكتروني لمصحة الواحات للتشخيص و العلاج
الموقع الإلكتروني لمصحة الواحات للتشخيص و العلاج
 
Réalisation d’un site web pour la Clinique des Oasis Ghardaïa
Réalisation d’un site web pour la Clinique des Oasis GhardaïaRéalisation d’un site web pour la Clinique des Oasis Ghardaïa
Réalisation d’un site web pour la Clinique des Oasis Ghardaïa
 
Le périphérique souris
Le périphérique sourisLe périphérique souris
Le périphérique souris
 
L'équipe de développement
L'équipe de développementL'équipe de développement
L'équipe de développement
 
L'équipe de développement
L'équipe de développementL'équipe de développement
L'équipe de développement
 
Le périphérique souris (programmation)
Le périphérique souris (programmation)Le périphérique souris (programmation)
Le périphérique souris (programmation)
 
Programmation réseau en JAVA
Programmation réseau en JAVAProgrammation réseau en JAVA
Programmation réseau en JAVA
 
Programmation réseau en JAVA
Programmation réseau en JAVAProgrammation réseau en JAVA
Programmation réseau en JAVA
 
Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...
Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...
Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...
 
Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...
Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...
Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...
 
Réalisation d'un compilateur de mini langage - Khawarizmi
Réalisation d'un compilateur  de mini langage - KhawarizmiRéalisation d'un compilateur  de mini langage - Khawarizmi
Réalisation d'un compilateur de mini langage - Khawarizmi
 
Réalisation d’un interpréteur en langue Arabe - Khawarizmi
Réalisation d’un interpréteur en langue Arabe - KhawarizmiRéalisation d’un interpréteur en langue Arabe - Khawarizmi
Réalisation d’un interpréteur en langue Arabe - Khawarizmi
 

Último

Exercice de FLE pour enfants sur les transports et les prépositions
Exercice de FLE pour enfants sur les transports et les prépositionsExercice de FLE pour enfants sur les transports et les prépositions
Exercice de FLE pour enfants sur les transports et les prépositionslaetitiachassagne
 
Présentation de lancement de la SAE203 - MMI S2
Présentation de lancement de la SAE203 - MMI S2Présentation de lancement de la SAE203 - MMI S2
Présentation de lancement de la SAE203 - MMI S2JeanLucHusson
 
Formation M2i - Femmes entrepreneures : soyez actrices du changement
Formation M2i - Femmes entrepreneures : soyez actrices du changementFormation M2i - Femmes entrepreneures : soyez actrices du changement
Formation M2i - Femmes entrepreneures : soyez actrices du changementM2i Formation
 
Rapport projet de fin d'études licence PFE
Rapport projet de fin d'études licence PFERapport projet de fin d'études licence PFE
Rapport projet de fin d'études licence PFEAhmam Abderrahmane
 
La Projection orthogonale en dessin technique
La Projection orthogonale en dessin techniqueLa Projection orthogonale en dessin technique
La Projection orthogonale en dessin techniquessuser4dbdf2
 
Semaine de la Passion de Jésus-Christ.pptx
Semaine de la Passion de Jésus-Christ.pptxSemaine de la Passion de Jésus-Christ.pptx
Semaine de la Passion de Jésus-Christ.pptxMartin M Flynn
 
Planning de la semaine du 25 mars au 2 avril 2024
Planning de la semaine du 25 mars au 2 avril 2024Planning de la semaine du 25 mars au 2 avril 2024
Planning de la semaine du 25 mars au 2 avril 2024frizzole
 

Último (7)

Exercice de FLE pour enfants sur les transports et les prépositions
Exercice de FLE pour enfants sur les transports et les prépositionsExercice de FLE pour enfants sur les transports et les prépositions
Exercice de FLE pour enfants sur les transports et les prépositions
 
Présentation de lancement de la SAE203 - MMI S2
Présentation de lancement de la SAE203 - MMI S2Présentation de lancement de la SAE203 - MMI S2
Présentation de lancement de la SAE203 - MMI S2
 
Formation M2i - Femmes entrepreneures : soyez actrices du changement
Formation M2i - Femmes entrepreneures : soyez actrices du changementFormation M2i - Femmes entrepreneures : soyez actrices du changement
Formation M2i - Femmes entrepreneures : soyez actrices du changement
 
Rapport projet de fin d'études licence PFE
Rapport projet de fin d'études licence PFERapport projet de fin d'études licence PFE
Rapport projet de fin d'études licence PFE
 
La Projection orthogonale en dessin technique
La Projection orthogonale en dessin techniqueLa Projection orthogonale en dessin technique
La Projection orthogonale en dessin technique
 
Semaine de la Passion de Jésus-Christ.pptx
Semaine de la Passion de Jésus-Christ.pptxSemaine de la Passion de Jésus-Christ.pptx
Semaine de la Passion de Jésus-Christ.pptx
 
Planning de la semaine du 25 mars au 2 avril 2024
Planning de la semaine du 25 mars au 2 avril 2024Planning de la semaine du 25 mars au 2 avril 2024
Planning de la semaine du 25 mars au 2 avril 2024
 

Simulation d’un système à temps partagé

  • 1. REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE MINISTERE D’ENSEIGNEMENT SUPERIEUR ET DE RECHERCHE SCIENTIFIQUE Faculté Des Sciences Et De L’ingénierie Institue De Génie Informatique Module De Système d’exploitation Simulation du Année universitaire 2005 - 2006 Réalisé par :  BENYAMMI Bachir Encadré par : Mr. YAGOUBI
  • 2. Simulation d’un système à temps partagé 1 Sommaire ……………………………………………………………………………………………...………………...... 01 I. Introduction ……………………………………………………………………………………………...………………... 02 II. Historique …………………………………………………………………………………………...…………….…….... 03 III. Définition ……………………………………………………………………………………………...…………….…….... 04 IV. Simulation d’un système à temps partagé ………………………………………………………....... 05 1. Introduction ……………………………………………………...…………………………………………. 05 2. Outil de réalisation………….…………….…………….…………….…………….……………...... 05 3. Schéma du l’application .…………….…………….…………….…………….………………...... 05 V. Gestion des processus …………………….…………….…………….…………….…………….…………….. 06 1. Introduction ……………………………………...…………………………………………………………. 06 2. Analyse globale …….……….…………….…………….…………….…………….………………...... 06 3. Analyse détaillé …………..…………….…………….…………….…………….………………...... 06 4. Aperçu sur le programme .………………………………………………………………………. 08 1. Comptes d’utilisateurs .……………………………………..……………………………. 08 2. Gestionnaire des taches .………………………………………………………………. 10 5. Aperçu sur le code source .……….…………….…………….…………….………………...... 11 6. Résumé …….…………….………………......…….…………….………………......…….…………….… 14 VI. Gestion de la mémoire …………………….…………….…………….…………….…………….…………….. 15 1. Introduction ……………………………………...…………………………………………………………. 15 2. Définitions …………………………..…………...…………………………………………………………. 15 1. Mémoire virtuelle paginée .………………………………………………………….…. 15 2. Chaîne de référence .……………………………………………………………………… 15 3. Défaut de page .……………………………………………………………………………….. 15 4. Déplacement et remplacement .……………………………….……………………. 15 3. Analyse globale …….……….…………….…………….…………….…………….………………...... 17 4. Analyse détaillé …………..…………….…………….…………….…………….………………...... 17 5. Aperçu sur le programme .………………………………………………………………………. 18 6. Aperçu sur le code source .……….…………….…………….…………….………………...... 19 7. Résumé …….…………….………………......…….…………….………………......…….…………….… VII. La représentation graphique…….…………….………………......…….…………….……..……….... 1. Introduction……………………………………...………………………………………….…………………. 2. Aperçu sur le programme.…………………………………………………………………..………. 3. Aperçu sur le code source.……….…………….…………….…………….………………........... 4. Résumé…….…………….………………......…….…………….………………......…….………….….……. Glossaire…….…………….………………......…….…………….………………......…….…………….….……………………. Bibiographie…….…………….………………......…….…………….………………......…….….………….…………………. 21 22 22 22 23 23 24 25 Sommaire
  • 3. Simulation d’un système à temps partagé 2 I. Introduction La gestion du temps est l'un des problèmes majeurs des systèmes d'exploitation. La raison est simple : les systèmes d'exploitation modernes sont tous multitâche, or ils utilisent du matériel basé sur des processeurs qui ne le sont pas, ce qui oblige le système à partager le temps du processeur entre les différentes tâches (processus). Cette notion de partage implique une gestion du passage d'une tâche à l'autre qui est effectuée par un ensemble d'algorithmes d’ordonnancement appelé Ordonnanceur (schedule). L'invention du temps partagé est le fruit d'une simple constatation: l'homme est beaucoup plus lent que la machine et prend un temps non négligeable pour élaborer une requête ou analyser les réponses de l'ordinateur. Dans toute phase d'interaction la machine attend. C'est pour rendre l'utilisation de l'ordinateur plus "conviviale" qu'ont été développés les systèmes d'exploitation "temps partagé" permettant aux utilisateurs de se connecter à plusieurs sur un seul ordinateur tout en ayant l'impression de disposer d'un ordinateur personnel interactif pour chacun.
  • 4. Simulation d’un système à temps partagé 3 II. Historique Le concept de temps partagé a été décrit d'abord par Bob Bemer en 1957 dans un article de la revue Automatic Control Magazine Christopher Strachey est parfois crédité de l'invention du temps partagé. Toutefois ce qu'il décrit est plus proche du multitâche En Novembre 1961 : MIT ont développé le CTSS (Compatible Time Sharing System), le premier système d'exploitation Multi-Utilisateurs, seulement 3 utilisateurs se sont connecté simultanément sur un ordinateur pour y travailler comme si chacun disposait de sa propre machine. En 1961 : Le projet MAC (Multi Access Computer) du MIT est réalisé pour but de permettre à plusieurs personnes de travailler sur un même ordinateur en même temps pour éliminer les temps d'attente du traitement par lot. Entre 1962 et Septembre 1964 : le Dartmouth Collage a développé le système d'exploitation DTSS (Dartmouth Time Sharing System) permettant à 32 personnes de se connecter simultanément sur un même ordinateur, il était utilisé pour donner des cours de langage BASIC aux étudiants. FIG 1 : Le SE DTSS En Avril 1970 : Lancement de la ligne de mini-ordinateurs PDP-11 par Digital Equipment Corporation. Il s'agit d'une ligne Ade machines toutes compatibles entre elles basées sur un processeur 16 bits
  • 5. Simulation d’un système à temps partagé 4 III. Définition du Temps partagé Technique consistant à partager le temps de calcul d'une machine centrale entre plusieurs utilisateurs, qui travaillent en général sur des terminaux idiots qui n'ont rien dans le ventre tandis que le serveur est aussi puissant que possible. Time- sharing en anglais. La fonction d'un système temps partagé est de donner à tous ces acteurs humains l'impression qu'ils sont chacun seul en face de la machine. Chacun doit avoir le sentiment que l'ordinateur est à sa disposition; la qualité du service sera appréciée en termes de temps de réponse. Il faut donc ajouter les services adéquats pour tenir compte du fait que l'ordinateur est utilisé simultanément par un grand nombre de personnes. On combine donc dans un tel système les aspects évoqués pour les ordinateurs individuels et transactionnels. Il faut ajouter un programme gestionnaire qui partage le temps disponible entre les différents utilisateurs.
  • 6. Simulation d’un système à temps partagé 5 IV. Simulation d’un système à temps partagé 1. Introduction Le système d’exploitation d’un ordinateur est chargé d’assurer les fonctionnalités de communication et d’interface entre l’utilisateur et le matériel. Un SE (OS) est un logiciel dont les grands domaines d’intervention sont divers:  Gestion des processus,  Gestion de la mémoire (physique et virtuelle),  Gestion des droits d’accès (Sécurité),  Gestion des fichiers (Système de fichiers),  Gestion des périphériques (Entrées-sorties),  ... Afin de comprendre les fonctions d’un système d’exploitation et les méthodes utilisées pour garder la stabilité du système. En essaient de simuler la gestion des processus dans un système à temps partagé ainsi que la gestion de la mémoire physique et virtuelle. 2. Outil de réalisation Le logiciel fait dans ce mini est réalisé avec l’outil Borland Delphi 07 Studio. Delphi est un IDE (Integrated Development Environment ) (environnement de développement intégré) de type RAD (Rapid Application Development) (Développement rapide d’application), basé sur le Pascal Objet. Il nous permet de réaliser rapidement et simplement des applications Windows en utilisent des composants réutilisables. Cette rapidité et souplesse de développement sont dues à une conception visuelle de l’application (WYSIWYG) (What You See Is What You Get). Delphi propose un ensemble très complet de composants visuels prêts à l’emploi incluant la quasi-totalité des composants Windows (fenêtres, boutons, boîtes de dialogue, menus, barres d’outils…) ainsi que des experts (Wizards) permettant de créer facilement divers types d’applications et de librairies (Base de données, composants, …). 3. Schéma du l’application FIG 2 : Schéma du l’application FIG 3 : Fenêtre principale
  • 7. Simulation d’un système à temps partagé 6 V. Gestion des processus 1. Introduction La gestion des processus est l’un des rôles les plus importants d’un SE. Le SE doit gérer d’une manière équitable et optimale l’ordonnancement et l’allocation des processus ainsi que les caractéristiques de chaque processus (état, ordonnancement, registres, mémoire, E/S, contrôle d’accès, signalisation, …). Le système à temps partagé est un système Multi-Utilisateur ; c-à-d plusieurs sessions sont ouvertes et plusieurs utilisateurs sont connectés au même temps. Le système doit bien gérer les demandes de chaque requête en allouant un quantum de temps à chaque processus. Le programme que nous avons réalisé est une simulation d’un système à temps partagé, par la gestion d’activité d’un ensemble d’utilisateurs. Le programme est composé de deux parties essentielles :  La gestion des utilisateurs,  La gestion des processus. Le but de ce mini projet est de comprendre les notions reliées aux systèmes à temps partagé ainsi d’avoir les avantages et les inconvénients de ce dernier. Tous ça ; par l’application de quelque fonctions tel que :  La gestion des sessions et des droits accès,  L’allocation des requête CPU et E/S,  L’attribution du quantum du temps,  Le contrôle de la file d’attente du CPU,  … 2. Analyse Globale Le déroulement de l’algorithme de simulation nous permet de gérer l’activité d’un ensemble d’utilisateurs. Après l’authentification des utilisateurs et la définition des requêtes (Type, Taille, Temps d’entrée) pour chaque utilisateur ; le système est prés pour la simulation. Pour chaque utilisateur: Pour chaque Requête: 1. Type (CPU ou E/S) 2. Taille 3. Temps d’entrée 4. Temps d’Occupation 5. Temps d’Attente 6. Durée d’Exécution 7. Temps Total 8. Taux d’Occupation 3. Analyse détaillée L’algorithme de déroulement est le suivant :  Début,  Authentification,  Définition des requêtes, Simulation Temps partagé
  • 8. Simulation d’un système à temps partagé 7  Si la requête est de type CPU alors Si le temps d’entrée est inférieur au compteur du système alors Si le temps d’occupation est inférieur à la taille de la requête alors  Incrémenter le temps d’occupation,  Calculer la durée d’exécution et le temps total et le taux d’occupation,  Incrémenter le temps d’attente d’autres requêtes. Si non terminer la requête. Fin Si. Si non passer à la requête suivante, Fin Si. Incrémenter le compteur du système.  Si non, si la requête est de type E/S Si le temps d’entrée est inférieur au compteur du système alors Si la durée d’exécution est inférieure à la taille de la requête alors  Incrémenter la durée d’exécution,  Calculer le temps total,  Passer à la requête suivante. Si non terminer la requête. Fin Si. Si non passer à la requête suivante, Fin Si. Incrémenter le compteur du système.  Fin Si.  Fin de simulation  L’organigramme est le suivant (FIG 4) FIG 4 : Organigramme de simulation des requêtes
  • 9. Simulation d’un système à temps partagé 8 4. Aperçu sur le programme Le programme est composé de deux parties essentielles :  Comptes d’utilisateurs  Gestionnaire des taches 1. Comptes d’utilisateurs C’est la gestion des utilisateurs, à l’aide de cette interface (FIG 5), on peut ajouter, modifier, supprimer des utilisateurs, seuls ces utilisateurs pouvant entrée dans le système et définir leurs propres requêtes CPU et E/S. FIG 5 : Gestion des comptes d’utilisateurs 1. Crée un nouvel utilisateur, 2. Ajouter l’utilisateur à la base de données, 3. Modifier l’info. d’un utilisateur, 4. Annuler les modifications des infos. d’un utilisateur, 5. Supprimer l’utilisateur, 6. Fermer la fenêtre, 7. Saisir le compte d’utilisateur, 8. Saisir le mot de passe d’utilisateur, 9. Définir l’état d’utilisateur, 10.Saisir le nom d’utilisateur, 11.Saisir le prénom d’utilisateur, 12.Saisir l’émail d’utilisateur, 13.Voir la liste des utilisateurs. Pour q’un utilisateur veuille entrer dans une session, il doit d’abord être enregistré, à l’authentification (FIG 5); le système demande un compte et un mot de passe. 1 1 1 2 4 6 7 1 10 11 121 5 1 9 1 8 3 131
  • 10. Simulation d’un système à temps partagé 9 FIG 6 : Authentification 1. Saisir le compte, 2. Saisir le mot de passe, 3. Entré dans la session, 4. Quitter la fenêtre. Si la connexion succède ; l’utilisateur peut ensuite définir ces requêtes CPU et E/S, (FIG 6) pour chaque requête ; l’utilisateur doit définir le type (CPU ou E/S), la taille et le temps d’entrée de la requête. Si la connexion est échouée, un message est apparaître. FIG 7 : Liste de requêtes 1. Choisir le type de la requête, 2. Définir la taille de la requête, 3. Définir le temps d’entrée de la requête, 4. Ajouter la requête à la liste, 5. Voir la liste des requêtes, 6. Supprimer la requête sélectionnée, 7. Valider les données, 8. Annuler l’opération. 1 1 1 2 4 3 1 1 1 2 3 4 5 6 7 8
  • 11. Simulation d’un système à temps partagé 10 2. Gestionnaire des taches Après la définition des requêtes le système est prés pour lancer la simulation. (FIG 7) FIG 8 : La simulation est en cours 1. La liste des utilisateurs, 2. La liste des requêtes, 3. La liste des requêtes CPU, 4. La liste des requêtes E/S, 5. L’état des requêtes, 6. L’état de la simulation, 7. Connexion d’un utilisateur, 8. Déconnexion d’un utilisateur, 9. Démarrer ou annuler la simulation, 10.Suspondu ou continue la simulation, 11.Contrôler la vitesse du CPU, 12.Compteur du système, 13.Fermer la fenêtre. A la fin du simulation, un message est apparaître (FIG 8 ) indiquant la fin du simulation, ainsi que des informations sur les requêtes traitées et le temps total du simulation. FIG 9 : Fin Simulation 1 1 1 5 131 11 0 121 101 1 2 1 3 1 4 9876 1
  • 12. Simulation d’un système à temps partagé 11 5.Aperçu sur le Code Source procedure TMainForm.ExecuteRequetesE_S; var i, j: integer; begin for i:= 0 to ListReq.Items.Count -1 do with ListReq.Items[i] do if (subItems[0] = 'E/S') then if (StrToInt(subItems[2]) <= Compteur) then begin // Recuperer le n° de la requete j := i; FindKey(ListReq, ListE_S, j); if (StrToInt(subItems[5]) < StrToInt(subItems[1])) then begin // Marquer la requete MettreUnPoint(ListReq, 9, i, '°'); //inc la duree d'exe des requetes E/S subItems[5] := IntToStr(StrToInt(subItems[5]) + 1); ListE_S.Items[j].subItems[2] := subItems[5]; //calculer le temps total des requetes E/S subItems[6] := IntToStr(StrToInt(subItems[5]) + StrToInt(subItems[2])); ListE_S.Items[j].subItems[3] := subItems[6]; end else begin // Marquer la fin de la requete MettreUnPoint(ListReq, 9, i, '.'); MettreUnPoint(ListE_S, 5, j, '.'); end; end end; function TMainForm.ExecuteRequeteCPU: boolean; var Taille, Temps_Occup, Temps_attente, Temps_Entre, Temps_Total, Duree_Exe, i, j, k, somme :integer; Taux : real; begin Result := True; with ListReq.Items[Req_acc] do begin Taille := StrToInt(subItems[1]); Temps_Entre := StrToInt(subItems[2]); Temps_Occup := StrToInt(subItems[3]); Temps_attente := StrToInt(subItems[4]); if Temps_Entre <= Compteur then if Temps_Occup < Taille then begin for i:= 0 to ListReq.Items.Count -1 do with ListReq.Items[i] do if (Caption <> ListReq.Items[Req_acc].Caption) and (subItems[0] = 'CPU') and (StrToInt(subItems[2]) <= Compteur) and (StrToInt(subItems[3]) < StrToInt(subItems[1])) then begin // Recuperer le n° de requete CPU j := i; FindKey(ListReq, ListCPU, j);
  • 13. Simulation d’un système à temps partagé 12 // Marquer la requete currente MettrePoint(ListReq, 9, i, ' '); // Inc le temps d'attente des autres requetes CPU subItems[4] := IntToStr(StrToInt(subItems[4])+ 1); ListCPU.Items[j].subItems[3] := subItems[4]; // Calculer la durée d'exe des autres requetes CPU subItems[5] := IntToStr(StrToInt(subItems[3]) + StrToInt(subItems[4])); ListCPU.Items[j].subItems[4] := subItems[5]; // Calculer le temps total des autres requetes CPU subItems[6] := IntToStr(StrToInt(subItems[5]) + StrToInt(subItems[2])); ListCPU.Items[j].subItems[5] := subItems[6]; end; // Recuperer le n° de requete CPU et le n° de l'utilisateur j := Req_acc; FindKey(ListReq, ListCPU, j); k := Req_acc; FindUser(ListReq, ListUsers, k); // Marquer la requete currente MettreUnPoint(ListReq, 9, Req_acc, '*'); //Inc le temps d'occupation du requete currente Inc(Temps_Occup); subItems[3] := IntToStr(Temps_Occup); // occup ListCPU.Items[j].subItems[2] := subItems[3]; //calculer la duree d'exe du requete currente Duree_Exe := Temps_Occup + Temps_attente; subItems[5] := IntToStr(Duree_Exe); // duree ListCPU.Items[j].subItems[4] := subItems[5]; //calculer le temps total du requete currente Temps_Total := Duree_Exe + Temps_Entre; subItems[6] := IntToStr(Temps_Total); // total ListCPU.Items[j].subItems[5] := subItems[6]; //Calculer la somme des temps d'occupation de tous les requetes somme := 0; for i:= 0 to ListReq.Items.Count -1 do if ListReq.Items[i].subItems[0] = 'CPU' then somme := somme + StrToInt(ListReq.Items[i].subItems[3]); if somme < 1 then somme := 1; for i:= 0 to ListReq.Items.Count -1 do with ListReq.Items[i] do if (subItems[0] = 'CPU') and (StrToInt(subItems[2]) <= Compteur) then begin // Recuperer le n° de requete CPU j := i; FindKey(ListReq, ListCPU, j); //Calculer le taux d'occupation du requete currente Taux := StrToInt(subItems[3]) * 100 / somme; subItems[7] := FormatFloat('#.##', Taux); ListCPU.Items[j].subItems[6] := subItems[7]; end end else begin
  • 14. Simulation d’un système à temps partagé 13 Result := False; // Recuperer le n° de requete CPU et le n° de l'utilisateur j := Req_acc; FindKey(ListReq, ListCPU, j); k := Req_acc; FindUser(ListReq, ListUsers, k); // Marquer la fin le la requete MettreUnPoint(ListReq, 9, Req_acc, '.'); end else Result := False; end; end; function TMainForm.ExistReqCPU: Boolean; var i: integer; begin result := False; if ListCPU.Items.Count < -1 then exit; for i:= 0 to ListCPU.Items.Count -1 do if (ListCPU.Items[i].subItems[8]) = '*' then begin result := True; Exit; end; end; procedure TMainForm.ExecutionRequete; var CPU: boolean; TypeReq, Point: String; begin CPU := False; // Execution de la requete Repeat TypeReq := ListReq.Items[Req_acc].SubItems[0]; Point := ListReq.Items[Req_acc].SubItems[9]; if Point <> '.' then if TypeReq = 'CPU' then CPU := ExecuteRequeteCPU; ExecuteRequetesE_S; // Passer à la requete suivante if Req_acc < ListReq.Items.Count -1 then Inc(Req_acc) else Req_acc := 0; Until Not ExistReqCPU or CPU = True end; procedure TMainForm.Timer_SumTimer(Sender: TObject); var Temps_Occp, Temps_Attente, Duree_Exe, Temps_Total, i, j: integer; ExistPoint: boolean; Compte: String; Taux: real; begin Timer_Sum.Enabled := false; // A ce que la sumilation est terminée ? => existence des ponts ExistPoint := True; for i:= 0 to ListReq.Items.Count - 1 do
  • 15. Simulation d’un système à temps partagé 14 if ListReq.Items[i].SubItems[9] <> '.' then begin ExistPoint := False; Break; end; if ExistPoint then begin for i := 0 to ListUsers.Items.Count - 1 do with ListUsers.Items[i] do begin Temps_Occp := 0; Temps_Attente := 0; Duree_Exe := 0; Temps_Total := 0; Taux := 0; Compte := SubItems[0]; for j := 0 to ListReq.Items.Count - 1 do with ListReq.Items[j] do if SubItems[8] = Compte then begin Inc(Temps_Occp, StrToInt(SubItems[3])); Inc(Temps_Attente, StrToInt(SubItems[4])); Inc(Duree_Exe, StrToInt(SubItems[5])); Inc(Temps_Total, StrToInt(SubItems[6])); Taux := Taux + StrToFloat(SubItems[7]); end; SubItems[3] := IntToStr(Temps_Occp); SubItems[4] := IntToStr(Temps_Attente); SubItems[5] := IntToStr(Duree_Exe); SubItems[6] := IntToStr(Temps_Total); SubItems[7] := FloatToStr(Taux); end; StatusBar1.Panels[0].Text := 'Simulation Terminée'; MessageDlg('Simulation Terminée' + #13 + ' Nbr d''utilisateurs : ' + IntToStr(ListUsers.Items.Count) + #13 + ' Nbr de requêtes : ' + IntToStr(ListReq.Items.Count) + #13 + ' Nbr de req. CPU : ' + IntToStr(ListCPU.Items.Count) + #13 + ' Nbr de req. E/S : ' + IntToStr(ListE_S.Items.Count) + #13 + ' Temps Total : ' + Lab_Temp_Total.Caption + ' seconde(s)', mtInformation, [MbOk], 0); Exit; end; // Inc et afficher le compteur Inc(Compteur); Lab_Temp_Total.Caption := IntToStr(Compteur); // Executer la requete ExecutionRequete; Timer_Sum.Enabled := true; end; 6. Résumé C'est pour rendre l'utilisation de l'ordinateur plus "conviviale" qu'ont été développés les systèmes temps partagé permettant aux utilisateurs de se connecter sur un seul ordinateur tout en ayant l'impression de disposer d'un ordinateur personnel interactif pour chacun. A l’aide du notre simulation, on a arrivé à comprendre et a imaginer la complexité de ces systèmes ; c’est la réunion des deux mondes : le PC personnel et les systèmes transactionnels.
  • 16. Simulation d’un système à temps partagé 15 VI. La gestion de la mémoire 1. Introduction Le mécanisme de mémoire virtuelle a été mis au point dans les années 1960. Il est basé sur l'utilisation d'une mémoire de masse (type disque dur ou anciennement un tambour), dans le but, entre autres, de permettre à des programmes de pouvoir s'exécuter dans un environnement matériel possédant moins de mémoire centrale que nécessaire. La mémoire virtuelle permet :  d'augmenter le taux de multiprogrammation.  de mettre en place des mécanismes de protection de la mémoire.  de partager la mémoire entre processus. Le terme ‘mémoire virtuelle’ est apparue en 1962 dans un article de référence de James Kilburn, il décrit le premier ordinateur doté d'un système de gestion de mémoire virtuelle paginée et utilisant un tambour comme extension de la mémoire centrale. Aujourd'hui, tous les systèmes d’exploitation ont un mécanisme de gestion de la mémoire virtuelle, sauf certains supercalculateurs ou systèmes embarqués temps réel. 2. Définitions 1. Mémoire virtuelle paginée Le principe est le suivant : par un mécanisme de translation, les adresses virtuelles, émises par le processeur, seront traduites en adresses physiques. De plus :  la mémoire virtuelle sera considérée comme une suite de zones de même taille appelée ‘page’.  la mémoire physique va être considérée comme une suite de zones de même taille appelée ‘cadre’.  les adresses mémoires issues par l’unité centrale sont des adresses virtuelles.  Une adresse virtuelle sera traduite en adresse physique par un mécanisme de translation. 2. Chaîne de référence Le comportement de programme au niveau de détail choisi est définit par séquence des numéros des pages ayant l’objet de références successif aux cours de son exécution. Cette séquence est appelle ‘chaîne de référence’ Pour le programme concéder et la taille de page choisit. 3. Défaut de page Le programme est initialement rangé en mémoire secondaire à un instant de donnée, seul un sous ensemble de ses pages est présent en mémoire principal. Si la prochaine référence est faite à une page absente de la mémoire principal, alors il y a un ‘défaut de page’.
  • 17. Simulation d’un système à temps partagé 16 4. Déplacement et remplacement En cas de présence des zones libres dans la mémoire principal, la gestion de la mémoire fait appel à des algorithmes de déplacement. Mais s’il n’ y a pas de place disponible ; la page demandée doit prendre la place d’une page déjà présente. Celle-ci est déterminée par des algorithmes de remplacement. Problème : Quand il n’y a pas de place en mémoire, quelle page doit être victime ? Une des solutions pour résoudre ce problème est le remplacement des pages. On utilise des algorithmes de remplacement (FIFO, OPTIMAL, LRU, SECONDE CHANCE), dans notre mini projet, on a choisi l’algorithme de la Seconde chance. Analyse et solution du problème La solution est de mètre en œuvre une mémoire virtuelle par un système de pagination à la demande pour résoudre le problème de défaut de pages. Principe de l’algorithme « seconde chance » Cet algorithme est basé sur le principe de remplacement ’FIFO’. Quand une page est sélectionnée, on scrute son bit de référence : s’il est égale a 0, on procède a son remplacement. Si le bit de référence est égale à 1, on donnera a cette page une seconde chance et on doit sélectionner la prochaine page selon FIFO. Quand une page a bénéficie de la seconde chance, son bit de référence est mise a 0 et son temps d’arrivée est réajusté au temps courant. Ainsi, une page ayant bénéficié d’une seconde chance ne sera remplacé que si toutes les autres pages ont été remplacées ou quelles ont obtenu une seconde chance. Exemple : La recherche est circulaire, Si le bit de référence égale à ‘1’, alors met son bit à ‘0’, Si le bit de référence égale à ‘0’, alors la page est choisie comme victime. FIG 10 : Déroulement de la seconde chance # de page0 # de page0 # de page1 # de page1 # de page0 # de page1 # de page1 victime suivante # de page0 # de page0 # de page0 # de page0 # de page0 # de page1 # de page1 victime choisie
  • 18. Simulation d’un système à temps partagé 17 3. Analyse globale  Partitions disponibles en mémoire centrale  Taille de pages.  Les références. Nombre de défaut de pages 4. Analyse détaillée Données :  Mémoire de trois partitions de taille fixe.  Les références.  Taille de page. Résultats :  Evaluation de défaut de pages à chaque changement de la taille de Page.  Représentation graphique des résultats. Organigramme : FIG 11 : Algorithme de la seconde chance Algorithme de La seconde chance
  • 19. Simulation d’un système à temps partagé 18 5. Aperçu sur le programme FIG 12 : Application de l’algorithme de la seconde chance 1. Saisir une adresse, 2. Ajouter une adresse, 3. Saisir la taille de la page, 4. Afficher la chaîne de référence, 5. Lancer la simulation, 6. Représentation de la taille du page et le nombre de défaut de page, 7. Initialisation des tables, 8. Initialisation de l’application, 9. Dessiner le graphe, 10.Fermer l’application, (+) : si le bit de référence a 1, (-) : si le bit de référence a 0, () : Indique la prochaine victime (ancienne ref). Explication : () : La prochaine victime (ancienne ref); 1-1er-3éme colonne : chaque nouvelle référence prend une signe (+) ; 2- 4éme colonne : l’entrée d’une nouvelle référence différente ; 2 3 75 6 10 4 8 9 +- 1
  • 20. Simulation d’un système à temps partagé 19 Tantque ref <> ‘’ debut : Si signe = ‘+’ alors { tester le signe de ancienne ref } signe = ‘-‘ {donner une seconde chance } Incrémenter ‘’ { passer a la ancienne ref suivante } Aller au debut Sinon ancienne page := nouv. Page {la nouv. ref remplace la ancienne ref.} Incrémenter ‘’ { passer a la ancienne ref suivante.} Fin Si Fin Tantque La liste des fonctions  Ajouter : Ajouter adresse à la liste des références,  Fixer : Calcul les adresses des pages à partir de Liste des références,  Initialiser : Faire l’initialisation (Vider la mém.),  Reprendre : Faire l’initialisation d’une nouvelle chaîne,  Fermer : Quitter la fenêtre. 6.Aperçu sur le Code Source procedure Tmemoire.btnSimulerClick(Sender: TObject); label Cas1, Cas2, Cas3, Cas4, Cas5, cas6; var DP, i:integer; begin cas1: DP:=1; st1.Cells[0,5]:='DP'; st1.Cells[0,2]:=st1.Cells[0,1]+'+'+'<-' ; cas2:if ( st1.Cells[0,1] <> st1.cells[1,1] ) then begin st1.Cells[1,2]:=st1.Cells[0,2]; st1.Cells[1,3]:=st1.Cells[1,1]+'+' ; DP:=DP+1; st1.Cells[1,5] :='DP'; end else st1.Cells[1,2]:=st1.Cells[0,2]; cas3:if (st1.cells[2,1]<> '') then begin if (st1.cells[1,1]<>st1.cells[2,1]) and (st1.cells[0,1]<>st1.cells[2,1])then begin st1.Cells[2,2]:=st1.Cells[1,2] ; st1.Cells[2,3]:=st1.Cells[1,3] ; st1.Cells[2,4]:=st1.Cells[2,1]+'+' ; DP:=DP+1; st1.Cells[2,5]:='DP'; end else begin st1.Cells[2,2]:= copy(st1.Cells[1,2], 0, 2); st1.Cells[2,3]:=st1.Cells[1,3]+'<-' ; end; end;
  • 21. Simulation d’un système à temps partagé 20 cas4: if (st1.cells[3,1]<> '') then begin if (copy(st1.Cells[2,2], 0, 1)=st1.Cells[3,1]) or (copy(st1.Cells[2,3], 0, 1)=st1.Cells[3,1]) or (copy(st1.Cells[2,4], 0, 1)=st1.Cells[3,1]) then begin if(st1.Cells[3,1]= copy(st1.Cells[2,2], 0, 1))then begin st1.Cells[3,2]:=copy(st1.Cells[2,2], 0, 2); st1.Cells[3,3]:=st1.Cells[2,3]+'<-'; st1.Cells[3,4]:=st1.Cells[2,4]; {goto Cas6; } end; if (copy(st1.Cells[2,3], 0, 1)=st1.Cells[3,1]) or (copy(st1.Cells[2,4], 0, 1)=st1.Cells[3,1]) then begin st1.Cells[3,2]:=st1.Cells[2,2]; st1.Cells[3,3]:=st1.Cells[2,3]; st1.Cells[3,4]:=st1.Cells[2,4]; end; end; if (st1.Cells[2,3]= '') then begin if (st1.Cells[2,1]<>st1.Cells[3,1]) then begin st1.Cells[3,3]:=st1.Cells[3,1]+ '+'; st1.Cells[3,2]:=st1.Cells[2,2]; DP:=DP+1; st1.Cells[3,5]:='DP'; end else begin st1.Cells[3,2]:=st1.Cells[2,2]; st1.Cells[3,3]:=st1.Cells[2,3]; end; end else if (st1.Cells[2,4]='') then begin st1.Cells[3,2]:=st1.Cells[2,2]; st1.Cells[3,3]:=st1.Cells[2,3]; st1.Cells[3,4]:=st1.Cells[3,1]+'+' ; DP:=DP+1; st1.Cells[3,5]:='DP'; end; if(st1.Cells[2,3]<>'')and(st1.Cells[2,4]<>'')then begin if (st1.Cells[3,1]<>st1.Cells[0,1]) and (st1.Cells[3,1]<>st1.Cells[1,1]) and (st1.Cells[3,1]<>st1.Cells[2,1]) then begin st1.Cells[3,2]:= st1.Cells[3,1] + '+' ; st1.Cells[3,3]:=copy(st1.Cells[2,3], 0, 1) + '-'+ '<-' ; st1.Cells[3,4]:=copy(st1.Cells[2,4], 0, 1) + '-'; DP:=DP+1; st1.Cells[3,5]:='DP'; end ; end ; end; Cas6: if (st1.cells[4,1]<> '') then //5 begin
  • 22. Simulation d’un système à temps partagé 21 if (copy(st1.Cells[3,3], 0, 1)=st1.Cells[4,1]) then begin st1.Cells[4,2]:=st1.Cells[3,2]; st1.Cells[4,3]:=copy(st1.Cells[3,3], 0, 1)+'+'; st1.Cells[4,4]:=st1.Cells[3,4]+'<-'; goto Cas6; end; if (copy(st1.Cells[3,2], 0, 1)=st1.Cells[4,1]) then begin st1.Cells[4,2]:=st1.Cells[3,2]; st1.Cells[4,3]:=st1.Cells[3,3]; st1.Cells[4,4]:=st1.Cells[3,4]; end; if (copy(st1.Cells[3,4], 0, 1)=st1.Cells[4,1]) then begin st1.Cells[4,2]:=st1.Cells[3,2]; st1.Cells[4,3]:=st1.Cells[3,3]; st1.Cells[4,4]:=copy(st1.Cells[3,4], 0, 1)+'+'; end; if (copy(st1.Cells[3,2], 0, 1)<>st1.Cells[4,1]) and (copy(st1.Cells[3,3], 0, 1)<>st1.Cells[4,1]) and (copy(st1.Cells[3,4], 0, 1)<>st1.Cells[4,1]) then begin st1.Cells[4,2]:=st1.Cells[3,2]; st1.Cells[4,3]:=st1.Cells[4,1]+'+'; st1.Cells[4,4]:=copy(st1.Cells[3,4], 0, 1)+ '-' + '<-'; DP:=DP+1; st1.Cells[4,5]:='DP'; end; st1.Cells[5,2]:=st1.Cells[4,2]; st1.Cells[5,3]:=st1.Cells[4,3]; st1.Cells[5,4]:=st1.Cells[4,4]; st1.Cells[6,2]:=st1.Cells[4,2]; st1.Cells[6,3]:=st1.Cells[4,3]+'<-'; st1.Cells[6,4]:=copy(st1.Cells[4,4], 0, 1)+'+'; st1.Cells[7,2]:=st1.Cells[4,2]; st1.Cells[7,3]:=st1.Cells[6,3]; st1.Cells[7,4]:=st1.Cells[6,4]; end; for i:= 1 to 5 do if SgDP.Cells[i, 0] = '' then break; SgDP.Cells[i, 0] := IntToSTr(Taille); SgDP.Cells[i, 1] := IntToSTr(DP); end; 7. Résumé L’algorithme de seconde chance est plus efficace par rapport au FIFO et LRU, mais il est difficile a implémentée à cause à l’usage des bits de référence et la mise à jour du temps de chargement et la recherche circulaire.
  • 23. Simulation d’un système à temps partagé 22 VII. La représentation graphique 1. Introduction Cette interface nous permet de visualiser les résultats obtenus dans la simulation de la mémoire virtuelle, le graphe représente le rapport entre la taille de page et le défaut de page. 2. Aperçu sur le programme Le tableau est un composant (TStringGrid) nous permet de remplir des données rangés dans des lignes et de colonnes. Le graphe est un composant (TChart) qui nous permet de dessiner des schémas graphique  L'axe des x représente la taille de page L'axe des y représente le défaut de pages. FIG 13 : Répréhension graphique des résultats 10 12 9 1 2 3 11 4 6 7 85
  • 24. Simulation d’un système à temps partagé 23 1. Charger la table à partir d’un fichier, 2. Sauver la table dans un fichier, 3. Effacer la table, 4. Dessiner la table, 5. Copie le graphe dans la mémoire, 6. Sauver le graphe dans un fichier, 7. Effacer le graphe, 8. Agrandir et minimiser le graphe, 9. Table d’essais, 10.Discussion des résultats. 11.Les défauts de page, 12.La représentation graphique. 3. Aperçu sur le code source //Dessiner un point (x,y): procedure TFrmGraphe.Dessiner_Point(x,y:integer); begin with graphe.SeriesList.Series[0] do begin ParentChart:=graphe; AddXY(x,y,'',clRed ); end; end; //Dessiner le graphe procedure TFrmGraphe.Dessiner_Graphe; var i:integer; begin for i:=1 to 5 do Dessiner_Point (StrToInt(SG_Res.Cells[0,i]), StrToInt(SG_Res.Cells[1,i])); end; 4. Résumé Il est clair que le graphe montre bien la relation entre la taille de page et le défaut de pages. La relation entre la taille et le défaut de page est réflexive. Lorsque la taille de page augmente ; le nombre de défaut de pages diminue.
  • 25. Simulation d’un système à temps partagé 24 Christopher Strachey (1916-1975) est l'un des premiers à avoir prôné une approche mathématique dans la programmation. Il a développé des travaux sur la sémantique et la programmation d'un petit système d'exploitation O6 6 (en 1972) en utilisant un langage de programmation universel (pour son temps) appelé CPL puis BCPL, dont se sont inspirés Ken Thompson pour créer B et Dennis Ritchie pour le langage C. John McCarthy Est le principal pionnier de l'intelligence artificielle avec Marvin Minsky, Il est également l'inventeur en 1958 du langage Lisp. À la fin des années 50, il a créé avec Fernando Cobarto la technique du temps partagé, qui permet à plusieurs utilisateurs d'employer simultanément un même ordinateur. MIT Le MIT (Massachusetts Institute of Technology) a été fondé en 1861 par William Barton Rogers. Le MIT est une institution de recherche et une université américaine, leader mondiale spécialisée dans les domaines de la science et de la technologie. Il est aussi réputé dans d'autres domaines comme le management, l'économie, la linguistique, les sciences politiques et la philosophie. PDP-11 Mini-ordinateur inaugure chez Digital en 1970, la première ligne de mini- ordinateurs 16 bits, ces périphériques sont branchés sur un bus système unique ou ils peuvent transférer des données sans intervention du processeur, 04 utilisateurs peut utiliser la machine au même temps Ordonnanceur Dans les systèmes d'exploitation l’ordonnanceur désigne le module du noyau du système d'exploitation qui choisit les processus qui vont être exécutés par les processeurs d'un ordinateur. Le rôle de l'ordonnanceur est de permettre à tous les processus de s'exécuter et d'utiliser le processeur de manière optimale du point de vue de l'utilisateur. WYSIWYG Est un acronyme (What you see is what you get signifiant « ce que vous voyez est ce que vous obtenez » ou plus élégamment « tel écran, tel écrit ») couramment utilisé en informatique pour désigner les interfaces utilisateur graphiques permettant de composer visuellement le résultat voulu, typiquement pour un logiciel de mise en page, un traitement de texte ou d'image. Il désigne, de fait, une interface « intuitive » : l'utilisateur voit directement à l'écran à quoi ressemblera le résultat final (imprimé). Glossaire
  • 26. Simulation d’un système à temps partagé 25  Titre : WIKIPEDIA, L'encyclopédie libre URL : http://fr.wikipedia.org/  Titre : Histoire de l'Informatique Sujet : Time Sharing et Unix URL : http://histoire.info.online.fr/  Titre : ENSEIRB, Ecole nationale supérieure d'électronique, informatique et de radiocommunications Bordeaux. Sujet : Temps réel sous Linux URL : http://www.enseirb.fr/~kadionik/glmf/lm52/linux_realtime/  Titre : Le Jargon Français - Dictionnaire informatique Sujet : Définition de temps partagé URL : http://www.linux-france.org/prj/jargonf/  Titre : Université Pierre et Marie Curie Sujet : Systèmes d'exploitation des ordinateurs URL : http://www.upmc.fr/  Titre : Université LAVAL – Département d’informatique et du génie logiciel Sujet : Cours systèmes d'exploitation URL : http://www.ulaval.ca/ Bibliographie