Onyest dossier - Mise en oeuvre Ajouter à mes favoris
Sommaire
Systèmes parallèles
Cours
TDs
Eléments de C (1)
Eléments de C (2)
Mise en oeuvre
Les sémaphores
TPs
Probabilités appliquées aux systèmes
Théorie des langages et compilation
VHDL
Suite : Les sémaphores

Mise en oeuvre

noyau de synchronisation de processus

1 Description du noyau

Le noyau doit permettre l’exécution d’un certain nombre de processus, en leur fournissant un outil de synchronisation. Il nous faut gérer le partage des processus (machine monoprocesseur) et des différentes ressources et utiliser les sémaphores.

2 Les processus

Un processus qui s’exécute utilise une zone de code, de data, de pile et les registre. Les processus vont utiliser le processeur à tour de rôle, cela nécessite de pouvoir arrêter un processus avant son terme. Une partie du noyau de synchronisation s’occupe de l’attribution du processeur, c’est le SCHEDULER. Il y a deux façon de faire, avec préemption (de force ce qui implique l’usage des interruptions), sans préemption (quand le noyau récupère la main).

3 Les sémaphores

Un sémaphore est représenté par une structure à 2 champs :un entier e, un pointeur f sur une liste de descripteur.

4 Exemple

 

5 Entrées / Sorties du noyau

On accède au noyau via la routine d'interruption 223 (Il faut la programmer). Pour fontionner correctement, le noyau nécessite tout d'abord que l'on exécute une initialisation du système. Dans cette initialisation, on mettra en place les structures de données, on créera le contexe du processus actuellement lancé (p0) et on installera la routine d'interruption 223. Ensuite, lors des appels le noyau :

  • sauvegardera le contexte ( tous les registres sauf CS,IP, F, SS et SP)
  • sauvegardera SS et SP dans file_pret
  • masquera les interruptions
  • et selon le code fonction exécutera la fonction correspondante
  • rendra les résultats à l'appelant
  • démasquera les interruptions (automatique)
  • restaurera le processus le plus prioritaire
  • terminera par iret
Suite : Les sémaphores
Onyest dossier - cours ingénieur informatique et électronique : SPAR, PAS, TLC, VHDL - http://www.onyest.free.fr/dossier/cours - webmaster : novis@chez.com

-