DISEÑO DE SISTEMAS OPERATIVOS
Departamento de Lenguajes y Sistemas Informáticos

Objetivos

Programa y material

Trabajos

Bibliografía

Metodología

Evaluación

Profesorado

Programación

Plataforma

Enlaces



Noticias:

  Comienzo de la Asignatura:
        18 Febrero



Objetivos

Conocer los avances recientes en el diseño y construcción de sistemas operativos concretados en Linux. Aprender configurar y compilar un kernel de Linux, añadirle nueva funcionalidad bien a través de módulos de carga dinámica bien mediante llamadas al sistema, y construir servicios distribuidos con rpcgen.

Programa y material

Teoría

Prácticas

1.- Arquitecturas de sistemas operativos.

2.- SO's distribuidos y paralelos.*

3.- SO's de tiempo-real y embebidos.*

4.- Sistemas operativos confiables.*

- Contenido de esta página en formato pdf: aquí.

- Presentación de la asignatura: aquí.

1.- Configuración y compilación del kernel de Linux.

2.- Construcción de un módulo de carga dinámica.

3.- Implementación de una llamada al sistema.

4.- Construcción de un servidor de archivos remoto con rpcgen.


Trabajos y presentaciones


Enlace a la página de gestión de los trabajos y presentaciones aquí.

Bibliografía

Teoría


  • D. P. Bovet y M. Cesati, Understanding the Linux Kernel (3ª ed), O'Reilly Media, 2006.
  • W. Mauerer, Professional Linux Kernel Architecture, Wiley Publishing, 2008.
  • R. Love, Linux Kernel Development (3/e), Addison-Wesley Professional, 2010.
  • Selección de artículos:
    • S. Bhattiprolu, E. W. Biederman, y S. Hallyn, “Virtual Servers and Checkpoint/Restart in Mainstream Linux, ACM SIGOPS Operating Systems Review, 42(5), pages 104-113,July, 2008.
    • W. A. Adamon, y K.M. Smith, “Linux NFS Versión 4: Implementation and Administration”, Proceeding of the 2001 OSL (Otawa Linux Symposium), July 25th-28th, 2001, Ottawa Canada.
    • B. Callaghan, NFS Illustrated, Addison-Wesley, 2000.
    • B. Pawlowski, et al., “The NFS Version 4 Protocol”, Proceeding of the 2nd SANE (System Administration and Network Engineering) Conference, May 22-25, Maastricht, The Netherlands 2000.
    • S.A. Weil, et al., “Ceph: A Scalable, High-Performance Distributed File System”, Proceeding of the 7th USENIX Symposium on Operating Systems Design and Implementation (OSDI'06), pgs. 307-320, 2006.
    • S. Rostedt, y D. V. Hart, “Internals of the RT Patch”, Proceeding of the Linux Symposium, vol. two, Ottawa, Canada, June 27-30th, 2007.
    • E. Betti et al. “Hard Real-time Performances in Multiprocessor-Embedded Systems Using ASMP-Linux”, EURASIP Journal on Embedded Systems, 2008.
    • S.T. Dietrich y D. Walker, “The Evolution of Real-Time Linux”, disponible en http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.151.6125
    • R. Berger, “Embedded GNU/Linux and Real-Time an executive summary”, Proceeding of Embedded World Conference, Nürnberg, Germany, 2-4th March, 2010.
    • A. Avizienis, J.C. Laprie, "Basic Concepts and Taxonomy of Dependable and Secure Computing", Journal IEEE Transactions on Dependable and Secure Computing, Volume 1, Issue 1, January 2004.
    • A. Chou, et al., “An empirical Study of Operating System Errors”, Symposium on Operating Systems Principles, págs. 73-88, 2001.
    • W. Gu, Z. Kalbarczyk, R.K. Iyer, Z. Yang, “Characterization of Linux Kernel Behavior under Error”, en Dependable Systems and Networks, 2003. En http://courses.ece.uiuc.edu/ece442/Notes_03/lecture_16_spr2003.pdf.

Prácticas


  •  J. A.. Gómez, Guiones de prácticas de la Asignatura, 2010.
  • Greg Kroah-Hartman, Linux Kernel in a Nutshell, O'Reilly Media, 2006 (http://www.kroah.com/lkn/).
  • Jonathan Corbet, Alessandro Rubini, y Greg Kroah-Hartmanen, Linux Device Drivers,O'Reilly Media, 2005 http://lwn.net/Kernel/LDD3/.
  • Sreekrishnan Venkateswaran, Essential Linux Device Drivers, Prentice Hall, 2008
  • P. J. Salzman, The Linux Kernel Module Programming Guide, 2001, en http://tldp.org/LDP/lkmpg/.
  • J. Bloomer, Power programming with RPC, O'Reilly Media, 1992. (http://books.google.es).

Metodología

Teoría

Se pretende que el estudiante adquiera los conocimientos de la asignatura y los ponga en práctica desarrollando destrezas transversales necesarias para su profesión como son la elaboración de trabajos, su correspondiente presentación oral y la evaluación de trabajos.

Prácticas

Programación y construcción de diferentes supuestos prácticos destinados a alcanzar las competencias necesarias para poder modificar las propiedades y servicios de un SO.

Evaluación

Criterio

Teoría: demostrar que se han adquirido los conocimientos establecidos. Prácticas: demostrar que se sabe configurar un kernel, y extender los servicios del sistema operativo.

Evaluación continua

Teoría: Se realizaran dos trabajos en grupos de 3 o 4 personas como máximo, y se presentarán sus resultados oralmente en clase. En la página web de la asignatura se recogen algunas sugerencias sobe temas de trabajo y la normativa para su realización, al igual que para las presentaciones. La calificación de los trabajos se realizará como una combinación de: autoevaluación del trabajo realizado en la asignatura (10%), coevaluación de dos trabajos de otros compañeros (40%) y heteroevaluación por parte del profesor (50%), utilizando un formulario en el primer caso, y rúbricas en los dos restantes. Los trabajos/presentaciones pueden ser revisados por el profesor una vez cuando lo determinen sus autores y con al menos 7 días de antelación a la fecha de la entrega.

Prácticas: Realización y defensa de las prácticas en laboratorio. Se entregará una memoria de las misma al menos 48 horas antes de la fecha del examen de la convocatoria.

Examen final

Quienes no sigan/superen la evaluación continua realizarán un examen final que constará:

- Examen de teoría (fecha fijada por la Escuela): 5 preguntas cortas y/o ejercicios prácticos sobre los temas de la asignatura, incluyendo dos trabajos de los desarrollados por sus compañeros que determinará el profesor antes del 15 de mayo.

- Defensa de prácticas: el mismo día del examen final y tras finalizar éste se realizará la defensa de las prácticas no defendidas o no superadas con antelación.

Calificación final

Distribución de la calificación final: 5 puntos de teoría y 5 de prácticas. Será la suma de las calificaciones de teoría más prácticas siempre que la calificación de cada una sea igual o superior a 2. Si solo se supera una parte (teoría/prácticas), la nota de la parte superada se mantiene hasta la convocatoria de diciembre. Para las convocatorias de septiembre y diciembre sólo habrá examen final de teoría (no trabajos), las prácticas se seguirán defendiendo en laboratorio.

Calificación de los trabajos: 1,75 ptos. cada trabajo, y 0,5 ptos. cada presentación.

Calificación de las prácticas: 0,5 ptos. la práctica 1, y 1,5 ptos. el resto de prácticas.

Profesorado

José Antonio Gómez Hernández – Teoría

        Despacho nº 10, jagomez@ugr.es

Horario clases: Martes de 15:30-17:30 h. en 1.6

Tutorías: Martes y Jueves de 10-13 h.

Mª Angustias Sánchez  – Prácticas

        Despacho nº 31, mariansb@ugr.es

Grupos: A1 - Miércoles de 9:30-11:30 h. en 3.4

Tutorías: Martes de 12-14 h. y Viernes de 8:30-12:30 h




Programación


Programación del Curso 2012-13

Enlaces


Página de la plataforma

El sistema de gestión de la asignatura: http://tutor.ugr.es


(cc) Página creada y mantenida por José Antonio Gómez Hernández, 2014