2.10.2 OS/Principios del Sistema Operativo
Temas:
Core
- Diseño y enfoques de software del sistema operativo (por ejemplo, monolítico, en capas, modular, micro-kernel, unikernel)
- Abstracciones, procesos y recursos
- Concepto de llamadas al sistema y enlaces a interfaces de programas de aplicación (por ejemplo, Win32, Java, Posix). Ver también: Arquitectura y Organización (AR) -AssemblyLevelMachineOrganization
- La evolución del vínculo entre la arquitectura del hardware y las funciones del sistema operativo
- Protección de recursos significa proteger algunas instrucciones/funciones de la máquina. Ver también: Arquitectura y Organización (AR) -AssemblyLevelMachineOrganization
- Las aplicaciones no pueden acceder arbitrariamente a ubicaciones de memoria o direcciones de dispositivos de almacenamiento de archivos.
- Protección de coprocesadores y dispositivos de red
- Aprovechamiento de interrupciones desde el nivel de hardware: rutinas de servicio e implementaciones. Ver también: Arquitectura y Organización (AR) -AssemblyLevelMachineOrganization
- Interrupciones de temporizador para implementar segmentos de tiempo
- Interrupciones de E/S para poner hilos bloqueados en espera sin sondeo
- Concepto de estado usuario/sistema y protección, transición al modo kernel usando llamadas al sistema. Ver también: Arquitectura y Organización (AR) -AssemblyLevelMachineOrganization
- Mecanismo para invocar llamadas al sistema, el cambio de modo y contexto correspondiente y retorno desde interrupción. Ver también: Arquitectura y Organización (AR) -AssemblyLevelMachineOrganization
- Costos de rendimiento de cambios de contexto y vaciados de caché asociados al realizar cambios de proceso en entornos mitigados para Spectre.
Aprendizaje esperado (Learning Outcomes):
Core:
- Comprender cómo la aplicación de enfoques de diseño de software al diseño/implementación de sistemas operativos (por ejemplo, en capas, modular, etc.) afecta la robustez y mantenibilidad de un sistema operativo [Explicar]
- Categorizar llamadas al sistema por propósito [Categorizar]
- Comprender la dinámica de invocar una llamada al sistema (por ejemplo, pasar parámetros, cambio de modo) [Explicar]
- Evaluar si una función puede implementarse en la capa de aplicación o solo puede realizarse mediante llamadas al sistema [Evaluar]
- Aplicar técnicas de SO para aislamiento, protección y rendimiento a través de las funciones del SO (por ejemplo, similitudes de inanición en planificación de procesos, planificación de solicitudes de disco, semáforos, etc.) y más allá [Aplicar]
- Comprender cómo la separación en modo kernel y usuario afecta la seguridad y el rendimiento [Explicar]
- Comprender las ventajas y desventajas de usar procesamiento de interrupciones para habilitar la multiprogramación [Explicar]
- Analizar vectores potenciales de ataque a través de los sistemas operativos y las características de seguridad diseñadas para proteger contra ellos [Analizar]
Generado por Ernesto Cuadros-Vargas , Sociedad Peruana de Computación-Peru, basado en el modelo de la Computing Curricula de IEEE-CS/ACM