Fundamentos de Sistemas Operativos: Procesos, Concurrencia y Planificación
Clasificado en Informática
Escrito el en español con un tamaño de 3,33 KB
Conceptos Fundamentales de Sistemas Operativos
Definiciones Básicas
SO (Sistema Operativo): Software que gestiona los recursos de hardware y proporciona un nivel de abstracción de alto nivel al usuario.
Procesos: Programas en ejecución.
Sistemas Multitarea: Permiten la ejecución simultánea de múltiples programas.
Sistemas Multiusuario: Permiten el acceso de múltiples usuarios al mismo tiempo.
Intérprete de Comandos (Cmds): Interfaz de usuario para ejecutar comandos.
Llamadas al Sistema: Interfaces utilizadas por los programas para solicitar servicios al sistema operativo (API).
Tipos de Sistemas Operativos
Sistemas Monoprogramables: Solo un trabajo en memoria a la vez. La CPU no se utiliza durante las operaciones de E/S, lo que provoca inactividad.
Sistemas de Tiempo Compartido: Varios terminales conectados a una computadora central, permitiendo el uso alterno de la CPU por múltiples procesos.
Procesos y Programas
Proceso: Conjunto de instrucciones asociadas a un estado.
Programa: Conjunto de instrucciones que se desean ejecutar.
Estados de los Procesos: NUEVO / LISTO / EJECUCIÓN / BLOQUEADO / TERMINADO.
Concurrencia de Aplicaciones: Competencia entre aplicaciones por recursos, utilizando hilos y/o procesos secundarios concurrentes.
Exclusión Mutua y Concurrencia
Exclusión Mutua: Mecanismo que garantiza que dos o más procesos concurrentes no accedan al mismo recurso compartido simultáneamente. Se puede implementar por hardware (inhibición de interrupciones, instrucción TSL) o software (con espera activa o sin espera activa).
Espera Bloqueada: El proceso permanece en estado bloqueado hasta que el recurso es liberado.
Espera Ocupada: El proceso vuelve continuamente al estado listo hasta que puede utilizar el recurso.
Contexto y Cambio de Contexto
Contexto: Parte del estado del proceso, definido por los registros de la CPU.
Cambio de Contexto: Guardar los registros del proceso actual (contexto) y cargar un nuevo contexto en el Bloque de Control de Proceso (BCP).
Hilos y Planificación
Hilo (Thread): Flujo de ejecución alternativo dentro de un proceso, permitiendo ejecutar dos o más instrucciones en paralelo (simultáneamente).
Planificadores (Schedulers):
- Planificador a Corto Plazo: Decide qué proceso en la cola de listos pasa a la CPU.
- Planificador a Largo Plazo: Decide qué nuevos procesos pasan a la cola de listos.
Planificación Preventiva: El sistema puede detener un proceso en ejecución y sacarlo de la CPU.
Planificación No Preventiva: El proceso en ejecución no puede ser detenido hasta que finaliza o libera la CPU voluntariamente.
Quantum: Tiempo máximo que un proceso puede estar en ejecución en la CPU. Un quantum muy corto genera mucha conmutación, mientras que uno muy largo puede causar inactividad de la CPU.