Asignatura: Ampliación de Sistemas Operativos
Area: Lenguajes y Sistemas Informáticos
Créditos: 6
Estudios: I.T. Informática de Sistemas
  I. Informática
Impartición: Segundo cuatrimestre
Profesor Responsable: Valentín Valero Ruiz.
Profesores: Valentín Valero Ruiz
  Tomás Rojo Guillen
  María del Carmen Ruiz Delgado
  Víctor Ruiz Penichet
Curso: 2008/2009
Material de clase: ftp Ampliación Operativos


ATENCION: El examen extraordinario de Diciembre será el día 25 de Noviembre de 2009, a las 16.00, en el aula 1.11.

ATENCION: En el ftp de la asignatura pueden encontrarse exámenes correspondientes a convocatorias anteriores, así como estadísticas de los mismos.



OBJETIVOS:   Con esta asignatura se amplían los conocimientos del alumno en el campo del diseño y utilización de los sistemas operativos. Así, se profundiza en aspectos como el diseño de un núcleo de multiprogramación, gestión de la memoria virtual, entradas/salidas y sistemas operativos distribuidos.




PROGRAMA DE LA ASIGNATURA

  1. ESTRUCTURA DE SISTEMAS OPERATIVOS MODERNOS

    1. Núcleo monolítico.
    2. Núcleo modular.
    3. Modelos de capas.
    4. Núcleo extensible.
    5. Sistemas operativos de red.
    6. Sistemas operativos distribuidos.


  2. PRINCIPIOS DE DISEÑO DE UN NUCLEO DE MULTIPROGRAMACION

    1. Funciones de un núcleo de multiprogramación.
    2. Manejo de llamadas, interrupciones y excepciones.
    3. Gestión básica de procesos.
    4. Primitivas de comunicación y sincronización.
    5. Señales.
    6. Soporte de hilos de ejecución.


  3. MEMORIA VIRTUAL

    1. Técnicas de gestión de memoria.
    2. Propiedades de comportamiento de los programas.
    3. Memoria virtual paginada y segmentada.
    4. Algoritmos de sustitución.
    5. Asignación de memoria a los procesos.
    6. Selección del tamaño de página.
    7. Modelos mixtos.
    8. Ficheros con imagen en memoria.


  4. ENTRADAS/SALIDAS

    1. Controladores de dispositivo (device-drivers).
    2. E/S independiente de dispositivo.
    3. Programación de E/S.
    4. Almacenamiento secundario.


  5. SISTEMAS OPERATIVOS DISTRIBUIDOS

    1. Nociones básicas.
    2. Comunicación de procesos distribuidos.
    3. Agrupaciones.
    4. Procesos distribuidos.
    5. Planificación en sistemas distribuidos.
    6. Sistemas de ficheros distribuidos.



PRACTICAS:

Se realizarán prácticas sobre el sistema operativo Unix, sobre diversos servicios del sistema, como control de procesos, hilos de ejecución, atributos de los procesos, manejo de señales, sincronización y comunicación de procesos, servicios de ficheros, pipes y servicios de comunicaciones. Asimismo, se realizará una práctica sobre E/S, programando algún driver sobre un PC, y finalmente una práctica de sistemas distribuidos.


EVALUACION:

Se realizará una prueba escrita para valorar los conocimientos teóricos y prácticos de los alumnos. Es necesario identificarse adecuamente para poder realizar el examen (DNI, pasaporte o carnet de conducir). Asimismo, al presentarse al examen será obligatorio entregarlo.


BIBLIOGRAFIA

  1. Bach, M.J. The Design of the Unix Operating System. Prentice-Hall, Englewood Cliffs. 1987.

  2. Ben Ari, M. Principles of Concurrent and Distributed Programming. Prentice-Hall. 1990.

  3. Carretero, J., Anasagasti, P, García, Pérez, F. Sistemas Operativos. Una Visión Aplicada. Mc Graw-Hill, 2001.

  4. Carling, M., Degler, S. Dennis, J. Administración de Sistemas Linux. Prentice-Hall. 2000.

  5. Coulouris, G., Dollimore, J., Kindberg. Sistemas Distribuidos. Conceptos y Diseño. Tercera edición. Addison-Wesley, 2001.

  6. Crichlow, J. The Essence of Distributed Systems. Prentice-Hall. 2000.

  7. Deitel, H.M. An Introduction to Operating Systems. Second Edition, Addison-Wesley, 1990.

  8. Deitel, J. Operating Systems, third edition. Prentice-Hall. 2004.

  9. Dhamdhere, D.M. Sistemas Operativos: Un enfoque Basado en Conceptos. Segunda edición. Mc. Graw-Hill. 2008.

  10. Galli, D.L. Distributed Operating Systems, concepts and practice. Prentice Hall, 2000.

  11. Glass, G. Unix for programmers and users. Prentice-Hall. Third edition, 2003.

  12. Krakowiak, S. Principles of Operating Systems. The MIT Press. 1989.

  13. Milenkovic, M. Sistemas Operativos. Conceptos y Diseño. Segunda Edición. Mc. Graw-Hill. 1994.

  14. Nutt G. Operating Systems: A Modern Perspective. Third Edition. Addison-Wesley, 2004.

  15. Silberschatz, A., Galvin, P. Sistemas Operativos. Quinta edición. Addison-Wesley. 1999.

  16. Silberschatz, A., Galvin, P. Operating System Concepts. Seventh edition. John Wiley & Sons. 2005.

  17. Stallings, W. Operating Systems: Internals and Design Principles.. Fifth edition. Prentice-Hall. 2005.

  18. Tackett, J., Gunter, D. Utilizando LINUX. Segunda edición. Prentice-Hall. 1996.

  19. Tanenbaum, A.S. Sistemas Operativos. Diseño e Implementación. Prentice-Hall. 1988.

  20. Tanembaum, A., Woodhull, A. Operating Systems. Design and Implementation. Second edition. Prentice-Hall. 1997.

  21. Tanenbaum, A.S. Modern Operating Systems. Prentice-Hall. 1992.

  22. Vahalia, U. UNIX Internals, the new frontiers. Prentice Hall, 1996.

  23. Valero V. Sistema Operativo Unix: fundamentos y diseño del sistema. Librería Popular. 2006.


Enlaces de interés

The Linux Documentation Project
Conceptual Architecture of the Linux Kernel
Concrete Architecture of the Linux Kernel
Linux Online
Some Links to Operating Systems





Valentín Valero Ruiz 2009-11-04