SEPC-S1

De Ensiwiki
Aller à : navigation, rechercher


Page ensiwiki du cours de Système d'Exploitation et Programmation Concurrente, semestre 1.

Vous trouverez sur cette page:

  • Les supports de cours
  • Les supports de TD et TP

Les annales et d'autres trucs chouettes se trouvent sur la page générale du cours de SEPC.

Supports de cours (premier semestre)

Travaux dirigés et Travaux pratiques

  • Environnement de travail
    • Les squelettes sont prévus pour fonctionner avec l'environnement de référence de l'Ensismag (2015-2016: à base de centOS 7, celui des PC et des VM). Des Debian et Ubuntu récentes devraient fonctionner sans problème non plus. Tous les outils sont tous disponibles en standard dans votre distribution Linux.
    • Ils utilisent certains outils qu'il n'est pas nécessaire de comprendre mais qu'il faut utiliser pour effectuer les TPs:
      • Les Makefile pour la compilation et la construction du rendu, sont générés à l'aide de cmake
      • Les tests automatiques pour le shell utilisent un module standard pour le test des programmes interactifs du langage ruby (le paquetage de test est nommé ruby-test-unit dans une debian récente)

Séance 1 : Minimum vital

  git clone https://github.com/gmounie/ensimag-rappeldec.git

L'entrepôt est le même pour tout le monde. Il n'est donc accessible qu'en lecture. Les commandes commme git push ne devraient pas fonctionner. Vous ne pouvez pas y sauvegarder vos travaux. Corrections des bugs dans l'entrepôt: Faire git pull, pour les fusionner avec votre code.

    • Si vous voulez utiliser git plus avant, la page git du wiki avec des liens vers les tutoriaux.
    • Les solutions sont dans la branche solution (NDLR: Ne pas savoir faire un exercice est l'information utile ! La lecture de la solution ne vous apprendra pas ce que vous n'avez pas compris.)

Séance 1, Niveau avancé, supplément Apprentis

  git clone https://github.com/gmounie/ensimag-allocateur.git

Séance 2

     man fork
     man 2 open (il y a beaucoup de open: les appels systèmes sont en section 2)
     info libc (doc de référence avec des explications détaillées et des exemples complets de code))
     info libc "process creation example" (l'exemple de code de la section Process)
     info info (tutorial de info)
  • Sources: elles sont dans un entrepôt git sur le site github.com (branche master, le défaut). On peut les obtenir en faisant :
  git clone https://github.com/gmounie/ensimag-shell.git

L'entrepôt est le même pour tout le monde. Il n'est donc accessible qu'en lecture. Les commandes commme git push ne devraient pas fonctionner. Vous ne pouvez pas y sauvegarder vos travaux.

    • Les tests automatiques pour le shell utilisent un module standard pour le test des programmes interactifs du langage ruby (le paquetage de test est nommé ruby-test-unit dans une debian récente)
    • Le shell utilise l'interpréteur scheme guile (version 1.8 ou 2.0)(guile-2.0-dev dans une débian récente)
    • FAQ TP Shell

Séance 3

  • Moniteurs

Séance 4

  git clone https://github.com/gmounie/ensimag-video.git
    • L'entrepôt est le même pour tout le monde. Il n'est donc accessible qu'en lecture. Les commandes commme git push ne devraient pas fonctionner. Vous ne pouvez pas y sauvegarder vos travaux.
    • Ce TP utilise les bibliothèques ogg, theora, vorbis et SDL2 (>= 2.0.4), ainsi que les entêtes de développement de ces bibliothèques (les include pour la compilation)

(noms Debian/Ubuntu: libsdl2-dev libogg-dev libvorbis-dev libtheora-dev.)

    • Sur certaines machines de l'ensimag, l'accélération de l'affichage par la SDL2 ne fonctionne pas bien. Vous pouvez la désactivée
 Dans src/ensitheora.c, la ligne 34
  renderer = SDL_CreateRenderer(screen, -1, 0);
 peut être remplacée par
  renderer = SDL_CreateRenderer(screen, -1, SDL_RENDERER_SOFTWARE);  
  • Tests: valgrind est votre ami (tools: helgrind et drd)

Séance 5

Sémaphore 1

Séance 6

  • Mémoire: couplage mémoire (memory mapping)
    • Sujet du TP couplage mémoire
    • Sources: elles sont dans un entrepôt git sur le site github.com (branche master, le défaut). On peut les obtenir en faisant :
  git clone https://github.com/gmounie/ensimag-shmem.git
  • Séance TP OpenMP
  • Sujet du TP OpenMP
  • Sources: elles sont dans un entrepôt git sur le site github.com (branche master, le défaut). On peut les obtenir en faisant :
  git clone https://github.com/gmounie/ensimag-openmp.git

Annales d'examens

Exercices de synchronisation avec correction

DANGER: nouveauté 2014-2015 ! Si vous voyez un bug dans les corrections, merci de le faire remonter !

QCM (Quiz interactifs)

DANGER: nouveauté 2014-2015 ! Si vous voyez un bug dans les corrections, merci de le faire remonter !

QCM (PDF)

Planning SEPC(Cf. ADE) :

Emploi du temps des cours et travaux dirigés de "SEPC" sont sur ADE.

  • Cours
    • 4MMSEPS1_CM_G1 : ISI, Telecom et SLE
  • TD

Quelques liens divers

Suggestion des élèves

Vidéos

  • OS: [1] (suggestion de: Vincent Lefoulon)
  • Mémoire virtuelle: [2] (suggestion de: Vincent Lefoulon)

A propos de GIT

Pour plus d'information sur l'utilisation de Git dans un cadre semblable à celui des TPs de ce cours, vous pouvez consulté la page: page sur les entrepots git partagées

Les enseignants