Información Básica
-
Créditos: 3
-
Horas de Clase: 4 / semana
-
Horas de trabajo independiente: 5 / semana
-
Horas de Laboratorio al semestre:
-
Prerequisitos: Arquitectura del Computador II (300CIG006)
-
Tipo de curso: Núcleo de Formación Fundamental.
Descripción del Curso
Capacitar al estudiante en el conocimiento y utilización eficiente de los Sistemas Operativos
modernos, a través de la presentación, estudio y análisis de sus principales componentes.
Objetivos
Al finalizar el curso los participantes podrán:
-
Nombrar los principales hitos en la evolución de los sistemas de cómputo.
-
Entender y escribir programas concurrentes utilizando diferentes constructores.
-
Definir relaciones de precedencia
-
Usar constructores implicitos
-
Usar constructors explicitos (fork, join, quit)
-
Usar declaraciones de procesos
-
-
Entender le diferencia entre competicion (critical section) y cooperacion
-
Hacer uso de semáforos para resolver problemas de cooperación entre procesos.
-
Implementar exclusion mutua
-
Implementar situaciones de productores-consumidores
-
-
Resolver problemas de coordinación utilizando constructores de alto nivel
-
Usar diferentes tipos de monitores
-
Usar paso de mensajes en sistemas sin memoria compartida
-
Entender las soluciones a los problemas clásicos de lectura y escritura, dining philosophers y disk-head scheduler.
-
-
Entender el concepto del nucleo (kernel) de sistemas operativos
-
Entender la diferencia entre procesos y hilos
-
Implementar los descriptores de procesos y recursos, así como sus operaciones.
-
Identificar las diferentes implementaciones de las primitivas de semáforos y monitores.
-
-
Entender los principios de scheduling
-
Entender la organizacion de schedulers
-
Describir los principales métodos de scheduling (FIFO, SJF, SJN, RR, MLF, RM, EDF)
-
Entender sus ventajas y desventajas principales
-
-
Entender el concepto deadlock
-
Aplicar la reducción de grafos para detectar deadlocks.
-
Identificar los diferentes métodos de detección y prevención de deadlocks
-
-
Entender memoria fisica
-
Identificar las diferencias entre esquemas de partición fijos y variables.
-
Aplicar diferentes algoritmos para reservar memoria (first-fit, next-fit, best-fit) y para liberar memoria (coalescing).
-
-
Entender los principios de memoria virtual
-
Entender las diferencias entre paging y segmentation
-
Entender el uso de page tables frame tables, y segment table para traducir direcciones virtuales (virtual addresses)
-
Entender el uso de translation look-aside buffers
-
Identificar las diferencias entre las diferentes estrategias de reemplazo de páginas.
-
Evaluar le eficiencia de paging
-
-
Entender sharing
-
Entender las limitaciones de sharing en sistemas sin memoria virtual
-
Diferenciar entre sharing de paginas con codigo y paginas con datos
-
Diferencias entre sharing estático y dinámico en sistemas con páginas y segmentados.
-
-
Entender systemas de archivos
-
Identificar los diferentes mecanismos de organización de directorios (tree, DAG, general graph, symbolic links)
-
Entender los principios de archivos abiertos y cerrados.
-
Identificar las ventajas y desventajas entre las diferentes formas de organización de los archivos físicos (contiguous, linked, indexed)
-
-
Entender input/output
-
Reconocer los requisitos de diferentes dispositivos de I/O
-
Reconocer las funciones de los controladores de dispositivos utilizando polling e interrupciones.
-
Describir los mecanismos para implementar buffering, manejo de errores y disk scheduling
-
-
Entender problemas y soluciones de proteccion y seguridad
-
Identificar los posibles ataques de seguridad en un sistema.
-
Comprender los diferentes mecanismos para realizar autenticación de usuarios.
-
Aplicar métodos de criptografía de llaves privadas y públicas.
-
Identificar las diferencias entre listas de acceso y listas de privilegios.
-
Entender las diferencias entre control de acceso y control de flujo de información.
-
Contenido
Capítulo 1: Introduction
Sesión | Horas de Clase | Tópicos | Bibliografía |
---|---|---|---|
1 | 1 | The Role of Operating Systems | [1,cap1] |
1 | 1 | Organization of Operating Systems |
Total de Horas: 2.
Capítulo 2: Basic Concepts: Processes and Their Interactions
Sesión | Horas de Clase | Tópicos | Bibliografía |
---|---|---|---|
2 | 1 | The Process Notion | [1,cap2] |
2 | 1 | Defining and Instantiating Processes | |
3 | 2 | Basic Process Interactions | |
4 | 2 | Semaphores |
Total de Horas: 6.
Capítulo 3: Higher-Level Synchronization and Communication
Sesión | Horas de Clase | Tópicos | Bibliografía |
---|---|---|---|
5 | 2 | Shared Memory Methods | [1,cap3] |
6 | 2 | Distributed Synchronization and Communication | |
7 | 2 | Other Classic Synchronization Problems |
Total de Horas: 6.
Capítulo 4: The Operating System Kernel: Implementing Processes and Threads
Sesión | Horas de Clase | Tópicos | Bibliografía |
---|---|---|---|
8 | 1 | Kernel Definitions and Objects | [1,cap4] |
8 | 1 | Threads | |
9 | 2 | Implementing Processes and Threads | |
10 | 2 | Implementing Synchronization and Communication Mechanisms |
Total de Horas: 6.
Capítulo 5: Process and Thread Scheduling
Sesión | Horas de Clase | Tópicos | Bibliografía |
---|---|---|---|
11 | 2 | Organization of Schedulers | [1,cap5] |
12 | 2 | Scheduling Methods |
Total de Horas: 4.
Capítulo 6: Deadlocks
Sesión | Horas de Clase | Tópicos | Bibliografía |
---|---|---|---|
13 | 1 | A System Model | |
13 | 1 | Deadlock Detection | |
14 | 1 | Dynamic Deadlock Avoidance | |
14 | 1 | Deadlock Prevention |
Total de Horas: 4.
Capítulo 7: Physical Memory
Sesión | Horas de Clase | Tópicos | Bibliografía |
---|---|---|---|
15 | 1 | Preparing a Program for Execution | [1,cap7] |
15 | 1 | Memory Partitioning Schemes | |
16 | 2 | Allocation Strategies for Variable Partitions |
Total de Horas: 4.
Capítulo 8: Virtual Memory
Sesión | Horas de Clase | Tópicos | Bibliografía |
---|---|---|---|
17 | 2 | Principles of Virtual Memory | [1,cap8] |
18 | 2 | Implementations of Virtual Memory | |
19 | 2 | Memory Allocation in Paged Systems |
Total de Horas: 6.
Capítulo 9: Sharing of Data and Code in Main Memory
Sesión | Horas de Clase | Tópicos | Bibliografía |
---|---|---|---|
20 | 1 | Single-Copy Sharing | [1,cap9] |
20 | 1 | Sharing in Systems without Virtual Memory | |
21 | 1 | Sharing in Paging Systems | |
21 | 1 | Sharing in Segmented Systems |
Total de Horas: 4.
Capítulo 10: File Systems
Sesión | Horas de Clase | Tópicos | Bibliografía |
---|---|---|---|
22 | 1 | Basic Functions of File Management [1,cap10] | |
22 | 1 | Hierarchical Model of a File System | |
23 | 1 | The User’s View of Files | |
23 | 1 | File Directories | |
24 | 1 | Basic File System | |
24 | 1 | Device Organization Methods |
Total de Horas: 6.
Capítulo 11: Input/Output Systems
Sesión | Horas de Clase | Tópicos | Bibliografía |
---|---|---|---|
25 | 2 | Basic Issues in Device Management | [1,cap11] |
25 | A Hierarchical Model of the Input/Output System | ||
25 | Input/Output Devices | ||
25 | Device Drivers | ||
26 | 2 | Device Management |
Total de Horas: 4.
Capítulo 12: The Protection and Security Interface
Sesión | Horas de Clase | Tópicos | Bibliografía |
---|---|---|---|
27 | 1 | Security Threats | [1,cap12] |
27 | 1 | Functions of a Protection System | |
28 | 1 | User Authentication | |
28 | 1 | Secure Communication |
Total de Horas: 4.
Capítulo 13: Internal Protection Mechanisms
Sesión | Horas de Clase | Tópicos | Bibliografía |
---|---|---|---|
29 | 1 | The Access Control Environment | [1,cap13] |
29 | 1 | Instruction-Level Access Control | |
30 | 1 | High-Level Access Control | |
30 | 1 | Information Flow Control |
Total de Horas: 4.
Matriculación
-
2011-1: 20
-
2010-2: 20
-
2010-1: 20
Recursos
Bibliografía
-
L. Bic, A. Shaw, Operating Systems Principles, Prentice-Hall, 2003 (ISBN: 0130266116)
-
Andrew S. Tanenbaum, Sistemas Operativos, Prentice Hall, 1999.
-
Andrew S. Tanenbaum, Sistemas Operativos Modernos, Prentice Hall, 1993.
-
Gary Nutt, Operating Systems, tercera edición, Addison Wesley, 2004.
-
Silberschatz & Galvin, Sistemas Operativos, Pearson, 1999.
-
Francisco Rueda. Sistemas Operativos. McGraw Hill, 1989.
-
William Stallings, Operating Systems. MacMillan Publishing Company, New York, USA, 1992.
Instalaciones
Salón de clase con computador y proyector.
Material de este semestre