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.

Entradas relacionadas: