OS resource management and processes · Gestión de recursos del SO y procesos
| English | Español |
|---|---|
| process/ˈprəʊses/ | proceso |
| scheduler/ˈʃedjʊlə/ | planificador |
| multi-tasking/ˈmʌlti ˈtæskɪŋ/ | multitarea |
| spooling/ˈspuːlɪŋ/ | spooling |
| caching/ˈkæʃɪŋ/ | caché |
| round robin/raʊnd ˈrɒbɪn/ | round robin |
| context switch/ˈkɒntekst swɪtʃ/ | cambio de contexto |
| process control block/ˈprəʊses kənˈtrəʊl blɒk/ | bloque de control de proceso |
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.
¿Por qué el ratón sigue moviéndose cuando todo se congela?
- Un programa se bloquea. La ventana no se vuelve a dibujar, el indicador de espera se detiene, nada responde. Sin embargo, el puntero del ratón sigue deslizándose por la pantalla exactamente como antes.
- Eso es el sistema operativo diciéndote algo: la máquina no está atascada, un proceso 进程 lo está. El planificador sigue asignando trozos de procesador, y el programa congelado simplemente no está haciendo nada útil con ellos.
- Todos los recursos de la máquina se comparten de esta manera: el procesador por tiempo, la memoria por espacio, la impresora por una cola.
- Esta lección explica cómo un SO saca el máximo provecho de esos recursos y cómo gestiona un proceso desde su creación hasta su terminación.
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.
Sacar el máximo provecho de los recursos
- Multitarea 多任务: el procesador se cambia rápidamente entre procesos, por lo que varios parecen ejecutarse al mismo tiempo aunque solo uno esté ejecutándose en cualquier instante.
- Paginación: la memoria se mueve entre RAM y disco para que puedan estar abiertos más programas de los que permite la memoria física.
- Spooling 假脱机: la salida de un dispositivo lento se pone en cola en disco, para que el procesador nunca espere a una impresora. Caché 缓存 mantiene los datos usados recientemente en memoria rápida para que no sea necesario volver a buscarlos.
- El OS también oculta todo esto detrás de una interfaz de usuario, una línea de comandos o una GUI.
Multi-tasking lets several programs appear to run at once by: · La multitarea permite que varios programas parezcan ejecutarse al mismo tiempo mediante:
The OS rapidly switches the single CPU between processes so they all seem to progress together. · El OS conmuta rápidamente una sola CPU entre procesos para que todos parezcan avanzar juntos.
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.
Ejemplo resuelto: por qué ayuda el spooling
- Explica cómo el spooling mejora el uso de los recursos de un ordenador. [3]
- Una impresora es miles de veces más lenta que el procesador, por lo que un programa que envía salida directamente tendría que esperar por ella y el procesador se quedaría inactivo.
- Con el spooling, la salida se escribe rápidamente en una cola en disco, y el programa continúa inmediatamente.
- Un proceso separado alimenta luego la impresora a su propia velocidad, y varios trabajos pueden colarse mientras el procesador continúa con otros trabajos. Nombra el dispositivo lento, la cola y lo que hace el procesador en su lugar.
Spooling helps the system because: · El spooling ayuda al sistema porque:
Spooling buffers print jobs to disk so the fast CPU is not held up by the slow printer. · El spooling intercala trabajos de impresión en disco para que la CPU rápida no sea retenida por la impresora lenta.
Which techniques help an OS get the most from its resources? Select all · todos that apply. · ¿Qué técnicas ayudan a un OS a obtener lo máximo de sus recursos? Selecciona todos los que correspondan.
Sharing time, queueing for slow devices and keeping hot data close. Killing waiting processes would lose the user's work, not improve utilisation. · Compartir tiempo, colas para dispositivos lentos y mantener datos calientes cerca. Matar procesos en espera perdería el trabajo del usuario, no mejoraría la utilización.
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
Procesos y el planificador
- Un proceso es un programa en ejecución: su código, su estado actual, su memoria y sus archivos abiertos. Un programa en disco no es un proceso; un programa en ejecución sí lo es.
- El planificador 调度器 decide qué proceso listo 运行 next corre y durante cuánto tiempo. Sus objetivos son mantener el procesador ocupado, responder rápidamente a los usuarios interactivos y ser justo.
- Round robin 轮转 da a cada proceso listo una rebanada de tiempo (time slice) fija y luego lo envía al final de la cola: simple, justo y responsivo. Otras políticas son primero en llegar, primero en servir, trabajo más corto primero y tiempo restante más corto.

Todos tienen su turno, y nadie retiene el procesador
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. · La planificación Round-robin da a cada proceso listo una rebanada de tiempo fija, luego lo mueve al final de la cola — haciéndola justa y responsiva.
Equal time slices in turn stop any one process hogging the CPU, so interactive programs stay responsive. · Rebanadas de tiempo iguales turnándose evitan que un solo proceso acapare la CPU, manteniendo los programas interactivos responsivos.
What is a process? · ¿Qué es un proceso?
The file on disk is a program; once it is loaded and running, with state of its own, it is a process. · El archivo en disco es un programa; una vez que se carga y ejecuta, con su propio estado, es un proceso.
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
Los estados del proceso
- Nuevo: siendo creado. Listo: capaz de ejecutarse, esperando solo el procesador. En ejecución: ejecutándose actualmente. Bloqueado: esperando algo más, generalmente entrada o salida. Terminado: ha terminado.
- Las transiciones son lo que piden los exámenes. De en ejecución a listo cuando expira la rebanada de tiempo. De en ejecución a bloqueado cuando el proceso solicita E/S. De bloqueado a listo cuando esa E/S completa. De listo a en ejecución cuando el planificador lo selecciona.
- Nota la asimetría: un proceso bloqueado nunca vuelve directamente a estar en ejecución. Se reincorpora a la cola de listos y espera su turno.

Cinco estados, y las razones de cada flecha
Match each process state to what it means. · Empareja cada estado del proceso con lo que significa.
A process cycles ready → running → (blocked) → ready, until it terminates. · Un proceso cicla listo → ejecutando → (bloqueado) → listo, hasta que se termina.
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.
Ejemplo resuelto: trazar un proceso
- Un proceso está en ejecución cuando pide leer un archivo. Describe qué le sucede.
- Pasa de en ejecución a bloqueado, porque no puede continuar hasta que lleguen los datos, y el planificador inmediatamente cede el procesador a otro proceso listo en lugar de esperar.
- Cuando el disco termina, el proceso pasa de bloqueado a listo. No se reanuda inmediatamente; se une a la cola de listos.
- Más tarde, el planificador lo selecciona, y pasa de listo a en ejecución, continuando exactamente donde se detuvo.
The life of a process · La vida de un proceso
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. · Toca alrededor del bucle que recorre un proceso. Solo se ejecuta cuando el planificador lo selecciona; necesitar E/S lo envía a bloqueado, y terminar su tiempo de CPU lo devuelve a listo — rode y rode hasta que termine.
A running process asks to read a file. Put what happens to it in order. · Un proceso en ejecución pide leer un archivo. Coloca lo que ocurre en orden.
A blocked process never returns straight to running: it rejoins the ready queue and waits its turn. · Un proceso bloqueado nunca regresa directamente a ejecutando: se une nuevamente a la cola lista y espera su turno.
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.
Cambio de contexto
- Para cambiar qué proceso está en ejecución, el OS guarda el estado del proceso actual, sus registros, contador de programa y estado, en su bloque de control de proceso 进程控制块, luego carga el estado del próximo proceso desde su propio bloque.
- Eso es un cambio de contexto 上下文切换. Tiene un costo real: durante él, el procesador está haciendo tareas administrativas, no el trabajo del usuario.
- Por eso la rebanada de tiempo es un compromiso. Si es demasiado larga, los programas interactivos se sienten lentos; si es demasiado corta, la máquina gasta su tiempo cambiando de contexto en lugar de calcular.
A context switch involves: · Una conmutación de contexto implica:
The OS saves the running process's registers/PC to its PCB and loads the next process's — a small overhead each switch. · El OS guarda los registros/PC del proceso en ejecución en su PCB y carga los del siguiente proceso — una pequeña sobrecarga en cada conmutación.
During a context switch, a process's registers and program counter are saved into its ____. · Durante una conmutación de contexto, los registros y el contador de programa de un proceso se guardan en su ____.
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. · Luego se carga el estado del siguiente proceso desde su propio bloque. El guardar y cargar es trabajo real, lo cual es lo que hace que la conmutación cueste tiempo.
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.
Interrupciones y el kernel
- El kernel, el núcleo del SO, es quien realmente realiza esto: responde a interrupciones de dispositivos y de programas, y una interrupción es lo que devuelve el control al OS desde un proceso en ejecución.
- Una interrupción de temporizador al final de una rebanada de tiempo es lo que hace posible en absoluto el planificación preemptiva; sin ella, un programa que nunca cediera mantendría el procesador para siempre.
- Esa es la respuesta al acertijo inicial: el programa congelado no retiene más del procesador que su rebanada, por lo que el ratón sigue moviéndose.
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.
Marcas que se pierden
- Un proceso es un programa en ejecución, no el archivo en disco.
- De bloqueado a listo, nunca de bloqueado directamente a en ejecución. El planificador decide cuándo vuelve a ejecutarlo.
- Un cambio de contexto guarda y restaura el estado a través del bloque de control de proceso, y tiene un coste de tiempo.
- La multitarea significa que los procesos toman turnos tan rápido que parecen simultáneos, no que se ejecuten verdaderamente al mismo tiempo en un solo núcleo.
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
Lo has entendido
- el OS maximiza el uso de recursos mediante multitarea, paginación, spooling a una cola de disco y caché
- un proceso es un programa en ejecución; el planificador elige el siguiente listo, con round robin dando a cada uno una rebanada de tiempo fija
- estados nuevo, listo, en ejecución, bloqueado, terminado: la expiración de la rebanada envía el en ejecución a listo, una solicitud de E/S lo envía a bloqueado, y la finalización de la E/S lo devuelve a listo
- un cambio de contexto guarda y restaura el estado vía el bloque de control de proceso y cuesta tiempo, por lo que la longitud de la rebanada es un compromiso