PROGRAMA
CUARTO CURSO | INGENIERO DE TELECOMUNICACIÓN |
Plan de la asignatura |
ARQUITECTURA DE COMPUTADORES |
CURSO 2003-2004 |
Departamento: Ingeniería de Sistemas y Automática
Área: Ingeniería Telemática
A) PROFESORADO
Juan Manuel Vozmediano Torres
Teresa Ariza Gómez.
Juan Antonio Ternero
Muñiz.
B) RESEÑA METODOLÓGICA
Clases teóricas con el objetivo de desarrollar los conceptos básicos de los Sistemas Operativos multiusuario y profundizar en el conocimiento de los aspectos relacionados con el control de los recursos de las instalaciones informáticas.
Se propondrán trabajos prácticos de carácter
opcional para aquellos alumnos interesados en profundizar en algunos aspectos
del programa.
C) EVALUACIÓN Y CALIFICACIÓN
Se realizarán dos exámenes parciales y un examen final. Los exámenes parciales serán eliminatorios, conservándose sólo para la convocatoria de Junio.
Para aprobar es necesario superar cada uno de los exámenes con una nota de cinco o superior.
Los trabajos de carácter opcional deberán
ser entregados antes del segundo parcial, y se calificará de 0 a 1 punto,
que se le suma a la nota media a partir del aprobado en junio.
D) CONTENIDOS DE LA ASIGNATURA
TEMA 1: INTRODUCCIÓN.
1. Diferentes niveles en la arquitectura de un computador.
2. Máquinas multinivel actuales.
3. Evolución histórica de las máquinas multinivel.
TEMA2. ORGANIZACIÓN DE COMPUTADORAS.
1. Procesadores.
2. Memoria.
3. Dispositivos de E/S.
TEMA 3: CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO.
1. Definición y objetivos del Sistema Operativo.
2. Estructura , componentes y servicios de un S.O.
2.1 Llamadas al sistema.
2.2 Procesos.
2.3 Ficheros.
2.4 Distintas estructuras de S.O.
TEMA 4: PROCESOS CONCURRENTES.
1. Planteamiento del problema de sincronización y planificación.
2. Comunicación entre procesos.
3. Programación concurrente.
3.1 Exclusión mutua con espera activa.
3.2 Exclusión mutua sin espera activa.
3.3 Problemas clásicos de comunicación entre procesos.4. Redes de Petri.
5. Comunicación entre procesos en UNIX (IPC)
TEMA 5: PLANIFICACIÓN Y GESTIÓN DE PROCESOS.
1. Objetivos de planificación.
2. Algoritmos de planificación.
3. Detección y prevención de bloqueos.
TEMA 6: ADMINISTRACIÓN DE MEMORIA.
1. Gestión de memoria real.
1.1 Gestión simple.
1.2 Multiprogramación con particiones fijas.
1.3 Multiprogramación con particiones variables.2. Gestión de memoria virtual.
2.1 Paginación
TEMA 7: GESTIÓN DE ENTRADA/SALIDA.
1. Introducción.
2. Software de E/S.
3. Discos.
4. Relojes.
5. Terminales.
TEMA 8: SISTEMA DE FICHEROS.
1. Ficheros.
1.1 Nombre y estructura
1.2 Tipos, acceso, atributos y operaciones.
1.3 Proyección en memoria.2. Directorios.
2.1 Nombres de rutas de acceso.
2.2 Operaciones con directorios3. Diseño del sistema de ficheros.
3.1 Almacenamiento de ficheros.
3.2 Estructura de directorios.
3.3 Enlaces.
3.4 Gestión de espacio en disco.
3.5 Fiabilidad.
3.6 Prestaciones.
TEMA 9: SEGURIDAD Y PROTECCIÓN DEL SISTEMA DE ARCHIVOS.
1. Seguridad.
1.1 Protección versus seguridad.
1.2 Facetas de la seguridad.
1.3 Problemas de seguridad.
1.4 Principios de seguridad.
1.5 Autentificación de usuario.2. Mecanismos de protección.
2.1 Dominio de protección.
2.2 Lista de control de acceso y de capacidades.
2.3 Mecanismos de llave y cerradura.
2.4 Matrices de acceso dinámicas.
2.5 Ejemplo: UNIX.
TEMA 10. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS DISTRIBUIDOS.
1. Hardware.
2. Software.
3. Aspectos de diseño.
TEMA 11. COMUNICACIÓN EN LOS S.O.D.
1. Introducción.
1.1 Paso de mensajes.
1.2 Modelo OSI.2. Modelo cliente-servidor.
2.1 Introducción.
2.2 Ejemplo.
2.3 Direccionemiento.
2.4 Primitivas síncronas versus asíncronas.
2.5 Primitivas con buffer versus sin buffer.
2.6 Primitivas fiables verusu no fiables.3. Llamadas a procedimientos remotos (RPC's).
3.1 Operación básica.
3.2 Paso de parámetros.
3.3 Enlace dinámico,
3.4 Semántica RPC ante fallos.
3.5 XDR. Ejemplo.
3.6 Ejemplo RPC.
4. Comunicación de grupos.
4.1 Introducción
4.2 Aspectos de diseño.
4.3 Ejemplo.
TEMA 12. SINCRONIZACIÓN EN LOS S.O.D.
1. Sincronización.
2. Exclusión mutua.
3. Algoritmos de elección.
4. Transacciones atómicas.
5. Bloqueos.
TEMA 13. PROCESOS Y PROCESADORES EN LOS S.O.D.
1. Sincronización.
1.1 Introducción.
1.2 Sincronización de relojes lógicos.
1.3 Sincronización de relojes físicos.2. Exclusión mutua.
2.1 Algoritmo centralizado.
2.2 Algoritmo distribuido.
2.3 Algoritmo de paso de testigo.3. Algoritmos de elección.
3.1 Algoritmo del mayor.
3.2 algoritmo del anillo.4. Transacciones atómicas.
4.1 Introducción.
4.2 Almacenamiento estable.
4.3 Primitivas.
4.4 Propiedades.
4.5 Implantación.
4.6 Control de concurrencia.
5. Interbloqueos.
5.1 Estrategias.
5.2 Detección.
5.3 Prevención.
TEMA 14: SISTEMAS DE FICHEROS DISTRIBUIDOS.
1. Diseño de sistemas de ficheros distribuidos.
2. Implantación de sistemas de ficheros distribuidos.
TEMA 15: SISTEMAS OPERATIVOS EN TIEMPO REAL.
1. Funcionalidad y características de sistemas en tiempo real.
2. Requisitos de los sistemas operativos en tiempo-real.
E) BIBLIOGRAFÍA
• BÁSICA
Tanenbaum, Andrew S. ORGANIZACIÓN DE COMPUTADORAS: UN ENFOQUE ESTRUCTURADO. Prentice Hall
Tanenbaum, Andrew S. SISTEMAS OPERATIVOS MODERNOS. Prentice Hall
Tanenbaum, Andrew S. SISTEMAS OPERATIVOS. DISEÑO E IMPLEMENTACIÓN. Prentice Hall
Milenkovic, Milan. SISTEMAS OPERATIVOS. CONCEPTOS Y DISEÑO. McGraw-Hill
Deitel, Harvey M. SISTEMAS OPERATIVOS. Addison-Wesley
Siberschatz; Peterson; Galvin. SISTEMAS OPERATIVOS. CONCEPTOS FUNDAMENTALES. Addison-Wesley
L' Hermitte. SISTEMAS OPERATIVOS. ESTRUCTURA Y CONCEPTOS FUNDAMENTALES. Masson SA
Finkel. FUNDAMENTOS DE LOS SISTEMAS OPERATIVOS. Anaya
Stroustrup, Bjarne. MANUAL DE REFERENCIA C++ CON ANOTACIONES. Addison-wesley
Devis Botella, Ricardo. PROGRAMACIÓN ORIENTADA A OBJETOS EN C++. Paraninfo
• COMPLEMENTARIA
Rochkind, Marc J. ADVANCED UNIX PROGRAMMING. Prentice Hall
Rifflet, Jean-Marie. COMUNICACIONES EN UNIX. McGraw Hill
Stevens, W.Richard. UNIX NETWORK PROGRAMMING. Prentice Hall
Sloman, M.; Kramer, J. DISTRIBUTED SYSTEMS AND COMPUTER NETWORKS. Prentice Hall
Crichlow, Joel M. AN INTRODUCTION TO DISTRIBUTED AND PARALLEL COMPUTING. Prentice Hall
Burns & Wellings. REAL-TIME SYSTEMS AND THEIR PROGRAMMING LANGUAGES. Addison Wesley
Fortier, Paul J. DESIGN AND ANALYSIS OF DISTRIBUTED REAL-TIME SYSTEMS. McGrawHill
John R. Corbin, THE ART OF DISTRIBUTED APPLICATIONS. Springer-Verlag.