Ir al contenido

Contenidos

A continuación se listan las unidades y temas que se dictan en la materia.

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”. Décima Edición. Addison-Wesley, 2018.
  • Russ Cox, Robert Griesemer, Rob Pike, Ian Lance Taylor, and Ken Thompson. “The Go programming language and environment”. Communications of the ACM, 65(5), 70-78. 2022. PDF
  • Unix BSD
  • Mach (μKernel)
  • Randal K. Michael. “Mastering UNIX Shell Scripting”, Wiley, 2003.
  • Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes y Doug Lea. “Java Concurrency in Practice”. Addison-Wesley. 2006.
  • 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