Sistemas Operativos
M.C. Juan Carlos Olivares Rojas
[email protected]@hotmail.com
@jcolivareshttp://antares.itmorelia.edu.mx/~jcolivar
Enero, 2010
Martes y Miércoles 19-21 hrs.Salón CEDI 1 Edificio D
Agenda
• Introducción y temario
• Evaluación
• Reglamento
• Calendarización de Actividades
Competencia Específica
• Conoce, diferencia y trabaja con mecanismos en sistemas operativos comerciales usados común mente para la gestión de los elementos en un sistema operativo en una computadora.
Temario
• Unidad I Estructuras de Sistemas Operativos
• Unidad II Procesos
• Unidad III. Hilos
• Unidad IV. Planificación de la CPU
Temario
• Unidad V. Sincronización de Procesos
• Unidad VI. Interbloqueos
• Unidad VII. Gestión de Memoria principal, virtual y almacenamiento.
Unidad I Estructuras de Sistemas Operativos
1.1. Servicios del sistema operativo
1.2. Interfaz de usuario del sistema operativo
1.3. Llamadas al sistema
1.4. Tipos de llamadas al sistema
Unidad I Estructuras de Sistemas Operativos
1.5. Programas del sistema 1.6. Diseño e implementación del sistema
operativo
1.7. Estructura del sistema operativo 1.8. Máquinas virtuales
1.9. Generación de sistemas operativos 1.10. Arranque del sistema
Unidad II Procesos
2.1. Concepto de proceso 2.2. Planificación de procesos
2.3. Operaciones sobre los procesos 2.4. Comunicación interprocesos
2.5. Ejemplos de sistemas ipc 2.6. Comunicación en los sistemas
clientes-servidor
Unidad III Hilos
3.1. Introducción
3.2. Modelos multi-hilo
3.3. Bibliotecas de hilo
3.4. Consideraciones sobre los hilos
3.5. Ejemplos de sistemas operativos
Unidad IV. Planificación de la CPU
4.1 Conceptos básicos 4.2 Criterios de planificación 4.3 Algoritmos de planificación 4.4 Planificación de sistemas
multiprocesador 4.5 Planificación de hebras 4.6 Ejemplos de sistemas operativos 4.7 Evaluación de algoritmos
Unidad V Sincronización de Procesos
5.1 Fundamentos
5.2 El problema de la sección crítica
5.3 Solución de Peterson
5.4 Hardware de sincronización
Unidad V Sincronización de Procesos
5.5 Semáforos
5.6 Problemas clásicos de sincronización
5.7 Monitores
5.8 Ejemplos de sincronización
5.9 Transacciones atómicas.
Unidad VI Interbloqueos
6.1 Modelo de sistema6.2 Caracterización de los interbloqueos 6.3 Métodos para tratar los interbloqueos
6.4 Prevención de interbloqueos6.5 Evasión de interbloqueos6.6 Detección de interbloqueos
6.7 Recuperación de un interbloqueo
Unidad VII Gestión de Memoria Principal, Virtual y
Almacenamiento
7.1 Memoria principal
7. 2 Memoria virtual
7.3 Gestión de almacenamiento
Bibliografía
[1] Tanenbaum., A. “Sistemas Operativos. Diseño e Implementación”, Tercera Edición, Prentice Hall, 2009.
[2] Silberchatz, A., “Sistemas Operativos” (libro de los sistemas operativos). Septima Edición. Prentice Hall, 2004.
15
Bibliografía
[3] Tanenbaum, A., “Sistemas Operativos Modernos”, Tercera Edición, Pearson Educación
[4] Chavez-Carretero, “Sistemas Operativos”
El material proporcionado en el curso es solamente referencia. La información vista en clase también se evalúa.
Evaluación del Curso
• Se deberán acreditar cada una de las unidades temáticas del curso de la siguiente forma:
• 30% Actividades y Tareas• 70% Examen Parcial
• El examen parcial será escrito de forma práctica con la inclusión de tópicos teóricos.
Evaluación del Curso• Se tienen dos exámenes parciales y un
examen final. Las ponderaciones son en base a reglamento.
• El Examen Final es considerado como un tercer parcial (se cuentan trabajos, tareas y exámenes).
• 1er Parcial: 03/03/2010• 2do. Parcial: 28/04/2010• Examen Final: 16/06/2010
Reglas del juego
• “Lo que es parejo, no es chipotudo”
• No se justifican faltas. Trabajos entregados de manera tardía ya no cuentan.
• Las tareas y trabajos se entregan única y exclusivamente los días y horas señalados.
Reglas del juego• Los trabajos son únicamente para la cantidad
de personas señaladas. El plagio será duramente castigado (primera ocasión repeticion del parcial, segunda reincidencia reprobación del curso).
• En el examen está prohibido el uso de celulares, PDA’s, etc.
• Para cualquier otra situación no contemplada en este documento, se manejará de acuerdo al Reglamento vigente y de manera Institucional.
Calendarización• Trabajo de Investigación sobre tendencias
en sistemas operativos: miércoles 27 de enero.
• Investigación sobre Llamadas a sistemas en POSIX. Martes 2 de febrero
• Práctica sobre llamadas al sistema en sistemas Unix. Miércoles 3 de Febrero
• Virtualización de Sistemas Operativos. Miércoles 10 de Febrero.
Calendarización• Investigación de la Estructura de
Procesos en Minix. Martes 16 de Febrero
• Práctica de Procesos en Sistemas *X. Miércoles 17 de Febrero.
• Investigación sobre IPC en Sistemas Operativos Distribuidos. Martes 23 de Febrero.
• Práctica de RPC. Miércoles 24 de Febrero
Calendarización• Programación de hilos en sistemas *X.
Martes 2 de marzo
• Programación de Pthreads. Martes 2 de marzo
• Programación de hilos en Java. Martes 9 de marzo.
Calendarización• Investigación de algoritmos de
planificación. Miércoles 10 de marzo.
• Planificación de procesos en Minix. Martes 16 de marzo.
• Planificación de procesos en sistemas multiprocesador. Miércoles 17 de marzo.
Calendarización• Problemas clásicos de sincronización de
procesos. Martes 23 de marzo
• Programación de Semáforos. Miércoles 24 de marzo.
• Programación de transacciones en sistemas operativos. Martes 13 de abril.
Calendarización• Investigación de que tan comunes son los
interbloqueos. Miércoles 14 de abril.
• Programación de algoritmo para prevenir interbloqueos. Martes 20 de abril.
• Programación de algoritmo para detectar interbloqueos. Miércoles 21 de abril.
Calendarización• Programación de Simulador de Memoria.
Martes 27 de abril.
• Programación de memoria virtual en el simulador de memoria. Martes 4 de Mayo
• Investigación sobre FUSE. Miércoles 5 de mayo.
Calendarización• Investigación sobre el File System de
Minix. Martes 11 de mayo.
• Proyecto Final: Recompilación del kernel de minix. Miércoles 19 de mayo.
¿Preguntas, dudas y comentarios?