Sistemas Operativos
Objetivos:
Formar un criterio que le permita al alumno emitir juicios de valor sobre
diferentes aspectos de los sistemas operativos.
Al finalizar el curso el alumno podrá contar con los conocimientos necesarios y la
capacidad para poder plantear soluciones de sistemas operativos a casos
específicos.
Revisar la historia, evolución y filosofía de los sistemas operativos más
importantes y de mayor uso.
Estudiar los componentes principales de un sistema operativo, tales como tareas y
procesos, coordinación y sincronización de procesos, calendarización de procesos,
organización de memoria física y virtual, manejo de dispositivos, sistemas de
archivos y nombres, seguridad y protección.
Contenido:
1.- Conceptos básicos.
a) ¿Qué es un Sistema Operativo?
b) Diferentes sistemas de cómputo:
Mainframe.
De Escritorio.
Multiprocesador.
Distribuidos.
Cluster.
Tiempo-Real.
Móviles Handheld.
c) Ambientes de Cómputo.
d) Historia, evolución y filosofía.
Evolución del hardware.
Las diferentes generaciones de computadoras.
Fuerzas económicas y restricciones.
Métodos de estructuración de los sistemas operativos: el modelo de
capas, el modelo de servidor de objetos.
Necesidades de las aplicaciones y estudio de casos específicos.
2.- Tareas y procesos.
a) Tareas y procesos.
b) Estructuras, Listas de procesos: listos, bloqueados, esperando.
c) Bloques de control de procesos.
d) Despachadores, cambios de contexto.
e) El papel de las interrupciones.
3.- Coordinación y despacho.
a) Estrategias de coordinación con y sin apropiación de los recursos: FIFO,
Multilevel Queues, SJF, Round-Robin, coordinación con prioridades, etc.
b) Análisis de estrategias. Niveles de coordinación: corto plazo, mediano
plazo, largo plazo.
c) Coordinación y políticas.
4.- Coordinación y sincronización de procesos.
a) Ejecución concurrente de procesos.
b) Acceso compartido y condiciones de competencia por recursos.
c) Abrazos mortales (deadlocks): causas, condiciones y prevención.
d) Modelos y mecanismos: esperando ocupado, semáforos, monitores,
regiones de exclusión mutua, algoritmo de Dekker.
5.-Organización de memoria física y virtual.
a) Memoria física y registros.
b) Superposición, intercambio, particiones.
c) Páginas y segmentos. Políticas de colocación y reemplazo y sus efectos:
LIFO, FIFO, LRU, mejor ajuste, primer ajuste.
d) Trashing, conjuntos de trabajo.
6.- Manejo de Dispositivos.
a) Procesos dedicados. Lista de espacio disponible, organización.
b) Servidores, interrupciones. Recuperación de fallas.
7.- Sistemas de Archivos y Nombres.
a) Organización de archivos. Directorios, contenidos y estructura.
b) Nombres, búsqueda, acceso y respaldos.
c) Conceptos fundamentales de archivos.
d) Organización básica de archivos, manipulación básica de archivos,
bloqueo y almacenamiento temporal.
e) Soporte de Tipos de Archivos: Archivos secuenciales. Archivos no
secuenciales: archivos con hashing, archivos estructurados de árbol,
archivos con llave múltiple, archivo B-tree.
Bibliografía:
1. Operating System Concepts (6th Edition), Abraham Silberschatz, Peter Galvin, 1998,
Addison Wesley Longman, ISBN 0-201-59113-8.
2. Modern Operating Systems (2nd Edition), Andrew Tanenbaum, 2001,
Prentice Hall, ISBN 0130313580
3. Operating Systems: Design and Implementation (2nd Edition), Andrew S. Tanenbaum,
Albert S. Woodhull, 1997, Prentice Hall, ISBN 0136386776
4. Operating Systems (2nd Edition), William Stallings, 1995,
Prentice Hall, ASIN: 0024154938
Método de Evaluación:
La evaluación del curso se ha diseñado considerando los siguientes factores:
Tareas y Actividades en línea.
Exámenes y cuestionarios.
La composición de la Calificación Final será la siguiente:
Tareas y Actividades en línea 70%
Exámenes y cuestionarios 30%