Contenidos

Unidad 1: Introducción

Conceptos elementales. Sistemas batch. Sistemas multiprogramados. Sistemas de tiempo compartido. Sistemas personales. Sistemas paralelos. Sistemas distribuidos. Sistemas de tiempo real. Operación del computador. Estructura de E/S. Estructura del almacenamiento. Jerarquía de almacenamiento. Protección por hardware. Arquitectura general del sistema. Componentes del sistema. Servicios. Llamadas al sistema. Programas del sistema. Estructura del sistema: monolítico, por capas, máquina virtual, microkernel. Diseño e implementación.

Unidad 2: Procesos

Concepto de proceso. Planificación. Operaciones con procesos. Procesos cooperativos. Threads. Comunicación entre procesos. Conceptos básicos de planificación. Criterios de planificación. Algoritmos. Planificación con múltiples CPUs. Planificación para tiempo real. Evaluación de algoritmos.

Unidad 3: Sincronización de Procesos

Introducción. El problema de la sección crítica. Hardware de sincronización. Semáforos. Problemas clásicos. Regiones críticas. Monitores. Sincronización en Solaris 2. Transacciones atómicas.

Unidad 4: Deadlocks

Modelo del sistema. Caracterización del problema. Métodos para manejar deadlocks. Prevención. Evitación. Detección. Recuperación. Enfoques combinados.

Unidad 5: Administración de Memoria

Introducción. Espacio de direcciones lógico y físico. Intercambio. Asignación contigua. Paginación. Segmentación. Segmentación con paginación.

Unidad 6: Memoria Virtual

Introducción. Paginado por demanda. Performance. Reemplazo de página. Algoritmos de reemplazo. Asignación de frames. Thrashing. Segmentación por demanda. Conjunto de trabajo.

Unidad 7: Sistema de Archivos

Concepto de archivo. Métodos de acceso. Directorios. Protección. Consistencia. Estructura general de un sistema de archivos. Métodos de asignación. Administración del espacio libre. Implementación de directorios. Eficiencia y performance. Recuperación.

Unidad 8: Sistema de Entrada/Salida

Introducción. Hardware de E/S. Interfaz a las aplicaciones. Subsistema de E/S del kernel. Transformación de solicitudes de E/S a operaciones de hardware. Performance.

Unidad 9: Almacenamiento Secundario

Estructura del disco. Planificación. Administración. Administración del espacio de intercambio. Confiabilidad. Implementación.

Unidad 10: Protección y Seguridad

Objetivos de la protección. Dominio de protección. Matriz de acceso. Implementación. Revocación de permisos. Sistemas basados en capacidades. Protección basada en lenguaje. Introducción a la seguridad. Autenticación. Palabras clave. Amenazas. Monitoreo de amenazas. Encriptado. Ejemplos.

Bibliografía

  • A. Silberschatz, P. B. Galvin and G. Gagne. “Operating Systems Concepts”. Addison-Wesley, 2018.
  • William Stallings. “Sistemas Operativos: Principios de Diseño e Interioridades”, Cuarta Edición, Prentice Hall, 2001.
  • Andrew S. Tanenbaum. “Modern Operating Systems”, Segunda Edición. Prentice Hall, 1992.
  • Maurice J. Bach. “Design of the UNIX Operating System”, Prentice Hall PTR, 1986.
  • Marshall Kirk McKusick, Keith Bostic, Michael J. Karels, John S. Quarterman. “The Design and Implementation of the 4.4 BSD Operating System”, Addison-Wesley Professional, 1996.
  • Douglas Lea. “Concurrent Programming in Java: Design Principles and Patterns”, Addison-Wesley Java series, Addison-Wesley, 1996. PDF
  • Randal K. Michael. “Mastering UNIX Shell Scripting”, Wiley, 2003.
  • Brian Goetz, David Holmes, Doug Lea, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes y Doug Lea. “Java Concurrency in Practice”. Addison-Wesley. 2006.
  • Unix BSD
  • Mach (μKernel)