Home UC3M
Home IT
Home / Docencia / Ingeniería de Telecomunicación / Laboratorio de Arquitectura de Computadores
anteriorsiguiente
 
Laboratorio de Arquitectura de Ordenadores
Breve Descripción
Curso:
Creditos: 3 (0.5 teoría + 2.5 labs/ejercicios); 2.5 ECTS
Semestre:
Horas/Semana: 2
Horario: Miércoles 11:00-13:00 (Grupo mañana) los cambios están indicados aquí
Jueves 17:00-19:00 (Grupo tarde)
Grupos: 91-4º I Telecomunicación / 92-4º I Telecomunicación (Español)
Aula de Teoría: 4.1E01 (Grupo tarde) 2.3.C01 ó 2.3.C04 (Grupo mañana)
Aulas de prácticas: 4.S.D.03 / 4.S.D.04
Profesor: Ralf E.D. Seepold (Coordinator)
  Alfonso Rebolleda Sánchez
  Pedro J. Muñoz Merino
  Mario Ibañez Pérez
Asignatura en Inglés:  
Profesor: Ralf E.D. Seepold (Coordinador) et al.
   
Navegación de página
   Objetivos
   Programa
   Calendario
   Ejercicios de laboratorio
   Requisitos
   Evaluación
      Calendario
   Material de apoyo
   Bibliografía
   Enlaces

 

Noticias


 OBJETIVOS
El objetivo principal de la asignatura Laboratorio de Arquitectura de Ordenadores es proporcionar una visión detallada en la preparación, realización y aplicación de varios conceptos que se basan en la teoría que ha sido presentada a lo largo de la asignatura Arquitectura de Ordenadores. Adicionalmente, en este Laboratorio se realizará inicialmente la introducción a dos nuevos temas: programación en shell y el diseño de makefiles. Se realizará una práctica de laboratorio por cada uno de ellos, con el fin de proporcionar una aplicación independiente de las materias nuevas. Cada una de las lecciones siguientes están dedicadas a un aspecto fundamental en relación con los Sistemas Operativos. De nuevo cada lección tendrá asociada una práctica de laboratorio. Los alumnos que no hayan asistido a la asignatura Arquitectura de Ordenadores deberán estudiarse por su cuenta la bibliografía introductoria antes de empezar la preparación de este laboratorio. Además se asume que los alumnos están familiarizados con la programación en C.

La preparación de las sesiones de laboratorio es responsabilidad de los alumnos. En cada una de las prácticas se proporcionará el tutorial que incluirá el material y teoría para los temas que sean nuevos. Por otro lado, para el resto de los temas será el alumno el que los llevará preparados por su cuenta, teniendo que volver a repasar y estudiar los capítulos de teoría que correspondan de la asignatura de Arquitectura de Ordenadores o/y también con la ayuda de la bibliografía recomendada. Cada sesión de laboratorio será atendida por un profesor dispuesto para resolver las cuestiones pertinentes.

Una vez que el alumno haya cursado exitósamente la asignatura Laboratorio de Arquitectura de Ordenadores habrá alcanzado los siguientes objetivos:

  • Diseño básico de una área de desarrollo privada
  • Implementación y extensión de los algoritmos fundamentales procedentes del área de los Sistemas Operativos
  • Gestión de comportamiento más complejo del software incorporando llamadas al sistema de bajo nivel
  • Profundizar en el conocimiento de la programción en C y del sistema operativo LINUX
  • Entenamiento exitoso de cada unidad en una sesión dedicada de laboratorio

 PROGRAMA
El programa de la asignatura está dividido en seis temas técnicos.
  1. Introducción

  2. Shell script

  3. Makefile

  4. Comunicación entre procesos

  5. Procesos y Señales

  6. LLamadas al sistema de ficheros

  7. Diseño del Sistema de Ficheros 


 Calendario

Para la implementación y entrega de las prácticas de las sesiones de laboratorio deben seguirse las siguientes reglas de codificación. El lugar de realización de cada sesión serán las aulas 4.S.D.0.3
y 4.S.D.0.4 para las sesiones de prácticas en ambos grupos. Para la realización de las sesiones de teoría, se deberá consultar el calendario que se describe a continuación . El calendario para el grupo 91 (grupo de mañanas) es el siguiente
 
Week Fecha Contenidos Tipo* Localización/Aula Grupo Profesores
01 23.02.06 15:00-17:00 Introducción T 2.3.C.0.1
91 (1)
R. Seepold
02 02.03.06 15:00-16:00 Shell Script T 2.3.C.0.1
91 (2a)
R. Seepold
02 02.03.06 16:00-18:00 Makefile/Procesos y Señales T 2.3.C.0.4
91 (2b)
R. Seepold
03

08.03.06 11:00-12:00

Shell Script P 4.S.D.03 / 4.S.D.04
91 (3)
P. Muñoz
M. Ibañez
04 15.03.06 Shell Script P 4.S.D.03 / 4.S.D.04
91 (4)
P. Muñoz
M. Ibañez
05 22.03.06 Makefile P 4.S.D.03 / 4.S.D.04
91 (5)
P. Muñoz
M. Ibañez
06 29.03.06 Makefile P 4.S.D.03 / 4.S.D.04
91 (6)
P. Muñoz
M. Ibañez
07 05.04.06 Comunicación entre Procesos P 4.S.D.03 / 4.S.D.04
91 (7)
P. Muñoz
M. Ibañez
09 19.04.06 Comunicación entre Procesos P 4.S.D.03 / 4.S.D.04
91 (9)
P. Muñoz
M. Ibañez
10 26.04.06 Diseño del Sistema de Ficheros P 4.S.D.03 / 4.S.D.04
91 (10)
P. Muñoz
M. Ibañez
11 03.05.06 Diseño del Sistema de Ficheros P 4.S.D.03 / 4.S.D.04
91 (11)
P. Muñoz
M. Ibañez
12 10.05.06 LLamadas al sistema de ficheros P 4.S.D.03 / 4.S.D.04
91 (12)
P. Muñoz
M. Ibañez
13 17.05.06 LLamadas al sistema de ficheros P 4.S.D.03 / 4.S.D.04
91 (13)
P. Muñoz
M. Ibañez
14 24.05.06 Procesos y Señales P 4.S.D.03 / 4.S.D.04
91 (14)
P. Muñoz
M. Ibañez
15 31.05.06 Procesos y Señales P 4.S.D.03 / 4.S.D.04
91 (15)
P. Muñoz
M. Ibañez

El calendario para el grupo 92 (grupo de tardes) es el siguiente
 
Week Fecha Contenidos Tipo* Localización/Aula Grupo Profesores
01 23.02.06 17:00-19:00 Introducción T 4.1.E.0.1
92 (1)
A. Rebolleda
02 02.03.06 17:00-19:00 Shell Script/Makefile T 4.1.E.0.1
92 (2)
A. Rebolleda
03

09.03.06 17:00-19:00

Procesos y Señales (T)

Shell Script (P)

T/P 4.S.D.03 / 4.S.D.04
92 (3)

A. Rebolleda
P. Muñoz

04 16.03.06 Shell Script P 4.S.D.03 / 4.S.D.04
92 (4)
A. Rebolleda
P. Muñoz
05 23.03.06 Makefile P 4.S.D.03 / 4.S.D.04
92 (5)
A. Rebolleda
P. Muñoz
06 30.03.06 Makefile P 4.S.D.03 / 4.S.D.04
92 (6)
A. Rebolleda
P. Muñoz
07 06.04.06 Comunicación entre Procesos P 4.S.D.03 / 4.S.D.04
92 (7)
A. Rebolleda
P. Muñoz
09 20.04.06 Comunicación entre Procesos P 4.S.D.03 / 4.S.D.04
92 (9)
A. Rebolleda
P. Muñoz
10 27.04.06 Diseño del Sistema de Ficheros P 4.S.D.03 / 4.S.D.04
92 (10)
A. Rebolleda
P. Muñoz
11 04.05.06 Diseño del Sistema de Ficheros P 4.S.D.03 / 4.S.D.04
92 (11)
A. Rebolleda
P. Muñoz
12 11.05.06 LLamadas al sistema de ficheros P 4.S.D.03 / 4.S.D.04
92 (12)
A. Rebolleda
P. Muñoz
13 18.05.06 LLamadas al sistema de ficheros P 4.S.D.03 / 4.S.D.04
92 (13)
A. Rebolleda
P. Muñoz
14 25.05.06 Procesos y Señales P 4.S.D.03 / 4.S.D.04
92 (14)
A. Rebolleda
P. Muñoz
15 01.06.06 Procesos y Señales P 4.S.D.03 / 4.S.D.04
92 (15)
A. Rebolleda
P. Muñoz

*): Explicación de los tipos: T: Sesión de Teoría; P: Sesión de práctica de Laboratorio; T/P: 1ª hora teoría y 2ª hora practica.

 


Ejercicios de Laboratorio

Tal y como se mencionó en la sección de objetivos , cada tema estará acompañado de sesiones de laboratorio. El material de cada tema (descripción de la práctica y material adicional) estará disponible para su descarga y estudio propio, antes de que la sesión tenga lugar. No se proporcionará una introducción extra relativa a ese tema durante la sesión de laboratorio. Cada sesión requiere shell-scripting, diseño de makefile o bien programación en C como bases para poder preparar la solución.
Un pequeño resumen de los errores más frecuentes y sus soluciones
  • Composición de un fichero C propio
    Solución: Usar el esqueleto que proporcionamos

  • Esqueleto del programa, declaraciones y definiciones aparecen en secciones erróneas
    Solución: Insertar por ejemplo el tipo de declaraciones en la parte correcta del esqueleto

  • Nombrado de variables, tipos etc.
    Solución: Seleccionar nombres inteligibles para todas las varibles, nombres de tipos, etc. con el fin de que el código permita explicación clara; Nombres no apropiados repercutirán en una bajada de la calificación

  • Mezclar inglés y otros lenguajes en fragmentos de código
    Solución: Debéis usar bien inglés o español para todos los fragmentos de código y para la documentación

 

Número de Laboratorio Tema Documentos Puesta a disposición del alumno Fecha límite de entrega
(antes de las 16:00)
Comprobaciones
1 Shell Script Teoría

Tutorial/Ejercicio

22/02/06 21/03/06
2 Makefile

Teoría

Tutorial/Ejercicio

21/03/06 03/04/06
3 Comunicación entre Procesos

Tutorial/Ejercicio

03/04/06 24/04/06
4 Diseño de Sistema de Ficheros Tutorial/Ejercicio 24/04/06 08/05/06
5 LLamadas al sistema de Ficheros Tutorial/Ejercicio 08/05/06 22/05/06
6 Procesos y Señales

Teoría

Tutorial/Ejercicio

22/05/06 05/06/06

 REQUISITOS

 EVALUACIÓN

La evaluación de la asignatura estará basada en la evaluación de la asistencia a clases de prácticas, la evaluación de las entregas de prácticas y en el exámen teórico. Una presentación de las normas de evaluación será dada durante la primera clase de la asignatura. Una descripción detallada del cálculo de la nota se presenta aquí:

Asistencia a clase

La asistencia a las sesiones de laboratorio (denominadas como tipo P en el calendario) será tenida en cuenta en el cálculo de la nota global de prácticas. La presencia de todos los alumnos de cada grupo será comprobada durante cada sesión de laboratorio. En caso de que un alumno tenga una asistencia a las sesiones de laboratorio inferior al "Número mínimo de sesiones de laboratorio a las que debe asistir" entonces suspenderá automáticamente la asignatura (para el examen de Junio y para el de Septiembre). Excepciones debidas a diferentes razones sociales pueden ser aceptadas y se analizarán caso por caso. Como consecuencia será programada una entrevista/examen de prácticas adicional para tales casos.

De acuerdo con el calendario, el siguiente modelo de cálculo es aplicado:

  • Número total de sesiones de laboratorio (de 2 horas): 11
  • Número mínimo de sesiones de laboratorio a las que debe asistir: 5
  • Número de sesiones que un alumno puede ausentarse sin la adecuada justificación: 3
  • Para cada una de las restantes sesiones de laboratorio a la que un alumno no asiste sin la adecuada justificación, 0.5 puntos son restados de la nota media de prácticas hasta un máximo de 1.5 puntos.
  • El valor a restar es denominado ASISTENCIA є [-1.5; 0]
Laboratorios

Después de la sesión de laboratorio de un tema, los equipos de alumnos (dos alumnos forman un equipo; un equipo no puede ser modificado a lo largo de la asignatura) tendrán tiempo para completar su solución de la práctica y entregarla. La fecha límite de entrega de cada práctica y todos los detalles de entrega serán publicados con la suficiente antelación. Las prácticas entregadas serán evaluadas conformes a los siguientes criterios:

  • Corrección funcional del programa
  • Gestión correcta de la memoria (ej. desalojo de memoria después de su uso)
  • Código estructurado
  • Comentarios de código adecuados
  • Ausencia de warnings de compilación
  • Eficiencia en la ejecución

Cualquier contenido o material mencionado en las prácticas se considerará materia relevante para el examen de teoría. Cada práctica a entregar será evaluada y calificada con una nota. Si un grupo no entrega una práctica, dicha práctica será calificada con un 0. La calificación global de prácticas (nota media de todas las entregas de prácticas menos el factor de asistencia) es (PRACTICAS-ASISTENCIA) . Para aprobar las prácticas el alumno debe cumplir dos condiciones:

  • La calificación global de prácticas (PRACTICAS - ASISTENCIA) debe ser superior o igual a 5
  • Aprobar una entrevista relativa a las prácticas al final de la asignatura (el calendario será fijado más adelante)

Es posible los equipos mixtos previa solicitud (por ejemplo, un miembro del grupo de inglés y otro del grupo de español).

Examen de teoría

Para la realización del examen no se permite ningún material adicional (por ejemplo script, libros, etc. ). El examen de teoría consta de dos partes:

  • La parte I consistirá en un test en el cual los alumnos tienen que seleccionar las respuestas correctas de entre un conjunto de posibilidades (Test Verdadero/Falso). La nota final de esta parte se puede expresar como TEORIA_1 є [0; 10].
  • La parte II consistirá en un conjunto de problemas que el alumno tendrá que resolver con la ayuda del conocimiento obtenido en la asignatura y en las prácticas. La nota final de esta parte se puede expresar como TEORIA_2 є [0; 10].

El examen de teoría estará aprobado si y sólo si cada una de las dos partes se han aprobado. Es decir que para aprobar la asignatura se deberá obtener una puntuación mayor o igual a 5 en cada una de las dos partes mencionadas (TEORIA_1 y TEORIA_2). La nota del examen de teoría se calcula como: TEORIA = (TEORIA_1 * 0.5) + (TEORIA_2 * 0.5)

Nota Final

Para aprobar la asignatura es necesario aprobar las prácticas y también aprobar el examen de teoría. Si una de las partes (prácticas o examen de teoría) está suspensa, entonces la asignatura está suspensa. En caso de que ambas partes (prácticas y examen de teoría) estén aprobadas independientemente, entonces la calificación de la asignatura (NOTA) se calculará de la siguiente forma:

NOTA = TEORIA* 0.6 + ( PRACTICAS - ASISTENCIA)* 0.4

Repetición (de partes) del exámen
  • En caso de que las prácicas estén suspensas en la convocatoria de Junio, entonces para la convocatoria de Septiembre las prácticas suspensas o no entregadas necesitarán ser entregadas y aprobadas, de acuerdo con un calendario anunciado antes de que el alumno realice la segunda posibilidad de examen de teoría en la convocatoria de Septiembre.
  • En caso de que sólo el examen de teoría esté suspenso, entonces la nota de prácticas se mantendrá.
Información adicional/calendario

Al exámen se puede asistir acorde con el calendario oficial de exámenes; como siempre, hay dos posibilidades de exámen por cada asignatura y año. Diferentes situaciones excepcionales podrían ocasionar una modificación del calendario.

  • 15 de Septiembre de 2006 a las 14:30 en el aula 4.1B01: Examen de Laboratorio de septiembre
    Sólo para alumnos que lo soliciten antes del 28 de Abril de 2006 y en caso de que sean aceptados para este tipo de examen, ver la sección "EVALUACION -> Asistencia a clase")
  • 5 de Junio de 2006 a las 17:00 en el aula 4.1B01: Examen de Laboratorio de junio
    Sólo para alumnos que lo soliciten antes del 28 de Abril de 2006 y en caso de que sean aceptados para este tipo de examen, ver la sección "EVALUACION -> Asistencia a clase")
  • 27 de Junio de 2006 a las 10
  • 16 de Septiembre de 2006 a las 10
 
 BIBLIOGRAFIA
Bibliografía fundamental
  • W. Richard Stevens, Advanced programming in the UNIX environment, Addison-Wesley, 1992.
Bibliografía introductoria (asumida su conocimiento)

 MATERIAL DE APOYO

UNIX support pages

Tutoriales de C

Tutoriales de Shell Scripting
Tutoriales de Makefile
Linux software
 
 Enlaces
 

 

Última Actualización 22/05/2006