ASIGNATURA OBLIGATORIA
CURSO: 3º CUATRIMESTRE: 1º
CRÉDITOS: 6 HORAS/SEMANA: 4

PROFESOR COORDINADOR: Jesús Carretero Pérez

Avisos

Contexto y objetivos

  • Comprender los conceptos y problemas específicos de los Sistemas Operativos, las características que los diferencian de otros sistemas informáticos.
  • Conocer los métodos más importantes que utilizan para desarrollar Sistemas Operativos y la organización del software, y comprender sus principios y formas de aplicación.

Enfoque

La asignatura se orienta al estudio de la funcionalidad interna de los sistemas operativos y a la forma de diseñar dicha funcionalidad. En este aspecto se estudiarán los mecanismos de programación de sistemas y de llamadas al sistema.

Para ilustrar los conceptos se utiliza el lenguaje de programación C, utilizado ampliamente en programación de sistemas, siendo muy conocido por todos los programadores. En lo que se refiere a sistemas operativos, se estudian LINUX y WINDOWS. Como plataforma de experimentación se usará el sistema operativo LINUX y un Minikernel elaborado en la UPM para el desarrollo de una asignatura similar.

Programa

Teoría

  1. Introducción
    1. Conceptos y evolución
    2. Estructuras del sistema operativo
    3. Aspectos de diseño e implementación
  2. Procesos
    1. Implementación de procesos
    2. Operaciones sobre procesos
    3. Implementación de threads
    4. Planificación de procesos
  3. Interbloqueos
    1. Caracterización
    2. Detección y recuperación
    3. Prevención
    4. Predicción
  4. Gestión de Memoria
    1. Modelo de memoria de un proceso
    2. Intercambio
    3. Memoria virtual
    4. Ficheros proyectados
  5. Administración de Sistemas Operativos
    1. Configuración y generación del sistema
    2. Gestión de recursos
    3. Servicios de red
    4. Aspectos de seguridad y auditoría del sistema
  6. Entrada/Salida
    1. Caracterización de los dispositivos de entrada/salida
    2. Arquitectura de un sistema de entrada/salida
    3. Estudio de los diversos manejadores de dispositivos
  7. Sistema de Ficheros
    1. Estructura de un sistema de ficheros
    2. Implementación de ficheros y directorios
    3. Gestión del espacio de almacenamiento
    4. Aspectos de rendimiento y fiabilidad
  8. Protección y seguridad
    1. Modelo general de protección
    2. Mecanismos de protección
    3. Autenticación
    4. El problema general de la seguridad
  9. Introducción a Sistemas Operativos Distribuidos
    1. Aspectos generales
    2. Comunicación
    3. Sincronización
    4. Sistemas de ficheros distribuidos

Normas

  • El curso de Diseño de Sistemas Operativos se evalua con un examen final para cada convocatoria.
  • Sólo podrán presentarse a examen aquellos alumnos que estén matriculados en la asignatura y no están pendientes de prerrequisitos previos.
  • Para la realización de los examenes no se puede utilizar ningún material de consulta.
  • Los medios de difusión de noticias y documentos de esta asignatura son los siguientes:
  • En caso de duda acerca de temas de fechas y otras cuestiones generales, podrán contactar con los profesores de la asignatura, en horas de tutoría o por correo electrónico.

Clases y exámenes

El horario de clases puede consultarse en Aulas y Horarios.

Las fechas de examen pueden consultarse en Exámenes.

Profesores y Tutorías

PROFESOR DESPACHO LUNES MARTES MIERCOLES JUEVES VIERNES MAIL
Javier Fernández Muñoz 2.2.B17 11:00-13:00 15:00-17:00 jfernand@arcos.inf.uc3m.es

Bibliografía

Texto básico

Sistemas Operativos, 2ª edición
Jesús Carretero, Félix García, Pedro de Miguel y Fernando Pérez.
McGraw-Hill, 2ª edición, 2007

Otros libros recomendados

Libros básicos

Sistemas Operativos. Diseño e implementación
A.S. Tanenbaum, A.S. Woodhull
Prentice Hall. 3ª ed. 2006 (ingles), 2ª ed. 1997 (Español)

Sistemas Operativos. Aspectos internos y principios de diseño
William Stallings.
Pearson educación. 5ª edición. 2005.

Fundamentos de sistemas operativos
A. Silberschatz, P. Galvin, G. Gagne.
McGraw-Hill/Interamericana de España S.A. 7ª edición. 2006.

Problemas resueltos de programación en C
F. García, J. Carretero, A. Calderón, J. Fernández, J. M. Pérez.
Thomson, 2003. ISBN: 84-9732-102-2.

Libros específicos

Linux Internals
Moshe Bar
McGraw-Hill Osborne Media (2000)

Inside Microsoft Windows 2000 (Microsoft Programming Series)
David A. Solomon, Mark Russinovich
Microsoft Press (2000)

The Magic Garden Explained: The Internals of Unix System V Release 4: An Open Systems Design
Berny Goodheart, James Cox, John R. Mashey
Prentice Hall (1994)

Windows NT File System Internals: A Developer's Guide
Rajeev Nagar
O’relly (1997)

UNIX Internals: A Practical Approach
by Steve D. Pate
Addison Wesley Professional (1996)

The Design and Implementation of the 4.4BSD Operating System (Unix and Open Systems Series.)
Marshall Kirk McKusick (Editor), Keith Bostic, Michael J. Karels (Editor)
Addison-Wesley Pub Co (1996)

Sitios on-line sobre diseño y programación de sistemas operativos

Generales

Linux

Windows

Recursos de C

Artículos on-line de apoyo para las prácticas

  • Boot - Arranque del ordenador y carga del sistema operativo (kernel)
    • Windows NT (I) y (II)
    • Linux: 1, 2, 3, 4
    • NetBSD: 1
    • FreeBSD: 1
    • Información general: 1
  • Introducción al Minikernel Syscall - Llamadas al sistema/Servicios del sistema
    • Windows NT: 1, 2
    • Linux: 1, 2
    • FreeBSD: 1
  • Sleep - Timers
    • Linux: 1
  • IPC (Inter Process Communication) – Semaforos
    • Linux: 1, 2
    • Windows NT: 1
    • Otros: 1
  • Entrada/Salida - Drivers
  • Sistemas de ficheros

Materiales complementarios

Teoría

Cursos de sistemas operativos en otros centros

Exámenes de años anteriores

Prácticas

Entorno de prácticas

Cursos de sistemas operativos en otros centros

Administración de sistemas operativos

 
diseno_de_sistemas_operativos.txt · Última modificación: 2010/10/06 21:30 por jfernand
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki