Curso de Sistemas operativos

Curso gratis · Intermedio · 9 unidades

Aprende cómo un sistema operativo virtualiza la CPU y la memoria, permite la concurrencia y hace persistentes los datos, y cómo protege y aísla los programas. Al terminar, sabrás razonar sobre procesos, hilos, memoria y almacenamiento en cualquier sistema que construyas o utilices.

Por Studeli

Empieza por la unidad 1

¿Es este curso de Sistemas operativos para ti?

Para quién es

Empieza aquí si programas en C (o te animas a leer ejemplos en C) y quieres entender los procesos, la memoria, la concurrencia y los sistemas de archivos desde el punto de vista del sistema operativo.

Lo que aprenderás en 9 unidades

Cada unidad incluye las nueve herramientas de estudio

  • Guía de Estudio
  • Resumen
  • Lecciones Interactivas
  • Preguntas de Práctica
  • Flashcards
  • Explícalo
  • Términos Clave
  • Hoja de Repaso
  • Mapa Conceptual
  1. Explica cómo un sistema operativo virtualiza la CPU mediante procesos, llamadas al sistema y cambios de contexto, y crea procesos con fork, exec y wait.

    5 objetivos de aprendizaje
    1. 1.Explica qué hace un sistema operativo
    2. 2.Describe los procesos y los estados por los que pasan
    3. 3.Crea y controla procesos con fork, exec y wait
    4. 4.Explica el modo usuario, el modo núcleo y las llamadas al sistema
    5. 5.Explica cómo el sistema operativo comparte la CPU mediante la ejecución directa limitada
  2. Compara políticas de planificación como FIFO, primero el trabajo más corto, por turnos y colas multinivel con realimentación mediante los tiempos de retorno y respuesta.

    6 objetivos de aprendizaje
    1. 1.Describe qué hace un planificador de CPU y cómo evaluar su funcionamiento
    2. 2.Compara la planificación FIFO, primero el trabajo más corto, por turnos y por prioridades
    3. 3.Planifica sin conocer los tiempos de ejecución mediante colas multinivel con realimentación
    4. 4.Reparte la CPU proporcionalmente mediante boletos, pasos y tiempo de ejecución virtual
    5. 5.Planifica el trabajo en varias CPU
    6. 6.Explica y utiliza los planificadores de sistemas operativos reales
  3. Explica cómo el sistema operativo proporciona a cada proceso su propio espacio de direcciones mediante base y límite, segmentación y gestión del espacio libre.

    5 objetivos de aprendizaje
    1. 1.Explica cómo el sistema operativo proporciona a cada proceso su propia memoria
    2. 2.Usa la API de memoria y examina cómo le da soporte el sistema operativo
    3. 3.Traduce direcciones mediante base y límite
    4. 4.Traduce direcciones mediante segmentación
    5. 5.Gestiona el espacio libre y la fragmentación
  4. Traduce direcciones con tablas de páginas y la TLB, compara las tablas de páginas multinivel y evalúa las políticas de reemplazo de páginas cuando la memoria está llena.

    5 objetivos de aprendizaje
    1. 1.Traduce direcciones virtuales mediante paginación
    2. 2.Acelera la traducción con la TLB
    3. 3.Reduce el tamaño de las tablas de páginas
    4. 4.Supera la capacidad de la memoria física mediante el intercambio
    5. 5.Elige políticas de reemplazo de páginas y evita la hiperpaginación
  5. Crea hilos, identifica condiciones de carrera y secciones críticas y protege los datos compartidos con cerrojos.

    5 objetivos de aprendizaje
    1. 1.Explica qué son los hilos y créalos con hilos POSIX
    2. 2.Identifica condiciones de carrera y secciones críticas en código concurrente
    3. 3.Protege los datos compartidos con cerrojos y mutex
    4. 4.Explica cómo se construyen cerrojos a partir del soporte del hardware
    5. 5.Diseña estructuras de datos concurrentes basadas en cerrojos
  6. Coordina hilos mediante variables de condición y semáforos, resuelve los problemas del productor-consumidor y de lectores-escritores, y prevén el interbloqueo y otros errores de concurrencia.

    5 objetivos de aprendizaje
    1. 1.Coordina hilos mediante variables de condición
    2. 2.Usa semáforos para garantizar la exclusión mutua, ordenar los hilos y limitar su concurrencia
    3. 3.Reconoce y corrige errores de concurrencia distintos del interbloqueo
    4. 4.Prevén, evita y detecta interbloqueos
    5. 5.Construye programas concurrentes con eventos en lugar de hilos
  7. Explica cómo se comunica el sistema operativo con los dispositivos mediante interrupciones, DMA y controladores, y compara los discos duros, las unidades SSD y los niveles de RAID según su rendimiento y fiabilidad.

    5 objetivos de aprendizaje
    1. 1.Explica cómo se comunica el sistema operativo con los dispositivos
    2. 2.Modela el rendimiento de los discos duros y planifica las solicitudes de disco
    3. 3.Explica cómo funcionan las unidades SSD de memoria flash y cómo se comparan con los discos duros
    4. 4.Usa RAID para equilibrar capacidad, rendimiento y fiabilidad
    5. 5.Detecta y repara errores de almacenamiento mediante sumas de comprobación
  8. Usa la interfaz de archivos y directorios, explica cómo los sistemas de archivos almacenan los datos con inodos y estructuras de asignación y compara los enfoques de registro por diario y estructurados como registro para mantener la consistencia ante fallos.

    6 objetivos de aprendizaje
    1. 1.Usa la interfaz de archivos y directorios
    2. 2.Explica cómo un sistema de archivos sencillo almacena y localiza los datos
    3. 3.Explica cómo Fast File System aprovecha la localidad para mejorar la velocidad
    4. 4.Mantén la consistencia de un sistema de archivos ante fallos
    5. 5.Explica cómo un sistema de archivos estructurado como registro escribe y recupera espacio
    6. 6.Compara cómo los sistemas de archivos distribuidos comparten archivos a través de una red
  9. Explica cómo los sistemas operativos autentican a los usuarios, controlan el acceso a los recursos y aíslan las cargas de trabajo mediante máquinas virtuales y contenedores.

    5 objetivos de aprendizaje
    1. 1.Explica cómo el hardware y el núcleo protegen el sistema
    2. 2.Autentica a los usuarios y asigna una identidad a los procesos
    3. 3.Controla el acceso a los archivos y a otros recursos
    4. 4.Ejecuta sistemas operativos dentro de máquinas virtuales
    5. 5.Aísla aplicaciones mediante contenedores
Introducción a la informática (Principiante)

Empieza aquí si quieres una primera visión amplia y conceptual de la informática (cómo funcionan las computadoras, los datos, los algoritmos e Internet) antes de tu primer curso de programación o al mismo tiempo.

Crea tus propios Materiales de Estudio

Convierte tus notas, diapositivas y documentos en Guías de Estudio, Preguntas de Práctica, Flashcards y 6 herramientas más.

Comenzar