Tout processus a besoin d’accéder au CPU pour pouvoir s’exécuter. L’ordonnanceur est l’élément du Système d’Exploitation responsable du choix de l’ordre d’exécution des processus sur le (ou les) CPU. Dans cette section, on s’intéresse à une structure de données permettant d’implémenter une politique d’ordonnancement basée sur les priorités sous Unix. La politique que nous considérons combine deux mécanismes:
Un processus est caractérisé par :
processus
qui représente un processus Unix ;file_prio
pour gérer la file de priorité de l’ordonnanceur.ajouter
paramétrée par une file_prio
et un processus
, qui ajoute le processus dans la file de priorité ;suivant
, paramétrée par une file_prio
, qui renvoie (par valeur de retour ou paramètre) le processus suivant à exécuter.lire
qui permet, à partir d’une chaîne de caractères, de renvoyer une variable de type processus. Un exemple de chaîne serait 5 firefox 600 0
(processus d’identifiant 5 qui s’appelle firefox de priorité maximale et qui va durer 5 minutes)charger
qui à partir d’un fichier charge les processus correspondants. Exemple de fichier:
001 /sbin/launchd 70 1
314 /usr/libexec/logd 40 4
316 /usr/libexec/UserEventAgent 50 3
318 /System/Library/uninstalld 25 2
319 /System/Library//fseventsd 60 3
320 /System/Library/mediaremoted 60 4
322 /usr/sbin/systemstats 15 3
324 /usr/libexec/configd 55 2
326 /System/powerd 50 3
332 /usr/libexec/remoted 65 1
337 /usr/libexec/watchdogd 70 2
341 /System/Library/mds 50 3
343 /usr/libexec/kernelmanagerd 55 0
344 /usr/libexec/diskarbitrationd 55 1
348 /usr/sbin/syslogd 5 0
351 /usr/libexec/thermalmonitord 45 1
352 /usr/libexec/opendirectoryd 50 3
353 /System/Library/apsd 5 0
354 /System/Library/launchservicesd 75 3
355 /usr/libexec/timed 55 3
356 /System/Library/usbmuxd 70 1
357 /usr/sbin/securityd 35 3
358 auditd 35 2
360 /usr/libexec/locationd 60 1
362 autofsd 55 1
363 /usr/libexec/dasd 45 1
365 /usr/sbin/distnoted daemon 5 0
369 /System/Library/CoreServices/logind 50 1
executer
qui affiche l’ordonnancement des processus qui seront exécutés.Pour l’évaluation de ce TP vous enverrez votre TP (votre fichier C
)
le plus tard le 04/02/2023 23:59 CET à l’adresse suivante. Tout retard entrainera des pénalités.