2.10. Sistemas Operativos (OS)
El sistema operativo es una colección de servicios necesarios para interconectar de manera segura el hardware con las aplicaciones. Los temas centrales se centran en los mecanismos y políticas necesarios para virtualizar cómputo, memoria y entrada/salida (I/O). Los temas generales que se reutilizan en muchos niveles de los sistemas informáticos están bien ilustrados en los sistemas operativos (por ejemplo, sondeo vs interrupciones, caché, flexibilidad vs costos, enfoques de planificación de procesos, reemplazo de páginas, etc.). El área de conocimiento de Sistemas Operativos contiene los conceptos subyacentes clave para otras áreas de conocimiento: límites de confianza, concurrencia, persistencia y extensibilidad segura.
| área de Conocimiento (Knowledge Area-KA) (KA) | Core Tier1 | Core Tier2 | Electivo |
| 2.10.1 Rol y Propósito de los Sistemas Operativos |
|
| No |
| 2.10.2 Principios del Sistema Operativo |
|
| No |
| 2.10.3 Concurrencia |
|
| No |
| 2.10.4 Protección y Seguridad |
|
| No |
| 2.10.5 Planificación |
|
| No |
| 2.10.6 Modelo de Proceso |
|
| No |
| 2.10.7 Gestión de Memoria |
|
| No |
| 2.10.8 Gestión de Dispositivos |
|
| No |
| 2.10.9 API de Sistemas de Archivos e Implementación |
|
| No |
| 2.10.10 Sistemas de Archivos Avanzados |
|
| No |
| 2.10.11 Virtualización |
|
| No |
| 2.10.12 Sistemas en Tiempo Real y Embebidos |
|
| No |
| 2.10.13 Tolerancia a fallos |
|
| No |
| 2.10.14 Sociedad, ética y Profesión |
|
| No |
2.10.1. OS/Rol y Propósito de los Sistemas Operativos
Temas:
Core
- Los sistemas operativos median entre el hardware de propósito general y el software específico de la aplicación.
- Funciones universales del sistema operativo (por ejemplo, proceso, interfaces de usuario y
dispositivos, persistencia de datos)
- Funciones extendidas y/o especializadas del sistema operativo (por ejemplo, sistemas embebidos, tipos de servidor como archivos, web, multimedia, gestores de arranque y seguridad de arranque)
- Problemas de diseño (por ejemplo, eficiencia, robustez, flexibilidad, portabilidad, seguridad, compatibilidad, energía, seguridad, compensaciones entre verificación de errores y rendimiento, flexibilidad y rendimiento, y seguridad y rendimiento). Ver también: Seguridad (SEC) -Engineering
- Influencias de seguridad, redes, multimedia, computación paralela y distribuida
-
Preocupación general de seguridad/protección: Omitir considerar la seguridad en cada capa crea una oportunidad para acceder de manera inapropiada a los recursos.
- 1.
- Se puede lograr acceso no autorizado a archivos en una unidad no cifrada moviendo el medio a otra computadora.
- 2.
- La seguridad impuesta por los sistemas operativos puede ser derrotada infiltrando la capa de arranque antes de que se cargue el sistema operativo.
- 3.
- El aislamiento de procesos puede ser subvertido por una verificación de autorización inadecuada en los límites de la API.
- 4.
- Las vulnerabilidades en el firmware del sistema pueden proporcionar vectores de ataque que eviten por completo el sistema operativo.
- 5.
- El aislamiento inadecuado de la memoria, cómputo y hardware de la máquina virtual puede exponer el sistema anfitrión a ataques desde sistemas invitados.
- 6.
- El sistema operativo puede necesitar mitigar la explotación de vulnerabilidades de hardware y firmware, lo que lleva a posibles reducciones de rendimiento (por ejemplo, mitigaciones de Spectre y Meltdown).
- Exposición de funciones del sistema operativo en shells y programación de sistemas. Ver también: Fundamentos de los Lenguajes de Programación (FPL) -ShellScripting
Aprendizaje esperado (Learning Outcomes):
Core:
- 1.
- Comprender los objetivos y funciones de los sistemas operativos modernos [Explicar]
- 2.
- Evaluar los problemas de diseño en diferentes escenarios de uso (por ejemplo, sistema operativo en tiempo real, móvil, servidor) [Evaluar]
- 3.
- Comprender las funciones de un sistema operativo contemporáneo con respecto a conveniencia, eficiencia y capacidad de evolucionar [Explicar]
- 4.
- Comprender cómo la evolución y la estabilidad son deseables y mutuamente antagónicas en las funciones del sistema operativo [Explicar]
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
- 1.
- Las aplicaciones no pueden acceder arbitrariamente a ubicaciones de memoria o direcciones de dispositivos de almacenamiento de archivos.
- 2.
- 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
- 1.
- Interrupciones de temporizador para implementar segmentos de tiempo
- 2.
- 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:
- 1.
- 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]
- 2.
- Categorizar llamadas al sistema por propósito [Categorizar]
- 3.
- Comprender la dinámica de invocar una llamada al sistema (por ejemplo, pasar parámetros, cambio de modo) [Explicar]
- 4.
- Evaluar si una función puede implementarse en la capa de aplicación o solo puede realizarse mediante llamadas al sistema [Evaluar]
- 5.
- 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]
- 6.
- Comprender cómo la separación en modo kernel y usuario afecta la seguridad y el rendimiento [Explicar]
- 7.
- Comprender las ventajas y desventajas de usar procesamiento de interrupciones para habilitar la multiprogramación [Explicar]
- 8.
- 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]
2.10.3. OS/Concurrencia
Temas:
Core
- Abstracción de hilos relativa a la concurrencia
- Condiciones de carrera, regiones críticas (rol de interrupciones, si es necesario). Ver también: Computación Paralela y Distribuida (PDC) -Programs
- Interbloqueos (deadlocks) e inanición. Ver también: Computación Paralela y Distribuida (PDC) -Coordination
- Problemas de multiprocesador (bloqueos de giro (spin-locks), reentrada).
- Concurrencia multiproceso vs multihilo
- Creación de hilos, estados, estructuras. Ver también: Fundamentos de Sistemas (SF) -Foundations
- APIs de hilos
- Interbloqueos e inanición (condiciones necesarias/mitigaciones). Ver también: Computación
Paralela y Distribuida (PDC) -Coordination
- Implementar código seguro para hilos (semáforos, bloqueos mutex, variables de condición). Ver también: Arquitectura y Organización (AR) -PerformanceEnergyEfficiency, Fundamentos de Sistemas (SF) -Evaluation, Computación Paralela y Distribuida (PDC) -Evaluation
- Condiciones de carrera en memoria compartida. Ver también: Computación Paralela y Distribuida (PDC) -Coordination
Non Core
- Gestionar acceso atómico a objetos del SO (por ejemplo, gran bloqueo del kernel vs muchos bloqueos pequeños vs estructuras de datos sin bloqueo como listas)
Aprendizaje esperado (Learning Outcomes):
Core:
- 1.
- Comprender las ventajas y desventajas de la concurrencia como funciones inseparables dentro del marco del sistema operativo [Explicar]
- 2.
- Comprender cómo la implementación a nivel de arquitectura resulta en problemas de concurrencia incluyendo condiciones de carrera [Explicar]
- 3.
- Comprender problemas de concurrencia en sistemas multiprocesador [Explicar]
- 4.
- Comprender el rango de mecanismos que pueden emplearse a nivel del sistema operativo para realizar sistemas concurrentes y describir los beneficios de cada uno [Explicar]
- 5.
- Comprender técnicas para lograr sincronización en un sistema operativo (por ejemplo, describir cómo puede implementarse un semáforo usando primitivas del SO) incluyendo control de intra-concurrencia y uso de atómicos de hardware [Explicar]
- 6.
- Analizar con precisión código para identificar condiciones de carrera y soluciones apropiadas para abordarlas [Analizar]
2.10.4. OS/Protección y Seguridad
Temas:
Core
- Descripción general de mecanismos de seguridad del sistema operativo. Ver también: Seguridad (SEC) -Foundations
- Ataques y antagonismo (planificación, etc.). Ver también: Seguridad (SEC) -Foundations
- Revisión de vulnerabilidades principales en sistemas operativos reales. Ver también: Seguridad (SEC) -Foundations
- Estrategias de mitigación del sistema operativo como copias de seguridad. Ver también:
Fundamentos de Sistemas (SF) -Reliability
- Separación política/mecanismo. Ver también: Seguridad (SEC) -Governance
-
Métodos y dispositivos de seguridad. Ver también: Seguridad (SEC) -Foundations
- 1.
- Anillos de protección (historia desde Multics hasta x86 virtualizado)
- 2.
- Anillos -1 y -2 de x86_64 (hipervisor y ME/PSP)
- Protección, control de acceso y autenticación. Ver también: Seguridad (SEC) -Foundations, Seguridad (SEC) -Crypto
Aprendizaje esperado (Learning Outcomes):
Core:
- 1.
- Comprender el requisito de mecanismos de protección y seguridad en sistemas operativos [Explicar]
- 2.
- Listar y describir los vectores de ataque que aprovechan vulnerabilidades del SO [Listar/Enumerar]
- 3.
- Comprender los mecanismos disponibles en un SO para controlar el acceso a recursos [Explicar]
- 4.
- Resumir las características y limitaciones de un sistema operativo que impactan la protección y seguridad [Resumir]
2.10.5. OS/Planificación
Temas:
Core
- Planificación con expropiación y sin expropiación
- Planificadores y políticas (por ejemplo, primero en llegar primero en ser servido, trabajo más corto primero, prioridad, round robin, multinivel). Ver también: Fundamentos de Sistemas (SF) -Resource
- Conceptos de planificación de multiprocesador simétrico (SMP) y coherencia de caché Ver también: Arquitectura y Organización (AR) -MemoryHierarchy
- Temporizadores (por ejemplo, construir muchos temporizadores a partir de temporizadores de hardware finitos). Ver también: Arquitectura y Organización (AR) -AssemblyLevelMachineOrganization
- Justicia e inanición
Non Core
-
Subtemas de sistemas operativos como planificación consciente de energía y planificación en tiempo real. Ver también: Arquitectura y Organización (AR) -PerformanceEnergyEfficiency, Desarrollo de Plataformas Especializadas (SPD) -EmbeddedPlatforms, Desarrollo de Plataformas Especializadas (SPD) -MobilePlatforms
- Planificación cooperativa, como futexes de Linux y planificación en espacio de usuario.
Aprendizaje esperado (Learning Outcomes):
Core:
- 1.
- Comparar y contrastar los algoritmos comunes utilizados para planificación con y sin expropiación de tareas en sistemas operativos, como prioridad, comparación de rendimiento y esquemas de participación justa [Comparar]
- 2.
- Explicar las relaciones entre algoritmos de planificación y dominios de aplicación [Explicar]
- 3.
- Explicar las distinciones entre tipos de planificadores de procesador como corto plazo, mediano plazo, largo plazo y E/S [Explicar]
- 4.
- Evaluar un problema o solución para determinar la idoneidad para multiprocesamiento asimétrico y/o simétrico [Evaluar]
- 5.
- Evaluar un problema o solución para determinar la idoneidad como proceso vs hilos [Evaluar]
- 6.
- Listar algunos contextos que se benefician de la planificación con expropiación y con plazo límite [Listar/Enumerar]
NonCore:
- 7.
- Explicar las formas en que la lógica incorporada en los algoritmos de planificación es aplicable a otros mecanismos de sistemas operativos, como primero en llegar primero en ser servido o prioridad para E/S de disco, planificación de red, planificación de proyectos y problemas más allá de la computación [Explicar]
2.10.6. OS/Modelo de Proceso
Temas:
Core
- Procesos e hilos relativos a virtualización de memoria protegida, estado del proceso, aislamiento de memoria, etc.
- Huella de memoria/segmentación (por ejemplo, pila, montón, etc.). Ver también: Arquitectura y Organización (AR) -AssemblyLevelMachineOrganization
- Creación y carga de ejecutables, bibliotecas compartidas y enlace dinámico. Ver también: Fundamentos de los Lenguajes de Programación (FPL) -LanguageTranslationExecution
- Despacho y cambio de contexto. Ver también: Arquitectura y Organización (AR) -AssemblyLevelMachineOrganization
-
Comunicación entre procesos (por ejemplo, memoria compartida, paso de mensajes, señales, variables de entorno). Ver también: Computación Paralela y Distribuida (PDC) -Communication
Aprendizaje esperado (Learning Outcomes):
Core:
- 1.
- Comprender cómo los procesos e hilos usan características de concurrencia para virtualizar el control [Explicar]
- 2.
- Comprender las razones para usar interrupciones, despacho y cambio de contexto para apoyar concurrencia y virtualización en un sistema operativo [Explicar]
- 3.
- Comprender los diferentes estados por los que puede pasar una tarea, y las estructuras de datos necesarias para apoyar la gestión de muchas tareas [Explicar]
- 4.
- Comprender las diferentes formas de asignar memoria a tareas, citando los méritos relativos de cada una [Explicar]
- 5.
- Aplicar el mecanismo de comunicación entre procesos apropiado para un propósito específico en un artefacto de software programado [Aplicar]
2.10.7. OS/Gestión de Memoria
Temas:
Core
- Revisión de memoria física, traducción de direcciones y hardware de gestión de memoria. Ver también: Arquitectura y Organización (AR) -MemoryHierarchy, Fundamentos Matemáticos y Estadísticos (MSF) -Discrete
- Impacto de la jerarquía de memoria incluyendo concepto de caché, búsqueda en caché y almacenamiento en caché por CPU en mecanismos y políticas del sistema operativo Ver también: Arquitectura y Organización (AR) -MemoryHierarchy, Fundamentos de Sistemas (SF) -Performance
- Direccionamiento lógico y físico, virtualización de espacio de direcciones. Ver también: Arquitectura y Organización (AR) -MemoryHierarchy, Fundamentos Matemáticos y Estadísticos (MSF) -Discrete
- Conceptos de paginación, reemplazo de páginas, trashing y asignación de páginas y marcos
-
Técnicas de asignación/desasignación/almacenamiento (algoritmos y estructura de datos) rendimiento y flexibilidad
- 1.
- Arenas, asignadores de losas (slab allocators), listas libres, clases de tamaño, páginas de tamaño heterogéneo (páginas enormes)
- Almacenamiento en caché de memoria y coherencia de caché y el efecto de vaciar la caché para evitar
vulnerabilidades de ejecución especulativaVer también: Arquitectura y Organización (AR)
-FunctionalOrganization, Arquitectura y Organización (AR) -MemoryHierarchy, Fundamentos de Sistemas (SF) -Performance)
- Mecanismos y conceptos de seguridad en gestión de memoria incluyendo sandboxing, protección, aislamiento y vectores relevantes de ataque. Ver también: Seguridad (SEC) -Foundations
Non Core
- Memoria virtual: aprovechando el hardware de memoria virtual para servicios del SO y eficiencia
Aprendizaje esperado (Learning Outcomes):
Core:
- 1.
- Explicar jerarquía de memoria y compensaciones costo-rendimiento [Explicar]
- 2.
- Resumir los principios de memoria virtual aplicados a almacenamiento en caché y paginación [Resumir]
- 3.
- Evaluar las compensaciones en términos de tamaño de memoria (memoria principal, memoria caché, memoria auxiliar) y velocidad del procesador [Evaluar]
- 4.
- Describir la razón y el uso de la memoria caché (rendimiento y proximidad, cómo las cachés complican el aislamiento y la abstracción de máquina virtual) [Describir]
- 5.
- Codificar/Desarrollar programas eficientes que consideren los efectos del reemplazo de páginas y asignación de marcos en el rendimiento de un proceso y el sistema en el que se ejecuta [Crear]
NonCore:
2.10.8. OS/Gestión de Dispositivos
Temas:
Core
- Estrategias de almacenamiento en búfer. Ver también: Arquitectura y Organización (AR) -InterfacingCommunication
-
Acceso Directo a Memoria (DMA) y E/S sondeada, E/S mapeada en memoria. Ver también: Arquitectura y Organización (AR) -InterfacingCommunication
- 1.
- Protocolos de comunicación DMA (por ejemplo, búfers en anillo, etc.)
- Histórico y contextual - Gestión de dispositivos de almacenamiento persistente. Por ejemplo: Magnético, Dispositivo de Estado Sólido (SSD). Ver también: Sociedad, ética y la Profesión (SEP) -History
Non Core
- Abstracciones de interfaz de dispositivo, capa de abstracción de hardware
- Propósito del controlador de dispositivo, abstracción, implementación y desafíos de prueba
- Tolerancia a fallos de alto nivel en comunicación de dispositivos
Aprendizaje esperado (Learning Outcomes):
Core:
- 1.
- Explicar la implementación de control de dispositivos a nivel de arquitectura y vincular mecanismos y políticas relevantes del sistema operativo (por ejemplo, estrategias de almacenamiento en búfer, acceso directo a memoria) [Explicar]
- 2.
- Explicar las capas de gestión de dispositivos del SO y la arquitectura (por ejemplo, controlador de dispositivo, controlador de dispositivo, abstracción de dispositivo) [Explicar]
- 3.
- Explicar la relación entre el hardware físico y los dispositivos virtuales mantenidos por el sistema operativo [Explicar]
- 4.
- Explicar el almacenamiento en búfer de datos de E/S y describir estrategias para implementarlo [Explicar]
- 5.
- Describir las ventajas y desventajas del acceso directo a memoria y discutir las circunstancias en las que su uso está justificado [Describir]
NonCore:
- 6.
- Describir la complejidad y mejores prácticas para la creación de controladores de dispositivos [Describir]
2.10.9. OS/API de Sistemas de Archivos e Implementación
Temas:
Core
- Concepto de archivo incluyendo datos, metadatos, operaciones y modo de acceso
- Montaje de sistema de archivos
- Control de acceso a archivos
- Compartición de archivos
- Métodos básicos de asignación de archivos, incluida la tabla de asignación enlazada
- Estructuras del sistema de archivos que comprenden asignación de archivos incluyendo varias estructuras de directorio y métodos para identificar archivos de manera única (por ejemplo, nombre, identificador o ubicación de almacenamiento de metadatos)
-
Técnicas de asignación/desasignación/almacenamiento (algoritmos y estructura de datos) impacto en rendimiento y flexibilidad (es decir, fragmentación interna y externa y compactación)
- Gestión de espacio libre como usar tablas de bits vs enlazado
- Implementación de directorios para segmentar y rastrear ubicación de archivos
Aprendizaje esperado (Learning Outcomes):
Core:
- 1.
- Explicar las elecciones que deben tomarse en el diseño de sistemas de archivos [Explicar]
- 2.
- Evaluar diferentes enfoques para organización de archivos, reconociendo las fortalezas y debilidades de cada uno [Evaluar]
- 3.
- Aplicar constructores de software apropiadamente dado el conocimiento de la implementación del sistema de archivos [Aplicar]
2.10.10. OS/Sistemas de Archivos Avanzados
Temas:
Core
- Sistemas de archivos: particionamiento, montar/desmontar, sistemas de archivos virtuales
- Técnicas de implementación en profundidad
- Archivos mapeados en memoria. Ver también: Arquitectura y Organización (AR) -InterfacingCommunication
- Sistemas de archivos de propósito especial
- Denominación, búsqueda, acceso, copias de seguridad
- Sistemas de archivos con registro (journaling) y estructurados en registro (log-structured). Ver también: Fundamentos de Sistemas (SF) -Reliability
Non Core
- Sistemas de archivos distribuidos
- Sistemas de archivos cifrados
- Tolerancia a fallos
Aprendizaje esperado (Learning Outcomes):
Core:
- 1.
- Explicar cómo los desarrollos de hardware han llevado a cambios en las prioridades para el diseño y la gestión de sistemas de archivos [Explicar]
- 2.
- Mapear abstracciones de archivo a una lista de dispositivos e interfaces relevantes [Mapear/Mapa conceptual]
- 3.
- Identificar y categorizar diferentes tipos de montaje [Analizar]
- 4.
- Explicar requisitos específicos de sistemas de archivos y las características de sistemas de archivos especializados que los satisfacen [Explicar]
- 5.
- Explicar el uso de registro y cómo los sistemas de archivos estructurados en registro mejoran la tolerancia a fallos [Explicar]
NonCore:
- 6.
- Explicar propósito y complejidad de los sistemas de archivos distribuidos [Explicar]
- 7.
- Listar ejemplos de protocolos de sistemas de archivos distribuidos [Listar/Enumerar]
- 8.
- Explicar mecanismos en sistemas de archivos para mejorar la tolerancia a fallos [Explicar]
2.10.11. OS/Virtualización
Temas:
Core
- Usar virtualización y aislamiento para lograr protección y rendimiento predecible. Ver también: Fundamentos de Sistemas (SF) -Performance
- Paginación avanzada y memoria virtual. Ver también: Fundamentos de Sistemas (SF) -Performance
- Sistemas de archivos virtuales y dispositivos virtuales.
- Contenedores y su comparación con máquinas virtuales.
- Trashing (por ejemplo, requisitos de Popek y Goldberg para sistemas recursivamente virtualizables).
Non Core
- Tipos de virtualización (incluyendo hardware/software, SO, servidor, servicio, red). Ver también: Fundamentos de Sistemas (SF) -Performance
- Virtualización portátil; emulación vs aislamiento. Ver también: Fundamentos de Sistemas (SF)
-Performance
- Costo de virtualización. Ver también: Fundamentos de Sistemas (SF) -Performance
- Máquinas virtuales y escapes de contenedores, peligros desde una perspectiva de seguridad. Ver también: Seguridad (SEC) -Engineering
- Hipervisores - extensiones de máquina virtual de hardware, anfitriones con soporte de kernel, QEMU KVM
Aprendizaje esperado (Learning Outcomes):
Core:
- 1.
- Explicar cómo la arquitectura de hardware proporciona soporte y eficiencias para la virtualización [Explicar]
- 2.
- Explicar la diferencia entre emulación y aislamiento [Explicar]
- 3.
- Evaluar las compensaciones de la virtualización [Evaluar]
NonCore:
- 4.
- Explicar hipervisores y la necesidad de ellos junto con diferentes tipos de hipervisores [Explicar]
2.10.12. OS/Sistemas en Tiempo Real y Embebidos
Temas:
Core
- Planificación de procesos y tareas.
- Plazos límite y problemas de tiempo real. Ver también: Desarrollo de Plataformas Especializadas (SPD) -EmbeddedPlatforms
- Baja latencia vs "tiempo real suave"vs "tiempo real duro". Ver también: Desarrollo de Plataformas Especializadas (SPD) -EmbeddedPlatforms, Fundamentos de los Lenguajes de Programación (FPL) -EventDrivenReactiveProgramming
Non Core
- Requisitos de gestión de memoria/disco en un entorno de tiempo real.
- Fallas, riesgos y recuperación.
- Preocupaciones especiales en sistemas de tiempo real (seguridad).
Aprendizaje esperado (Learning Outcomes):
Core:
- 1.
- Explicar qué hace que un sistema sea un sistema de tiempo real [Explicar]
- 2.
- Explicar la latencia y sus fuentes en sistemas de software y sus características [Explicar]
- 3.
- Explicar las preocupaciones especiales que presentan los sistemas de tiempo real, incluido el riesgo, y cómo se abordan estas preocupaciones [Explicar]
NonCore:
- 4.
- Explicar características y mecanismos específicos de sistemas operativos de tiempo real [Explicar]
2.10.13. OS/Tolerancia a fallos
Temas:
Core
- Sistemas confiables y disponibles. Ver también: Fundamentos de Sistemas (SF) -Reliability
- Enfoques de software y hardware para abordar la tolerancia (RAID). Ver también: Fundamentos de Sistemas (SF) -Reliability
Non Core
- Redundancia espacial y temporal. Ver también: Fundamentos de Sistemas (SF) -Reliability
- Métodos utilizados para implementar tolerancia a fallos. Ver también: Fundamentos de Sistemas (SF) -Reliability
- Mecanismos de identificación y corrección de errores, sumas de comprobación (checksums) de memoria volátil en RAM. Ver también: Arquitectura y Organización (AR) -MemoryHierarchy
- Verificación de consistencia y recuperación del sistema de archivos.
- Sistemas de archivos con registro y estructurados en registro. Ver también: Fundamentos de Sistemas (SF) -Reliability
- Casos de uso para tolerancia a fallos (bases de datos, críticos para la seguridad). Ver también: Fundamentos de Sistemas (SF) -Reliability
- Ejemplos de mecanismos del SO para detección, recuperación, reinicio para implementar tolerancia a fallos, uso de estas técnicas para los servicios propios del SO. Ver también: Fundamentos de Sistemas (SF) -Reliability
Aprendizaje esperado (Learning Outcomes):
Core:
- 1.
- Explicar cómo los sistemas operativos pueden facilitar la tolerancia a fallos, confiabilidad y
disponibilidad [Explicar]
- 2.
- Explicar el rango de métodos para implementar tolerancia a fallos en un sistema operativo [Explicar]
- 3.
- Explicar cómo un sistema operativo puede continuar funcionando después de que ocurra una falla [Explicar]
- 4.
- Explicar las compensaciones de rendimiento y flexibilidad que impactan el uso de tolerancia a fallos [Explicar]
NonCore:
- 5.
- Describir en detalle los problemas y mecanismos de tolerancia a fallos del sistema operativo [Describir]
2.10.14. OS/Sociedad, ética y Profesión
Temas:
Core
-
Código abierto en sistemas operativos. Ver también: Sociedad, ética y la Profesión (SEP) -IP
- 1.
- Identificación de vulnerabilidades en kernels de código abierto,
- 2.
- Sistemas operativos invitados de código abierto,
- 3.
- Sistemas operativos anfitriones de código abierto, y
- 4.
- Cambios en monetización (actualizaciones pagas vs gratuitas).
- Problemas de fin de vida con la retirada de sistemas operativos. Concepto ejemplo: Implicaciones de privacidad del uso de sistemas operativos/entornos operativos propietarios, incluyendo telemetría, escaneo automatizado de datos personales, publicidad incorporada e integración automática en la nube.
Aprendizaje esperado (Learning Outcomes):
Core:
- 1.
- Explicar ventajas y desventajas de encontrar y abordar errores en kernels de código abierto [Explicar]
- 2.
- Contextualizar la historia e impacto positivo y negativo de Linux como producto de código abierto [Contextualizar]
- 3.
- Listar complicaciones con la dependencia de sistemas operativos pasados de fin de vida [Listar/Enumerar]
- 4.
- Comprender diferencias en encontrar y abordar errores para varios modelos de pago de sistemas operativos [Explicar]