II22. Sistemas Operativos II Tercer Curso Ingeniería Informática Curso 2003/2004 9 Créditos (6 T + 3 L) ■ Profesores: ◆ M. Asunción Castaño Álvarez ◆ Gustavo A. Casañ Núñez ◆ Javier Llach Mollón 1 Sistemas Operativos II ■ La materia de SO en Ingeniería Informática Introducción a los Computadores Arquitectura de Computadores I Stmas. Cliente/Serv. Tecnología de Comp. Sistemas Operativos I Sistemas Operativos II Entornos de Progr. Estructura de Datos y de la Información II III IV V Administración SO Progr. Concurrente Stmas. Tiempo Real I Metodología y Tecnología de la Programación 1er ciclo VI 2o ciclo VII VIII Laboratorio de SO Sistemas Distribuidos IX SO Avanzados Progr. Distribuida X 2 Sistemas Operativos II ■ La materia de SO en Ingeniería Informática Conceptos básicos Sistemas Operativos I 1er ciclo Sistemas Operativos II Administración de sistemas V VI Administración SO VII 2o ciclo Implementación Progr. Concurrente Stmas. Tiempo Real IV VIII Stmas. Distribuidos Laboratorio de SO IX SO Avanzados Progr. Distribuida X Conceptos avanzados 3 Sistemas Operativos II ■ Objetivos generales ◆ Analizar diferentes alternativas de diseño de SO ◆ Interpretar implementaciones reales del concepto de proceso ◆ Analizar e implementar mecanismos de comunicación entre procesos ◆ Analizar planificadores de CPU reales ◆ Adquirir destreza en la programación con hilos ◆ Interpretar y analizar implementaciones de sistemas de memoria reales ◆ Interpretar y analizar implementaciones de sistemas de ficheros reales ◆ Profundizar en la programación mediante llamadas al sistema ◆ Profundizar en la programación del intérprete de órdenes de Unix Prácticas 4 Sistemas Operativos II ■ Programa de teoría ◆ UT I: Introducción ✦ Tema 1. Introducción ◆ UT II: Gestión de procesos Tema 2. Procesos e hilos ✦ Tema 3. Sincronización y comunicación entre procesos ✦ Tema 4. Interbloqueos ✦ ◆ UT III: Gestión de entrada/salida ✦ Tema 5. Sistemas de entrada/salida 5 Sistemas Operativos II ■ Programa de teoría ◆ UT IV: Gestión de memoria ✦ Tema 6. Gestión del sistema de memoria ◆ UT V: Gestión de archivos ✦ Tema 7. Gestión del sistema de ficheros ◆ UT VI: Sistemas operativos avanzados Tema 8. Introducción a los sistemas distribuidos ✦ Tema 9. Introducción a los sistemas en tiempo real ✦ 6 Sistemas Operativos II ■ Programa de teoría ◆ UT I: Introducción ✦ Tema 1. Introducción SO monolíticos, multinivel y micronúcleo. Introducción al SO Linux. Introducción al SO Windows NT/2000. 7 Sistemas Operativos II ■ Programa de teoría ◆ UT II: Gestión de procesos ✦ Tema 2. Procesos e hilos Concepto e implementación de proceso. Concepto de hilo de ejecución. Planificación de procesos e hilos. Planificación en Linux. Planificación en Windows NT/2000. Servicios POSIX para gestión de procesos e hilos. 8 Sistemas Operativos II ■ Programa de teoría ◆ UT II: Gestión de procesos (cont.) ✦Tema 3. Sincronización y comunicación entre procesos Mecanismos de comunicación y sincronización. Semáforos. Monitores. Señales. Tuberías. Mutex y variables de condición. Paso de mensajes. Servicios POSIX para gestión de comunicación y sincronización de procesos. 9 Sistemas Operativos II ■ Programa de teoría ◆ UT II: Gestión de procesos (cont.) ✦ Tema 4. Interbloqueos Definición y principios de interbloqueo. Detección, recuperación, prevención y predicción de interbloqueos. 10 Sistemas Operativos II ■ Programa de teoría ◆ UT III: Gestión de entrada/salida ✦ Tema 5. Sistemas de entrada/salida Estructura y componentes del sistema de E/S. Dispositivos de almacenamiento secundario y terciario. El reloj 11 Sistemas Operativos II ■ Programa de teoría ◆ UT IV: Gestión de memoria ✦ Tema 6. Gestión del sistema de memoria Intercambio. Memoria virtual. Archivos proyectados en memoria. Gestión de memoria en Linux. Gestión de memoria en Windows NT/2000. 12 Sistemas Operativos II ■ Programa de teoría ◆ UT V: Gestión de archivos ✦ Tema 7. Gestión del sistema de ficheros Ficheros. El sistema de directorios. Servicios POSIX para gestión de ficheros y directorios. Implementación de sistemas de ficheros. Gestión de ficheros en Linux. Gestión de ficheros en Windows NT/2000. Mecanismos de incremento de prestaciones. Montaje de sistemas de ficheros. Protección del sistema de ficheros. 13 Sistemas Operativos II ■ Programa de prácticas ◆ BT I: Gestión y sincronización de procesos ✦ Mediante el intérprete de comandos de Unix ✦ Mediante llamadas al sistema en Unix vía Tuberías con nombre y sin nombre Semáforos Señales ◆ BT II: Gestión y sincronización de pthreads ✦Mediante llamadas al sistema en Unix 14 Sistemas Operativos II ■ Programa de prácticas ◆ BT III: Gestión del sistema de ficheros ✦ Gestión mediante el intérprete de comandos de Unix ✦ Gestión mediante llamadas al sistema en Unix ✦ Análisis de sistemas de ficheros basados en tabla de enlaces ◆ BT IV: Gestión del sistema de memoria 15 Sistemas Operativos II ■ Metodología docente en teoría ◆ Lección magistral dialogada ✦ Planteamiento, desarrollo y resumen de la clase ◆ Participación del alumno: ✦ Interpretación de implementaciones de código ✦ Preguntas durante el transcurso de la clase ◆ Fundamentalmente uso de pizarra y trasparencias ◆ Resolución de problemas y propuesta de ejercicios adicionales 16 Sistemas Operativos II ■ Metodología docente en prácticas ◆ Prácticas dirigidas ✦Explicación, desarrollo, resumen de la clase ◆ Trabajo individual ◆ Laboratorio TD1108AL 17 Sistemas Operativos II ■ Metodología evaluadora ◆ Examen de teoría/práctica 80% ◆ Cuestiones de prácticas en laboratorio sobre 20% la sesión práctica anterior ✦ la sesión práctica actual ✦ 18 Sistemas Operativos II ■ ☛ Bibliografía para teoría ◆ J. Carretero et al. Sistemas Operativos: Una Visión Aplicada McGraw-Hill. 2001 ◆ W. Stallings Sistemas Operativos Prentice-Hall , 4ª edición. 2001 ◆ M. A. Castaño, J. Echagüe, R. Mayo, C. Pérez Problemas de Sistemas Operativos Col.lecciò “Materials”. Servicio de Publicaciones de la UJI, num. 109. 2000 19 Sistemas Operativos I ■ ☛ Bibliografía para prácticas ◆ F.M: Márquez Unix Programación avanzada Ra-Ma. 1996. ◆ M.J. Rochkind Advanced Unix Programming Prentice-Hall. 1985 ◆ IBM Manuales y tutoriales en línea del Sistema Operativo AIX <http://www4.uji.es> ◆ J.M. Badía, M.A. Castaño, J. Llach, R. Mayo Introducción Práctica al Sistema Operativo Unix Servicio de Publicaciones de la UJI, n° 23. 1996 20 Sistemas Operativos II ■ Página web de la asignatura ◆ http://icc2.act.uji.es/ii22 ◆ http://nuvol.uji.es/~castano ◆ http://www.icc.uji.es/ 21 II22. Sistemas Operativos II Tercer Curso Ingeniería Informática Curso 2003/2004 9 Créditos (6 T + 3 L) ■ Profesores: ◆ M. Asunción Castaño Álvarez ◆ Gustavo A. Casañ Núñez ◆ Javier Llach Mollón 22