Instructions opérationnelles du répartiteur :gestion des processus
Ces instructions décrivent les procédures à suivre par un répartiteur opérationnel lors du traitement des processus. N'oubliez pas de prioriser les processus en fonction d'algorithmes de planification prédéfinis (par exemple, FIFO, SJF, Round Robin).
Je. Processus d'arrivée :
1. Recevoir une demande de processus : À la réception d'une demande de processus (par exemple, d'un utilisateur, d'un appel système ou d'une interruption d'E/S), enregistrez les informations suivantes :
* ID de processus (PID)
* Niveau de priorité (le cas échéant)
* Exigences de mémoire
* Temps de rafale du processeur (estimé, si disponible)
* Demandes d'E/S (si connues)
2. Vérifier la disponibilité des ressources : Vérifiez si suffisamment de ressources (temps CPU, mémoire, périphériques d'E/S) sont disponibles pour prendre en charge le nouveau processus. Sinon, placez le processus dans une file d'attente (par exemple, file d'attente prête, file d'attente bloquée) en fonction de sa priorité et de ses besoins en ressources.
3. Allouer des ressources (si disponible) : Si des ressources sont disponibles, allouez la mémoire nécessaire, attribuez une tranche de temps (si vous utilisez le découpage temporel) et placez le processus dans la file d'attente prête.
II. Exécution du processus :
1. Sélection du processus : Sélectionnez un processus dans la file d'attente prête en fonction de l'algorithme de planification.
2. Changement de contexte (si nécessaire) : Si un changement de contexte est nécessaire (passage d'un processus à un autre), enregistrez l'état du processus actuel (registres, compteur de programme, carte mémoire) et chargez l'état du processus sélectionné.
3. Exécution du processus : Autoriser le processus sélectionné à s'exécuter pendant la tranche de temps qui lui est allouée ou jusqu'à ce qu'il se bloque (par exemple, en attente d'E/S).
4. Blocage du processus : Si un processus doit attendre des E/S ou une autre ressource, déplacez-le vers la file d'attente bloquée appropriée et libérez le processeur.
III. Fin du processus :
1. Achèvement du processus : Lorsqu'un processus termine son exécution, récupérez les ressources qui lui sont allouées (mémoire, etc.).
2. Gestion des résiliations : Gérez toutes les tâches de nettoyage nécessaires, telles que la fermeture des fichiers, la libération des verrous et la libération des ressources allouées.
3. Suppression des files d'attente : Supprimez le processus terminé de toutes les files d'attente.
IV. Gestion des processus bloqués :
1. Achèvement des E/S : Lorsqu'une opération d'E/S est terminée, déplacez le processus correspondant de la file d'attente bloquée vers la file d'attente prête.
2. Disponibilité des ressources : Lorsque la ressource requise d'un processus bloqué devient disponible, remettez-la dans la file d'attente prête.
V. Gestion des erreurs :
1. Épuisement des ressources : Si les ressources sont constamment épuisées, envisagez d’ajuster les politiques d’allocation des ressources ou d’enquêter sur d’éventuelles fuites de ressources.
2. Erreurs de processus : Gérez les erreurs de processus (par exemple, erreurs de segmentation, instructions illégales) selon des procédures de gestion des erreurs prédéfinies, mettant potentiellement fin au processus.
3. Erreurs système : Si une erreur système se produit, essayez de récupérer correctement ou de lancer les procédures d'arrêt du système.
VI. Surveillance et journalisation :
1. Maintenir l'état du processus : Gardez une trace de l'état de tous les processus (en cours d'exécution, prêts, bloqués, terminés).
2. Journaliser les événements : Enregistrez les événements importants, notamment la création, l'arrêt des processus, les décisions de planification, l'allocation des ressources et les erreurs. Ceci est crucial pour le débogage et l’analyse des performances.
Ces orientations fournissent un cadre général. L'implémentation spécifique dépendra de la conception du système d'exploitation et de l'algorithme de planification. Reportez-vous toujours à la documentation du système pour obtenir des instructions détaillées et des procédures spécifiques.
|