Síntesis final
Material de estudio basado en la edición de 2014. Borrador pendiente de revisión editorial independiente.
Sintesis final del tema
El sistema operativo resuelve un problema fundamental: ocultar la complejidad del hardware para ofrecer a usuarios y programadores una maquina virtual mas sencilla de utilizar. Esta abstraccion tiene dos vertientes: gestionar eficientemente los recursos compartidos (CPU, memoria, dispositivos) y proporcionar un entorno seguro donde el codigo del SO se ejecuta con privilegios que las aplicaciones de usuario no tienen.
El software de sistema se organiza en capas. El nucleo es la mas cercana al hardware y contiene las rutinas de gestion de recursos. Sobre el nucleo se situan las bibliotecas (del sistema y del lenguaje) que facilitan la portabilidad y el desarrollo. En la capa mas alta encontramos el interprete de comandos y las aplicaciones de sistema, que ofrecen una interfaz amigable para el usuario final.
Para que el SO pueda hacer su trabajo, el hardware le proporciona soporte critico: instrucciones privilegiadas que solo el SO puede ejecutar, modos de ejecucion que separan codigo protegido de codigo de usuario, una MMU que controla el acceso a memoria y un temporizador que garantiza que el SO recupere el control periodicamente. Sin estos mecanismos, como ocurria con MS-DOS, cualquier programa podia comprometer la estabilidad del sistema.
La entrada al SO se produce mediante tres mecanismos: las llamadas al sistema (traps), que son sincronas y provocadas por el codigo de usuario; las interrupciones, que son asincronas y provocadas por dispositivos de hardware; y las excepciones, que responden a anomalias en la ejecucion. Todos siguen un proceso comun: salvar el estado del proceso, buscar la rutina de atencion en el vector de interrupciones, ejecutarla y continuar la ejecucion.
El concepto de proceso es central: un programa en ejecucion con recursos asignados. Varios procesos compiten por el procesador, y el planificador decide cual usa la CPU en cada momento mediante los estados run, ready y blocked. El cambio de contexto permite alternar procesos guardando y restaurando sus registros.
Comprobacion final
- Explica la doble funcion del SO: gestion de recursos y maquina virtual.
- Describe las tres capas del software de sistema y como se accede a cada una.
- Diferencia traps, interrupciones y excepciones con un ejemplo de cada uno.
- Enumera los cinco requisitos de hardware para un SO multiusuario.
- Distingue programa de proceso con una analogia clara.
- Explica los tres estados del planificador y las transiciones entre ellos.