SYSTEMES INFORMATIQUES ET APPLICATIONS CONCURRENTES
les
structures
et paradigmes des plates-formes informatiques
Cette unite d'enseignement CNAM porte les codes NFP137 (en HTO) et NFP137J (en ICPJ) (anciennes UV 19339 et 21937)
mise a jour du 1er juillet
2006
Le sujet
d'examen de juin 2006 et son corrige ont ete mis dans les annales
(ci-contre fenetre de gauche).
mise a jour du 5 avril
2006
QUELQUES DOCUMENTS COMPLEMENTAIRES POUR LE COURS
Interblocage
(chapitre 6) : etude de cas traitee le 4 avril, voir PreventionInterblocage2006.pdf
Paradigmes de la
concurrence (chapitre 7) :
- pour ceux qui connaissent Java fausse exclusion mutuelle en Java
- deux programmes concurrents en Ada pour
montrer le besoin d'exclusion
mutuelle : ProgrammesPour
SIB2005.zip
- deux exemples d'architectures systemes avec des paradigmes : SIB0703cEtudesDeCas.pdf
Mecanismes
primitifs d'exclusion mutuelle en memoire commune (chapitre 8) :
- Un ensemble de
paquetages Ada qui permet de
faire tourner les principaux algorithmes d'exclusion mutuelle
qui
figurent dans le chapitre 8 du cours est dans ProgrammesPour
SIB2005Mutex.zip
Il faut compiler mutual_exclusion.adb et executer mutual_exclusion
Pour un compilateur Ada en logiciel libre voir plus loin (GNAT)
Memoire commune (chapitre 9) :
- Pour avoir en complement des exemples de programmation avec le
mecanisme de moniteur en Java et Ada
voir le cours ACCOV http://deptinfo.cnam.fr/Enseignement/CycleSpecialisation/ACCOV/
et en particulier [ACCOV12Paradigmes.pdf]
[ACCOV13ObjProteges.pdf]
[ACCOV15ThreadsJava.pdf]
INFORMATION
SUR LES HORAIRES
ET LES SALLES DE COURS ET ED
ED les lundi
18h15-20h15 (CNAM salle 31.3.08),
mercredi
18h15-20h15 (CNAM salle 37.1.50),
samedi matin une
séance à 8h45-10h45 en salle Greg.*Salle H au lycee Gregoire
( Lycée
Abbé Grégoire, 70 bis rue de Turbigo – 75003
Paris M° Temple)
(vu
le nombre des inscrits, on ne peut faire que 3 séances d'ED)
ICPJ, cours de jour NFP137J :
cours le lundi 13h - 18h au CNAM salle 31.3.03 de 13h à 17h15
PLANNING DES COURS 2006 voir plus
loin je les ai mis a jour
- presentation, actualite,
objectifs du cours
- programme
officiel du cours (on l'obtient aussi en cliquant
sur l'image ci-contre)
-
plan
du cours, annales des sujets d'examen et des projets, documents
polycopies
-
complements pour un travail personnel
- programme,
dates et lieux des seances de
cours en 2006 (UE NFP137 et NFP137J)
- equipe
pedagogique
- dernieres nouveautes et informations
recentes
AVERTISSEMENT
POUR L'ORIENTATION DES AUDITEURS
Cette unite d'enseignement se
deroule
au second semestre. Ce cours de deuxieme cycle apporte une base solide
pour
un cursus dans les domaines des applications et systemes embarques,
mobiles ou en temps reel, centralises, repartis ou cooperatifs. Il
donne une synthese
de l'allocation des ressources et une approche approfondie de la
gestion de la concurrence des processus. Il permet d'aborder les
aspects concurrents des plates-formes informatiques que l'on trouve
dans les serveurs ou sites (des reseaux locaux ou sur le web).
Les notions
sur la programmation concurrente vues
dans cette unite d'enseignement NFP137 sont approfondies dans l'unite
d'enseignement NFP103 ACCOV "Applications concurrentes : conception et
outils"(ancienne UV 16981). Une autre suite a ce cours est le
cours d'approfondissement "Systemes et Applications repartis" (UE
NFP111).
Pour avoir le programme officiel,
cliquer sur l'image de la montagne,
ci-contre a gauche (c'est la Dent Parrachée).
Pour en savoir plus :
- lire la suite de cette page
- consulter le polycopié du cours et des exercices diriges, les
annales d'examen, dans
la fenetre ci-contre sous l'image de la dent Parrachee
__________________________
Toute la documentation
du
cours est accessible
en cliquant dans la fenetre de gauche ci-contre, sous l'image de la
montagne Dent Parrachée.
Les fichiers compresses
qui y figurent sont aussi accessibles plus bas dans cette page. C.K.
AVANT-PROPOS : OBJECTIFS DU COURS,
BIBLIOGRAPHIE
: à lire
avant toutes choses
(But et place du cours, choix pedagogiques, prerequis, bibliographie,
documentation, supports)
1. MACHINE VIRTUELLE ET ENVIRONNEMENT UTILISATEUR
2. COMMUNAUTE DE RESSOURCES
3. ORDONNANCEMENT DYNAMIQUE DES PROCESSUS
4. GESTION DE LA MEMOIRE CENTRALE
5. PAGINATION A LA DEMANDE ET STRATEGIES GLOBALES D ALLOCATION
6. INTERBLOCAGE
7. PARADIGMES DE LA CONCURRENCE
8. MECANISMES ELEMENTAIRES D EXCLUSION MUTUELLE
9. CONTROLE DE CONCURRENCE PAR SEMAPHORES
10. SYNCHRONISATION PAR MESSAGES
• ANNEXES
• SUJETS DES EXERCICES
DIRIGES
AVERTISSEMENT. La plupart des fichiers sont
au format Acrobat pdf et ecrits avec un suffixe .pdf
Votre navigateur doit etre configure
pour les lire, par exemple avec Acrobat Reader.
Les parties
ci-dessus se retrouvent dans le polycopie
de cours et dans le polycopie des exercices diriges.
AUTRES EXEMPLES D'UTILISATION DES PARADIGMES DE LA CONCURRENCE (chapitre 7 du cours)
Pour le cours C7 : Paradigmes de la concurrence : exclusion mutuelle, etc...EXEMPLES DE
PROGRAMMATION DE L'EXCLUSION MUTUELLE (chapitre 8 du cours)
EXEMPLES DE
PROGRAMMATION DE CONTROLE DE CONCURRENCE AVEC DES SEMAPHORES SIMULES EN
ADA
Des exemples de
programmation des paradigmes de controle de concurrence ont ete ecrits
en
Ada (en simulant des semaphores) et ils peuvent etre essayes avec le
logiciel libre GNAT. Ces
exemples sont
accessibles dans la fenetre de gauche dans la rubrique Programmes, leur
liste est dans Lisez moi en premier et ils sont accessibles par le
lien Archives.
COMPILATEUR ADA GNAT
(Pour
telecharger le compilateur
Ada GNAT et
l'essayer, visiter l'un des sites
ENSMA ::
http://www.lisi.ensma.fr/ftp/enseignement/ada/
ACT Europe &GNAT :: http://libre.act-europe.fr/
Adalog ::
http://perso.wanadoo.fr/adalog/freeada1.htm
ou un autre site obtenu par une recherche sur le
web
On le trouve aussi par ftp au CNAM ::
ftp.cnam.fr/pub/Ada/PAL/compiler/gnat/distrib).
PROGRAMMATION DE CONCURRENCE EN C ET EN JAVA
Par ailleurs les
exemples et programmes C et Java du livre de Samia
Bouzefrane sont accessibles par le lien
http://cedric.cnam.fr/~bouzefra/ouvrages.html
ANNALES D'EXAMENS
SYSTEMES ET LEURS
CORRIGES
Visiter pour cela la
fenetre de gauche ci-contre sous la montagne Dent Parrachee
INFORMATIONS
COMPLEMENTAIRES POUR LE COURS : planning
des cours, equipe enseignante, ...
CoursSIB1,
CoursSIB2,
CoursSIB3.
AUTRES COURS ET
AUTRES DOCUMENTS
1. Je vous signale un
nouveau lien utile, celui des cours Ada de l'ENST par
Franco Gasperoni
http://libre.act-europe.fr/Software_Matters/
2. Pour d'autres liens vers des travaux sur la concurrence avec
Ada et Java et pour des
conferences sur le temps reel je vous conseille fortement la page
consacree a l'UE NFP103
http://deptinfo.cnam.fr/Enseignement/CycleSpecialisation/ACCOV/
3. Deux
exemples de systèmes anciens qui ont implante des concepts
rigoureux en leur temps et dont certains concepts se retrouvent dans
les systemes embarques ou mobiles. Un bon exercice est de les comparer
a Unix ou Windows.
systeme ESOPE et systeme GCOS 7
INFORMATIONS
PARTAGEES :
Envoyez-moi les references ou les URL concernant les livres de cours et la documentation utiles pour completer ce cours systèmes. Je les mettrai ci apres à la disposition de tous, en indiquant la source de l information ou le nombre de fois que la reference m a ete envoyee. J'amorce la liste.
[source Kaiser]
CROCUS, Systèmes d'exploitation des ordinateurs, Dunod 1975 (364
pages)
il est, depuis juin 2002,
disponible gratuitement sur le serveur
http://cnum.cnam.fr
C'est un ouvrage seminal pour l'enseignement des systemes en France
DERNIERES NOUVEAUTES
1. Le sujet d examen systemes de juin 2005 et son corrige ont ete mis dans les annales.
2. Le sujet d'examen systemes de septembre 2005 et son corrige ont ete mis dans les annales.HTO UE NFP137 (ex UV 19 339
)
Dates | programme du cours
HTO 19 339
(enseignant C. Kaiser) mardi 19h-21h amphi 2 Lariboisiere (Faculté de médecine Lariboisière 10 avenue de Verdun – 75010 Paris M° Gare de l’Est) |
|
Exercices diriges
: lundi, mercredi, samedi (responsable C. Coquery) |
21/02 | C1. Machine virtuelle et environnement utilisateur Processus. Exemple d'UNIX(polycopie ch. 1). | enseignants : J. Berthelin, C. Coquery | |
28/02 | C2. Plateforme commune. Structures de systemes. Gestion des ressources communes (polycopie ch.2). | du 27/02 au 04/03 |
ED 1. Le systeme en tant qu environnement (Linux) |
07/03 | C3. Ordonnancement dynamique en ligne: processeurs. (exemples : Unix, Linux, temps reel), transferts disques (polycopie ch.3) | du 06/03 au 11/03 |
ED 2. Introduction aux themes abordes en Systemes |
14/03 | C4. Gestion de la memoire centrale. Role. Allocation. Placement par zone, par page. Memoire virtuelle paginee.(polycopie ch.4) | du 13/03 au 18/03 |
ED 3. Gestion du processeur |
21/03 | C5. Pagination a la demande. Strategies globales d'allocation
de ressources. Ecroulement.
regulation et politiques globales (polycopie ch.5) |
du 20/03 au 25/03 |
ED 4. Gestion des disques et de la memoire |
28/03 | C6. Interblocage. (polycopie ch.6) | du 27/03 au 01/04 |
ED 5. Systeme multitaches sous UNIX |
04/04 | C7. Paradigmes de la concurrence : exclusion mutuelle,
cohorte, producteurs-consommateurs (polycopie ch.7) |
du 03/04 au 08/04 |
ED 6. Interblocage |
25/04 | C8. Paradigmes de la concurrence : lecteurs-redacteurs,
philosophes.
Systeme centralise ou reparti (polycopie ch.7) |
10/04 et du 26/04 au 29/04 |
ED 7. Expression de la concurrence avec Ada |
02/05 | C9. Mecanismes elementaires d exclusion mutuelle par memoire commune et attente active, par semaphores, moniteurs, solution en Java, objets proteges ADA95.(polycopie ch.8) | 24/04 et du 03/05 au 06/05 |
ED 8. Exclusion mutuelle par variables communes |
09/05 | C10. Programmation des paradigmes de synchronisation par semaphores. Proprietes, exclusion mutuelle, cohorte, producteurs-consommateurs. Solutions brutes et en programmation par objets (polycopie ch.9) | du 10/05 au 15/05 |
ED 9. Competition entre 2 classes de processus |
16/05 | C11. Semaphores. Lecteurs-redacteurs, dîner des philosophes.Solutions brutes et en programmation par objets (polycopie ch.9) | du 17/05 au 22/05 |
ED 10. Tampons d'entree-sortie |
23/05 | C12. Semaphores prives. modularite et gestion de la memoire. Programmation par objets (polycopie ch.9) | du 25/05 au 29/05 |
soit ED9 avec semaphores prives, soit questions de synchronisation examen de juin ou septembre 2004 |
30/05 | C13. Synchronisation par messages en relation client-serveur (appel procedural local ou distant). Rendez-vous ADA. Solutions des paradigmes (polycopie ch.10) | du 31/05 au 05/06 |
ED13. semaphores prives |
06/06 | C14. Synchronisation par messages en point à point. Cas d'UNIX.(poly. ch.10). Synchronisation par messages en reparti. Ordre partiel causal, ordre total à la Lamport, exclusion mutuelle repartie | du 07/06 au 12/06 |
ED12. exercices en forme de revision |
13/06 | C15. REVISION Exemple de synthese. (ou bien Amorcage et anatomie d'un systeme informatique) |
du 14/06 au 17/06 |
ED 14. Taches et Rendez-vous Ada |
Ce calendrier tient compte
des
conges et de la semaine de deuxième session examens du premier
semestre.
Examens.
Première session : le samedi 24/06/2006 (a-midi ou matin) ou
alors le samedi 17/06/2006
Deuxieme session : le 05, 06
ou 06
septembre
2006 (18h15-21h15)
(les dates precises des
sessions seront fixees par
le service des examens).
Exercices Diriges :
Lundi de 18h15 à 20h15 en salle 31.3.08
Mercredi de 18h15 à 20h15 en salle 37.1.50
pas d'ED le Jeudi (même si planifié)
Samedi de 8h45 - 10h45 en salle Greg.*Salle H
pas d'ED le Samedi de 11h à 13h (même si
planifié)
(*) code
salle : GREG : Lycée
Abbé Grégoire, 70 bis rue de Turbigo – 75003
Paris M° Temple
ICPJ UE NFP137J (ancienne UV 21 937)
Dates | Programme du cours
ICPJ NFP137 Cours et ED le lundi de 13h à 17h15 salle 31.3.03 Enseignants : C. Coquery, J.F. Peyre. |
Exercices
diriges (responsable C. Coquery) |
|
20/02 | C1. Machine virtuelle et environnement utilisateur Processus . Exemple d'UNIX(polycopie ch. 1) | ED 1 Le systeme en tant qu'environnement (Linux) | |
27/02 | C2. Plateforme commune. Structures de systemes. gestion des ressources communes (polycopie ch.2) | ED 2 Introduction aux themes abordes en Systemes | |
06/03 | C3. Ordonnancement dynamique en ligne: processeurs. (exemples : Unix, Linux, temps reel), transferts disques (polycopie ch.3) | ED 3 Gestion du processeur | |
13/03 | C4. Gestion de la memoire centrale. Role. Allocation. Placement par zone, par page. Memoire virtuelle paginee.(polycopie ch.4) | ED 4 Gestion d'un disque. Gestion de memoire par zone |
|
20/03 | C5. Pagination a la demande. Strategies globales d'allocation de ressources. Ecroulement. regulation et politiques globales (polycopie ch.5) | ED 4 Memoire virtuelle partagee | |
27/03 | C6. Interblocage. (polycopie ch.6) | ED 6 Interblocage | |
03/04 |
C7. Paradigmes de la concurrence : exclusion mutuelle,
cohorte, producteurs-consommateurs (polycopie ch.7) |
ED 5 Systeme multitaches sous UNIX (TP) | |
10/04 | C8. Paradigmes de la concurrence : lecteurs-redacteurs, philosophes. Systeme centralise ou reparti (polyopie ch.7) | ED 7 Expression de la concurrence avec Ada | |
24/04 | C9. Mecanismes elementaires d'exclusion mutuelle par memoire commune et attente active, semaphores, moniteurs, solution en Java, objets proteges ADA95.(poly.ch.8) | ED 8 Exclusion mutuelle par variables communes | |
15/05 | C10. Semaphores. Proprietes, exclusion mutuelle, cohorte, producteurs-consommateurs. Solutions brutes et en programmation par objets (polycopie ch.9) | ED 9 Competition entre 2 classes de processus | |
22/05 | C11. Semaphores. Lecteurs-redacteurs, diner des philosophes. Solutions brutes et en programmation par objets (polycopie ch.9) | ED 10 Tampons d'entree-sortie | |
29/05 | C12. Semaphores prives. modularite et gestion de la memoire. Programmation par objets (polycopie ch.9) | ED 13 Semaphores prives |
|
05/06 | C13. Synchronisation par messages en relation client-serveur (appel procedural local ou distant). Rendez-vous ADA. Solutions des paradigmes. (polycopie ch.10) | ED 9 avec sémaphores privés ou questions de
synchronisation, examen de juin ou septembre 2004 |
|
12/06 |
C14. Synchronisation par messages en point à point. Cas d'UNIX. (poly. ch.10). Synchronisation par messages en reparti. Ordre partiel causal, ordre total a la Lamport, exclusion mutuelle repartie | ED12 exercices en forme de revision | |
en cours HTO |
mardi 13/06 en HTO (Lariboisière 19h) C15. Exemple de synthese. (ou bien Amorcage et anatomie d'un systeme informatique) | ED 14 Taches et Rendez-vous Ada du 12/06 au 17/06 en ED HTO |
Ce calendrier tient compte
des
conges et de la semaine de deuxième session examens du premier
semestre.
Examens.
Première session : le samedi 24/06/2006 (a-midi ou matin) ou
alors le samedi 17/06/2006
Deuxieme session : le 05, 06
ou 06
septembre
2006 (18h15-21h15)
(les dates precises des
sessions seront fixees par
le service des examens).