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 directorios

3. 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.