OS resource management and processes · Gestion des ressources par le système d'exploitation et processus
| English | Français |
|---|---|
| process/ˈprəʊses/ | processus |
| scheduler/ˈʃedjʊlə/ | ordonnanceur |
| multi-tasking/ˈmʌlti ˈtæskɪŋ/ | multitâche |
| spooling/ˈspuːlɪŋ/ | spooling |
| caching/ˈkæʃɪŋ/ | mise en cache |
| round robin/raʊnd ˈrɒbɪn/ | round robin |
| context switch/ˈkɒntekst swɪtʃ/ | changement de contexte |
| process control block/ˈprəʊses kənˈtrəʊl blɒk/ | bloc de contrôle de processus |
Why the mouse still moves when everything has frozen
- A program locks up. The window will not repaint, the spinner stops, nothing responds. Yet the mouse pointer still glides across the screen exactly as before.
- That is the operating system telling you something: the machine is not stuck, one process 进程 is. The scheduler is still handing out slices of the processor, and the frozen program is simply not doing anything useful with its.
- Every resource in the machine is shared this way: the processor by time, memory by space, the printer by a queue.
- This lesson is how an OS gets the most out of those resources, and how it manages a process from creation to termination.
Pourquoi la souris bouge toujours quand tout a gelé
- Un programme se bloque. La fenêtre ne se redessine pas, le spinner s'arrête, rien ne répond. Pourtant le curseur de la souris glisse toujours sur l'écran exactement comme avant.
- C'est le système d'exploitation qui vous dit quelque chose : la machine n'est pas bloquée, un processus 进程 l'est. Le planificateur distribue encore des tranches de processeur, et le programme gelé se contente simplement de ne rien faire d'utilitaire avec la sienne.
- Toutes les ressources de la machine sont partagées ainsi : le processeur par le temps, la mémoire par l'espace, l'imprimante par une file d'attente.
- Cette leçon explique comment un OS tire le meilleur parti de ces ressources, et comment il gère un processus de sa création à sa terminaison.
Getting the most from the resources
- Multi-tasking 多任务: the processor is switched rapidly between processes, so several appear to run at once even though only one is executing at any instant.
- Paging: memory is moved between RAM and disk so more programs can be open than physical memory allows.
- Spooling 假脱机: output for a slow device is queued on disk, so the processor never waits for a printer. Caching 缓存 keeps recently used data in fast memory so it need not be fetched again.
- The OS also hides all of this behind a user interface, a command line or a GUI.
Tirer le meilleur parti des ressources
- Multitâche 多任务 : le processeur est commuté rapidement entre les processus, plusieurs semblent s'exécuter simultanément bien qu'un seul s'exécute à un instant donné.
- Paging (division en pages) : la mémoire est déplacée entre RAM et disque afin qu'il y ait plus de programmes ouverts que la mémoire physique ne le permet.
- Spooling 假脱机 : la sortie pour un périphérique lent est mise en file d'attente sur le disque, pour que le processeur n'attende jamais une imprimante. Caching 缓存 garde les données récemment utilisées en mémoire rapide pour qu'elles n'aient pas besoin d'être rechargées.
- L'OS cache également tout cela derrière une interface utilisateur, une ligne de commande ou une GUI.
Multi-tasking lets several programs appear to run at once by: · Le multitâche permet à plusieurs programmes de sembler s'exécuter simultanément grâce à :
The OS rapidly switches the single CPU between processes so they all seem to progress together. · Le OS commute rapidement entre le seul CPU et les processus afin qu'ils semblent tous progresser ensemble.
Worked example: why spooling helps
- Explain how spooling improves the use of a computer's resources. [3]
- A printer is thousands of times slower than the processor, so a program sending output directly would wait for it and the processor would sit idle.
- With spooling the output is written quickly to a queue on disk, and the program continues immediately.
- A separate process then feeds the printer at its own speed, and several jobs can queue while the processor gets on with other work. Name the slow device, the queue, and what the processor does instead.
Exemple résolu : pourquoi le spooling aide
- Expliquez comment le spooling améliore l'utilisation des ressources d'un ordinateur. [3]
- Une imprimante est des milliers de fois plus lente que le processeur, donc un programme envoyant directement sa sortie attendrait celle-ci et le processeur resterait inactif.
- Avec le spooling, la sortie est écrite rapidement dans une file d'attente sur le disque, et le programme continue immédiatement.
- Un processus séparé alimente ensuite l'imprimante à sa propre vitesse, et plusieurs tâches peuvent mettre en file d'attente pendant que le processeur s'occupe d'autres travaux. Nommez le périphérique lent, la file d'attente et ce que fait le processeur à la place.
Spooling helps the system because: · Le spooling aide le système car :
Spooling buffers print jobs to disk so the fast CPU is not held up by the slow printer. · Le spooling met en tampon les tâches d'impression sur disque pour que le CPU rapide ne soit pas ralenti par l'imprimante lente.
Which techniques help an OS get the most from its resources? Select all · tout that apply. · Quelles techniques aident un OS à tirer le meilleur parti de ses ressources ? Sélectionnez toutes celles qui s'appliquent.
Sharing time, queueing for slow devices and keeping hot data close. Killing waiting processes would lose the user's work, not improve utilisation. · Partage du temps, file d'attente pour les dispositifs lents et conservation des données chaudes à proximité. Tuer les processus en attente ferait perdre le travail de l'utilisateur, sans améliorer l'utilisation.
Processes and the scheduler
- A process is a program in execution: its code, its current state, its memory and its open files. A program on disk is not a process; a program running is.
- The scheduler 调度器 decides which ready process runs next and for how long. Its goals are to keep the processor busy, respond quickly to interactive users, and be fair.
- Round robin 轮转 gives each ready process a fixed time slice and then sends it to the back of the queue: simple, fair and responsive. Other policies are first come first served, shortest job first and shortest remaining time.
Everyone gets a turn, and nobody keeps the processor
Processus et planificateur
- Un processus est un programme en exécution : son code, son état courant, sa mémoire et ses fichiers ouverts. Un programme sur disque n'est pas un processus ; un programme en cours d'exécution l'est.
- Le planificateur 调度器 décide quel processus prêt s'exécute en next et pendant combien de temps. Ses objectifs sont de garder le processeur occupé, de répondre rapidement aux utilisateurs interactifs et d'être équitable.
- Round robin 轮转 donne à chaque processus prêt une tranche de temps fixe (time slice) puis le renvoie à l'arrière de la file : simple, équitable et réactif. D'autres politiques incluent premier arrivé, premier servi, plus court travail d'abord et temps restant le plus court.

Tout le monde passe à son tour, et personne ne garde le processeur
Round-robin scheduling gives each ready process a fixed time slice, then moves it to the back of the queue — making it fair and responsive. · L'ordonnancement round-robin attribue à chaque processus prêt une tranche temporelle fixe, puis le place à l'arrière de la file — assurant ainsi équité et réactivité.
Equal time slices in turn stop any one process hogging the CPU, so interactive programs stay responsive. · Des tranches temporelles égales à tour de rôle empêchent tout processus d'accaparer le CPU, maintenant les programmes interactifs réactifs.
What is a process? · Qu'est-ce qu'un processus ?
The file on disk is a program; once it is loaded and running, with state of its own, it is a process. · Le fichier sur disque est un programme ; une fois chargé et en exécution, avec son propre état, c'est un processus.
The process states
- New: being created. Ready: able to run, waiting only for the processor. Running: currently executing. Blocked: waiting for something else, usually input or output. Terminated: finished.
- The transitions are what the exam asks for. Running to ready when the time slice expires. Running to blocked when the process requests I/O. Blocked to ready when that I/O completes. Ready to running when the scheduler selects it.
- Note the asymmetry: a blocked process never goes straight back to running. It rejoins the ready queue and waits its turn.
Five states, and the reasons for each arrow
Les états du processus
- New (nouveau) : en cours de création. Ready (prêt) : capable de s'exécuter, attendant seulement le processeur. Running (en cours d'exécution) : s'exécute actuellement. Blocked (bloqué) : en attente d'autre chose, généralement une entrée ou une sortie. Terminated (terminé) : terminé.
- Les transitions sont ce que l'examen demande. De running à ready lorsque la tranche de temps expire. De running à blocked lorsque le processus demande E/S. De blocked à ready lorsque cet E/S est complété. De ready à running lorsque le planificateur le sélectionne.
- Notez l'asymétrie : un processus bloqué ne retourne jamais directement à running. Il rejoint la file ready et attend son tour.

Cinq états, et les raisons de chaque flèche
Match each process state to what it means. · Associez chaque état de processus à sa signification.
A process cycles ready → running → (blocked) → ready, until it terminates. · Un processus fait le cycle prêt → exécution → (bloqué) → prêt, jusqu'à sa terminaison.
Worked example: trace a process
- A process is running when it asks to read a file. Describe what happens to it.
- It moves from running to blocked, because it cannot continue until the data arrives, and the scheduler immediately gives the processor to another ready process rather than waiting.
- When the disk finishes, the process moves from blocked to ready. It does not resume immediately; it joins the ready queue.
- The scheduler later selects it, and it moves from ready to running, continuing from exactly where it stopped.
Exemple résolu : suivre un processus
- Un processus est en cours d'exécution lorsqu'il demande à lire un fichier. Décrivez ce qui lui arrive.
- Il passe de running à blocked, car il ne peut pas continuer tant que les données n'arrivent pas, et le planificateur donne immédiatement le processeur à un autre processus prêt au lieu d'attendre.
- Lorsque le disque termine, le processus passe de blocked à ready. Il ne reprend pas immédiatement ; il rejoint la file ready.
- Le planificateur le sélectionne ultérieurement, et il passe de ready à running, continuant exactement là où il s'était arrêté.
The life of a process · Le cycle de vie d'un processus
Tap round the loop a process travels. It only runs when the scheduler picks it; needing I/O sends it to blocked, and finishing its time slice sends it back to ready — round and round until it's done. · Suivez le parcours dans la boucle d'un processus. Il ne s'exécute que lorsque le planificateur le choisit ; la nécessité d'E/S l'envoie en attente bloquée, et la fin de sa tranche temporelle le renvoie en état prêt — en boucle jusqu'à sa fin.
A running process asks to read a file. Put what happens to it in order. · Un processus en cours d'exécution demande à lire un fichier. Placez ce qui se passe dans l'ordre.
A blocked process never returns straight to running: it rejoins the ready queue and waits its turn. · Un processus bloqué ne retourne jamais directement en exécution : il rejoint la file d'attente prête et attend son tour.
Context switching
- To change which process is running, the OS saves the current process's state, its registers, program counter and status, into its process control block 进程控制块, then loads the next process's state from that process's own block.
- That is a context switch 上下文切换. It has a real cost: during it the processor is doing housekeeping, not the user's work.
- So the time slice is a trade-off. Too long and interactive programs feel sluggish; too short and the machine spends its time switching instead of computing.
Context switching (changement de contexte)
- Pour changer de processus en cours d'exécution, l'OS sauvegarde l'état du processus courant, ses registres, son compteur de programme et son statut, dans son process control block 进程控制块, puis charge l'état du prochain processus depuis son propre bloc.
- C'est un context switch 上下文切换. Cela a un coût réel : durant celui-ci, le processeur effectue des tâches de maintenance, pas le travail de l'utilisateur.
- Ainsi, la tranche de temps est un compromis. Trop longue et les programmes interactifs paraissent lents ; trop courte et la machine passe son temps à changer de contexte au lieu de calculer.
A context switch involves: · Un changement de contexte implique :
The OS saves the running process's registers/PC to its PCB and loads the next process's — a small overhead each switch. · Le OS sauvegarde les registres/PC du processus en cours d'exécution dans son PCB et charge ceux du prochain processus — une faible surcharge à chaque changement.
During a context switch, a process's registers and program counter are saved into its ____. · Durant un changement de contexte, les registres et le compteur de programme d'un processus sont sauvegardés dans sa ____.
The next process's state is then loaded from its own block. The saving and loading is real work, which is what makes switching cost time. · L'état du prochain processus est ensuite chargé depuis son propre bloc. L'enregistrement et le chargement constituent un véritable travail, ce qui explique pourquoi le changement coûte du temps.
Interrupts and the kernel
- The kernel, the core of the OS, is what actually performs this: it responds to interrupts from devices and from programs, and an interrupt is what returns control to the OS from a running process.
- A timer interrupt at the end of a time slice is what makes pre-emptive scheduling possible at all; without it a program that never yields would keep the processor for ever.
- That is the answer to the opening puzzle: the frozen program holds no more of the processor than its slice, so the mouse keeps moving.
Interrupts et noyau
- Le kernel (noyau), le cœur de l'OS, est ce qui effectue réellement ceci : il répond aux interrupts (interruptions) des périphériques et des programmes, et un interrupt est ce qui rend la main à l'OS depuis un processus en cours d'exécution.
- Un interrupt de temporisateur à la fin d'une tranche de temps est ce qui rend possible le scheduling préemptif ; sans lui, un programme qui ne céderait jamais garderait le processeur indéfiniment.
- C'est la réponse à l'énigme initiale : le programme gelé ne détient plus du processeur que sa tranche, donc la souris continue de bouger.
Marks that slip away
- A process is a program in execution, not the file on disk.
- Blocked to ready, never blocked straight to running. The scheduler chooses when it runs again.
- A context switch saves and restores state through the process control block, and it costs time.
- Multi-tasking means processes take turns so quickly they appear simultaneous, not that they truly execute at once on one core.
Pièges qui font perdre des points
- Un processus est un programme en cours d'exécution, pas le fichier sur le disque.
- Bloqué vers prêt, jamais bloqué directement vers l'exécution. Le planificateur choisit quand il s'exécute à nouveau.
- Un changement de contexte sauvegarde et restaure l'état via le bloc de contrôle du processus, et cela coûte du temps.
- Le multitâche signifie que les processus se partagent le temps d'exécution si rapidement qu'ils semblent simultanés, et non qu'ils exécutent réellement plusieurs tâches en même temps sur un seul cœur.
You've got it
- the OS maximises resource use by multi-tasking, paging, spooling to a disk queue and caching
- a process is a program in execution; the scheduler picks the next ready one, with round robin giving each a fixed time slice
- states new, ready, running, blocked, terminated: slice expiry sends running to ready, an I/O request sends it to blocked, and I/O completion sends it back to ready
- a context switch saves and restores state via the process control block and costs time, which is why the slice length is a trade-off
Vous avez compris
- Le système d'exploitation maximise l'utilisation des ressources grâce au multitâche, au paging (découpage), au spooling vers une file d'attente disque et au cache.
- Un processus est un programme en cours d'exécution ; le planificateur sélectionne le prochain prêt, avec le round robin attribuant à chacun une tranche de temps fixe time slice.
- États new, ready, running, blocked, terminated : l'expiration de la tranche de temps envoie l'état running vers ready, une demande E/S l'envoie vers blocked, et la fin de l'E/S le renvoie vers ready.
- Un changement de contexte sauvegarde et restaure l'état via le bloc de contrôle du processus et coûte du temps, c'est pourquoi la longueur de la tranche de temps est un compromis.