Conservatoire National des Arts et Metiers -  cursus informatique 

SYSTEMES INFORMATIQUES ET APPLICATIONS CONCURRENTES

les structures et paradigmes des plates-formes informatiques

SIAC

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

HTO NFP137 :

Le cours du mardi soir commence à 19h amphi 2 Lariboisière
et dure jusqu'à 21 h 

(Faculté de médecine Lariboisière 10 avenue de Verdun – 75010 Paris  M° Gare de l’Est)

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

__________________________
retour au sommaire

PRESENTATION, ACTUALITE ET OBJECTIFS DU COURS

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

__________________________

ACTUALITE DU COURS
<<< extrait de l'avant-propos et des objectifs du cours systemes >>>

<<< Ce cours du cycle probatoire complete la formation de base en systemes pour la mettre au niveau necessaire au cycle B (deuxieme cycle d'enseignement superieur) des etudes du CNAM. L'objectif est de permettre a un auditeur de comprendre les principes et les structures qui sous-tendent la construction et le fonctionnement concurrent des principaux elements des systemes contemporains. L'accent est mis principalement sur les systemes centralises et sur les paradigmes de la concurrence des processus, et on donne une ouverture sur les systemes temps reel et sur la repartition.
    Comment, en 15 leçons seulement, presenter les systemes informatiques pour en degager les fondamentaux qu'on trouve dans les systèmes confirmes et qu'on trouvera dans les systèmes et applications futurs ?
    L'accent est porte sur les techniques bien etablies. Les details des propositions de pointe et des systèmes repartis sont repousses au niveau du cycle d'approfondissement. Le but de ce cours de systèmes informatiques n’est pas de decrire uniquement le fonctionnement d’un système particulier. Le but est de faire comprendre les principaux problèmes à resoudre, de montrer les solutions possibles et d’analyser les choix qui ont ete effectues par les concepteurs ou qui sont à faire par les utilisateurs. Grâce à un tel cours, les utilisateurs seront à même de mieux comprendre les raisons et les fondements des commandes et des normes qu’ils devront utiliser dans divers systèmes et reseaux, et ils pourront mieux analyser les consequences de leurs actions sur le système ou le reseau. On ne peut pas, en si peu de temps et sans travaux pratiques, decrire en detail les produits technologiques à la mode, mais on doit donner le pouvoir d'analyser  et de maîtriser des situations. >>> 

__________________________

retour au sommaire

PLAN DU COURS SYSTEMES INFORMATIQUES ET APPLICATIONS CONCURRENTES

 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.


VENTE DES POLYCOPIES  DU COURS ET DES ED.

Les polycopies de cours et des ED sont edites par le CNAM, dernier tirage en 2006.
Le polycopie du cours de
2004-2005 reste valable. Les modifications n ont apporte que des corrections mineures ou des mises en pages

Les polycopies sont en vente à la librairie des Arts et Metiers, 33 rue Reaumur, 75003 Paris. Telephone 0142721243. Fax 0142724856



__________________________
retour au sommaire

COMPLEMENTS POUR UN TRAVAIL PERSONNEL

Voici maintenant d'autres documents ou informations utiles pour un travail personnel


PROGRAMMES EN ADA

AUTRES EXEMPLES D'UTILISATION DES  PARADIGMES DE LA CONCURRENCE (chapitre 7 du cours)

Pour le cours C7 :  Paradigmes de la concurrence : exclusion mutuelle, etc...
voici deux complements de cours
deux etudes de cas avec paradigmes  : SIB0703cEtudesDeCas.pdf

EXEMPLES DE PROGRAMMATION MONTRANT LE BESOIN D'EXCLUSION MUTUELLE(chapitre 7 du cours)

deux programmes concurrents en Ada pour montrer le besoin d'exclusion mutuelle : ProgrammesPour SIB2005.zip

EXEMPLES DE PROGRAMMATION DE  L'EXCLUSION MUTUELLE (chapitre 8 du cours)

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


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, ...

Visiter pour cela la fenetre de gauche ci-contre sous la montagne Dent Parrachee.

FICHIERS COMPRESSES
: vous pouvez telecharger les fichiers compresses en cliquant ci-dessous

CoursSIB1,  CoursSIB2,  CoursSIB3.


__________________________

retour au sommaire

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



__________________________
retour au sommaire

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.



__________________________
retour au sommaire

PLANNING DES COURS ET ED   (annee 2006)

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)

semaine
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

retour au sommaire
 

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).

retour au sommaire