Resumen de Conceptos Clave de Sistemas Operativos

Conceptos Clave de Sistemas Operativos: Guía Completa para Estudiantes

Introducción

Los sistemas operativos administran recursos y ejecutan programas transformándolos en entidades llamadas procesos y hilos. Este material explica qué es un proceso, cómo se gestiona su ciclo de vida, diferencias clave entre procesos e hilos, planificación y sincronización básica, además de conceptos asociados a entrada/salida y tiempo real.

Definición: Un proceso es una abstracción de un programa en ejecución que incluye su espacio de direcciones, registros del procesador, contador de programa, pila y recursos asignados.

1. ¿Qué es un proceso? — Elementos y estructura

  • Un proceso contiene:
    • Código (segmento de texto)
    • Datos (segmento de datos)
    • Pila (stack) para llamadas y variables locales
    • Montón (heap) para memoria dinámica
    • Registros de CPU, incluido el contador de programa
    • Recursos del sistema (archivos abiertos, descriptores)

Definición: La imagen de usuario de un proceso integra el segmento de texto, el segmento de datos, la pila y el montón.

1.1 Bloque de Control de Proceso (PCB)

  • El núcleo guarda la información del proceso en su PCB.
  • El PCB contiene el estado del proceso, registros, información de planificación y recursos asignados.

2. Ciclo de vida de un proceso

  • Estados esenciales (modelo básico):
    1. En ejecución (Running): ocupa la CPU.
    2. Listo (Ready): puede ejecutarse pero espera la CPU.
    3. Bloqueado (Blocked): espera un evento externo (por ejemplo, E/S).

Definición: Cambio de contexto (context switch) ocurre cuando el SO suspende el proceso activo, guarda su estado en el PCB y carga el estado de otro proceso.

2.1 Cambio de contexto

  • Ocurre en transiciones entre procesos debido a interrupciones, finalización de cuanto de tiempo, llamadas al sistema o eventos de E/S.
  • El sistema guarda y restaura registros y el contador de programa.

3. Procesos vs Hilos

  • Tabla comparativa:
CaracterísticaProcesoHilo
Espacio de direccionesAislado, propioCompartido con hilos del mismo proceso
Contador de programaPropioPropio
PilaPropiaPropia
Registros de CPUConjunto propioConjunto propio
Archivos abiertosCopiados/propiosCompartidos
Comunicación entre entidadesMás costosa (IPC)Más económica (memoria compartida)

Definición: Un hilo es una unidad de ejecución dentro de un proceso que posee su propio contador de programa, pila y registros pero comparte el espacio de direcciones y recursos globales.

3.1 Características prácticas de hilos

  • Menor sobrecarga al crear y cambiar contexto entre hilos que entre procesos.
  • Uso típico: tareas ligadas que requieren acceso directo a la misma memoria (por ejemplo, un servidor multihilo que atiende conexiones).
💡 ¿Sabías que?Fun fact: En muchos sistemas modernos, el uso adecuado de hilos mejora la capacidad de respuesta de aplicaciones de usuario y servidores sin duplicar grandes bloques de memoria.

4. Planificación de procesos

4.1 Agente decisor

  • El planificador (Scheduler) decide qué proceso listo ocupará la CPU.

4.2 Planificación apropiativa vs no apropiativa

  • Apropiativa (preemptive): el SO puede interrumpir un proceso en ejecución para asignar la CPU a otro proceso.
  • No apropiativa (non-preemptive): un proceso retiene la CPU hasta que se bloquea o termina.

4.3 Round Robin (RR)

  • Algoritmo apropiativo típico de sistemas de tiempo compartido.
  • Asigna un cuanto de tiempo (quantum) fijo y cicla entre procesos listos.
  • Métrica central: tamaño del quantum y tiempo de respuesta promedio.

Definición: Round Robin es un algoritmo apropiativo que da a cada proceso una porción de tiempo llamada cuanto de tiempo.

4.4 Hambruna (Starvation)

  • Definición: situación donde un proceso listo es postergado indefinidamente porque el planificador favorece continuamente a otros procesos.

5. Sincronización y exclusión mutua (visión general)

ATENCIÓN: El detalle profundo de Concurrencia

Regístrate para el resumen completo
TarjetasTest de conocimientosResumenPodcastMapa mental
Empezar gratis

¿Ya tienes cuenta? Iniciar sesión

Procesos y Hilos - Resumen

Klíčová slova: Sistemas operativos, Concurrencia

Klíčové pojmy: Un proceso es un programa en ejecución con su espacio de direcciones y PCB., El PCB almacena el estado y registros de un proceso que no está en ejecución., Estados básicos: Running, Ready, Blocked., Context switch guarda el estado del proceso y carga otro desde su PCB., Hilos comparten espacio de direcciones pero tienen contador, pila y registros propios., Round Robin usa un quantum fijo y es apropiativo., fork() crea un proceso hijo idéntico al padre en sistemas UNIX., E/S asincrónica devuelve control inmediato y necesita notificación posterior., Monitores agrupan datos y procedimientos garantizando exclusión mutua., Deadlock: procesos en ciclo de espera por recursos mutuos.

## Introducción Los sistemas operativos administran recursos y ejecutan programas transformándolos en entidades llamadas procesos y hilos. Este material explica qué es un proceso, cómo se gestiona su ciclo de vida, diferencias clave entre procesos e hilos, planificación y sincronización básica, además de conceptos asociados a entrada/salida y tiempo real. > **Definición:** Un proceso es una abstracción de un programa en ejecución que incluye su espacio de direcciones, registros del procesador, contador de programa, pila y recursos asignados. ## 1. ¿Qué es un proceso? — Elementos y estructura - Un proceso contiene: - Código (segmento de texto) - Datos (segmento de datos) - Pila (stack) para llamadas y variables locales - Montón (heap) para memoria dinámica - Registros de CPU, incluido el contador de programa - Recursos del sistema (archivos abiertos, descriptores) > **Definición:** La imagen de usuario de un proceso integra el segmento de texto, el segmento de datos, la pila y el montón. ### 1.1 Bloque de Control de Proceso (PCB) - El núcleo guarda la información del proceso en su PCB. - El PCB contiene el estado del proceso, registros, información de planificación y recursos asignados. ## 2. Ciclo de vida de un proceso - Estados esenciales (modelo básico): 1. **En ejecución (Running)**: ocupa la CPU. 2. **Listo (Ready)**: puede ejecutarse pero espera la CPU. 3. **Bloqueado (Blocked)**: espera un evento externo (por ejemplo, E/S). > **Definición:** Cambio de contexto (context switch) ocurre cuando el SO suspende el proceso activo, guarda su estado en el PCB y carga el estado de otro proceso. ### 2.1 Cambio de contexto - Ocurre en transiciones entre procesos debido a interrupciones, finalización de cuanto de tiempo, llamadas al sistema o eventos de E/S. - El sistema guarda y restaura registros y el contador de programa. ## 3. Procesos vs Hilos - Tabla comparativa: | Característica | Proceso | Hilo | |---|---:|---:| | Espacio de direcciones | Aislado, propio | Compartido con hilos del mismo proceso | | Contador de programa | Propio | Propio | | Pila | Propia | Propia | | Registros de CPU | Conjunto propio | Conjunto propio | | Archivos abiertos | Copiados/propios | Compartidos | | Comunicación entre entidades | Más costosa (IPC) | Más económica (memoria compartida) > **Definición:** Un hilo es una unidad de ejecución dentro de un proceso que posee su propio contador de programa, pila y registros pero comparte el espacio de direcciones y recursos globales. ### 3.1 Características prácticas de hilos - Menor sobrecarga al crear y cambiar contexto entre hilos que entre procesos. - Uso típico: tareas ligadas que requieren acceso directo a la misma memoria (por ejemplo, un servidor multihilo que atiende conexiones). Fun fact: En muchos sistemas modernos, el uso adecuado de hilos mejora la capacidad de respuesta de aplicaciones de usuario y servidores sin duplicar grandes bloques de memoria. ## 4. Planificación de procesos ### 4.1 Agente decisor - El planificador (Scheduler) decide qué proceso listo ocupará la CPU. ### 4.2 Planificación apropiativa vs no apropiativa - **Apropiativa (preemptive):** el SO puede interrumpir un proceso en ejecución para asignar la CPU a otro proceso. - **No apropiativa (non-preemptive):** un proceso retiene la CPU hasta que se bloquea o termina. ### 4.3 Round Robin (RR) - Algoritmo apropiativo típico de sistemas de tiempo compartido. - Asigna un cuanto de tiempo (quantum) fijo y cicla entre procesos listos. - Métrica central: tamaño del quantum y tiempo de respuesta promedio. > **Definición:** Round Robin es un algoritmo apropiativo que da a cada proceso una porción de tiempo llamada cuanto de tiempo. ### 4.4 Hambruna (Starvation) - Definición: situación donde un proceso listo es postergado indefinidamente porque el planificador favorece continuamente a otros procesos. ## 5. Sincronización y exclusión mutua (visión general) ATENCIÓN: El detalle profundo de *Concurrencia*