UNIVERSIDAD ALCALÁ DE HENARES


Sistemas Operativos (II)

ASIGNATURA: Sistemas Operativos.

TITULACIÓN: Ingeniería Informática.

CENTRO: Escuela Politécnica, Departamento de automática.

CURSO: Segundo.

ORGANIZACIÓN: 2º Cuatrimestre.

CRÉDITOS: 7,5 totales (6 Teoría + 1,5 Prácticas)

LINK: http://atc1.aut.uah.es/~soi


El objetivo fundamental de la asignatura de Sistemas Operativos es introducir al alumno en los conceptos básicos de Sistemas Operativos predominando fuertemente el enfoque funcional sobre aspectos internos o estructurales más específicos del diseño de un sistema operativo. De este modo, se pretende que el alumno:


Tema 1 Introducción a los sistemas operativos

Tema 2 Interfaces del sistema operativo

Tema 3 Sistema de archivos

Tema 4 Procesos e hilos

Tema 5 Comunicación y sincronización entre procesos

Tema 6 Entrada y salida


La evaluación de la asignatura se realizará mediante un examen que constará de una parte teórica y una parte práctica:

* Parte teórica: test de 25 preguntas, 15 con cuatro alternativas y 10 de tipo Verdadero/Falso.
* Parte práctica: 2 ó 3 problemas. La valoración de los apartados de los problemas se indicará en los enunciados.
* La nota final obtenida en la asignatura se obtendrá aplicando la siguiente fórmula:

Nota_final = 0.6 * Parte_teórica + 0.4 * Parte_práctica

Laboratorio:

* El laboratorio se evalúa como APTO/NO APTO.
* El alumno debe tener APTO el laboratorio para poder aprobar la asignatura.
* Las prácticas tendrán una fecha de entrega que se indicará previamente. No se admitirán prácticas que se entreguen fuera de su fecha límite.
* Las prácticas se evaluarán en el puesto del laboratorio e incluirán la entrega de una memoria.
* Las prácticas se calificarán con un indicador para valorar el trabajo realizado por el alumno: programación, claridad y razonamiento en las respuestas, presentación de la memoria, mejoras o aportaciones del alumno, etc.
* De acuerdo con la totalidad de los indicadores obtenidos en todas las prácticas, se podrá sumar a la Nota_final de la asignatura hasta 1 punto si y sólo si esta nota es >= 4.5.
* Si se detectasen copias en las prácticas, se anularán todas ellas a las personas implicadas y su calificación será de suspenso en la convocatoria en curso.
* La calificación de APTO del laboratorio se mantendrá durante el año académico en el que se obtenga y el siguiente.

Examen

* Se permitirá el uso de documentación exclusivamente en la parte práctica del examen.
* El examen de la asignatura podrá incluir preguntas relacionadas con el laboratorio.

Prácticas de laboratorio

* Se puede encontrar información detallada sobre la normativa de las prácticas en la página web del laboratorio.

Revisión

* Las revisiones de exámenes serán presenciales y se realizarán única y exclusivamente el día y hora publicadas a tal efecto.
* No se proporcionará información sobre calificaciones por teléfono, correo electrónico ni por cualquier otro medio que no sea los oficialmente establecidos (tablón de la asignatura, página web de la asignatura, Intranet de la Universidad).

* Francisco Márquez García. Unix, programación avanzada. 2ª edición. Ra-Ma, 1996.
* Sebastián Sánchez Prieto. Unix y Linux, guía práctica. Ra-Ma, 2002.
* Sebastián Sánchez Prieto. Sistemas Operativos. UAH. 2002.
* Bradford Nichols, Dick Butlar and Jacqueline Proulx Farrell.
Pthreads programming. O'Reilly, 1996.

Bibliografía complementaria

* B. W. Kernigan y R. Pike. El entorno de programación UNIX. Prentice Hall Hispanoamericana, S.A. 1987.
* L. Y. Arthur and T. Burns. UNIX shell programming. Fourth Edition. Wiley Computer Publishing. 1997.
* Jesús Carretero, Félix García, Pedro de Miguel y Fernando Pérez. Sistemas Operativos: Una visión aplicada. Mc Graw-Hill, 2001.
* A. Silberschatz and P.B. Galvin. Operating Systems Concepts. Sixth Edition. Addison-Wesley, 2001.
* Milan Milenkovic. Operating Systems. Concepts and design. Second edition. Mc Graw-Hill, 1998 .
* Andrew S. Tanenbaum. Modern Operating Systems. Prentice Hall, 1992.
* William Stallings. Sistemas Operativos. Cuarta edición.
Prentice Hall, 2001

Sistemas Operativos (ITIS)

ASIGNATURA: Sistemas Operativos.

TITULACIÓN: Ingeniería Técnica en Informática de Sistemas.

CENTRO: Escuela Politécnica, Departamento de automática.

CURSO: Segundo.

ORGANIZACIÓN: 2º Cuatrimestre.

CRÉDITOS: 6 totales (3 Teoría + 3 Prácticas)

LINK: http://atc1.aut.uah.es/~ssoois


Tema 1: Introducción a los sistemas operativos

·    Windows NT versus Unix

·    Núcleos de Sistemas Operativos

·    Ejemplo de Monitor Monolítico

·    Sistema Amoeba - Ejemplo de sistema con enfoque microkernel

Tema 2: Procesos

·    Entidades Fundamentales

·    Concepto de proceso (actualizado 3/4/03)

·    M étodo de compartir CPU entre procesos

·    POSIX Threads Tutorial

·    Procesos en Linux

Tema 3: Planificación del uso de procesador

·    Scheduling in Operating Systems

·    Scheduling in the 4.2BSD Unix OS

·    Priority classes in System V R4

Tema 4: Entrada salida

Tema 5: Gestión de memoria


 

La asistencia, tanto a las clases de teoría como al laboratorio, no es obligatoria.

Es imprescindible, para poder aprobar la asignatura, tener una calificación de APTO en las practicas del laboratorio, o tener las mismas convalidadas del curso anterior.

Los alumnos que obtuvieron la calificación de APTO el curso 2001-2002 (esto no incluye a los que se les convalidó las practicas en dicho curso) podrín solicitar la convalidación de las mismas para el presente curso académICO MEDiante el envío de un correo electrónico a la dirección olopez@aut.uah.es antes del 7 de Marzo de 2003.

Se publicará en la página web de la asignatura un listado con los alumnos a los que se les convalidará el laboratorio. Asimismo, una vez finalizado el laboratorio, se podra comprobar la entrega correcta de todas las prácticas antes del examen consultándolo en la página web de la asignatura.

·    M. J. Bach. The Design of the UNIX Operating System. Prentice-Hall International Editions, 1986.

 
Este manual describe con bastante detalle la arquitectura de UNIX System V de AT&T. No es un libro dedicado a programadores, ya que su enfoque es descriptivo, pero es esencial para conocer las ideas que hay implicadas en la codificación del núcleo de UNIX. Debido a los derechos que AT&T tiene sobre el código del sistema, el autor no lo publica. Sin embargo, opta por incluir el seudocódigo de algunos de los algoritmos que describe.
 

·    L. Hedrick. Introduction to the Internet Protocols. Computer Science Facilities Group. Rutgers. The State University of New Jersey.

 
Es un artículo muy recomendable para aquellas personas que, sin conocimientos previos, pretendan tomar unas ideas básicas de los protocolos TCP/IP. El documento puede encontrarse en distintas direcciones de Internet, a modo de ejemplo citamos la siguiente: http://www2.andrews.edu/~maier/tcp-docs.html.
 

·    George F. Colouris, Jean Dollimore. T. Kindberg. Distributed Systems. Concepts and Design. 2nd Edition. Addison-Wesley Publishing Company. 1994.

 
Este libro proporciona una introducción a los principios usados en el diseño y construcción de sistemas distribuidos basados en redes de estaciones de trabajo y servidores. Algunos de los temas tratados en el libro son de importancia fundamental: llamadas a procedimientos remotos, servidores de archivos, transacciones atómicas, replicación de archivos y mecanismos de protección y seguridad.
 

·    H. M. Deitel. Sistemas Operativos. Addison-Wesley Iberoamericana, S.A. 1993. (Traducción de la obra Operating Systems, Second Edition). Addison-Wesley. 1990.

 
Es un libro que trata los sistemas operativos de los distintos tipos de máquinas: grandes, mini y micro. Ofrece una visión amplia de los sistemas operativos más comunes, como UNIX, VMS, CP/M y VM.
 

·    Fernández, Gregorio. Conceptos básicos de arquitectura y sistemas operativos. Curso de ordenadores. Sistemas y Servicios de Comunicación S.L. 1994.

 
Simple y llanamente, un gran libro sobre conceptos generales de arquitectura y sistemas operativos. Es de destacar en él como paso a paso y desde una arquitectura simple llega a construirse un sistema operativo multitarea. Es un libro muy didáctico.
 

·    Adam Gaffin. Big Dummy´s Guide to the Internet. Electronic Frontier Foundation. 1996.


 

Ésta es una guía en línea muy buena para aquellos usuarios que hacen uso de Internet. Esta guía puede obtenerse en la dirección ftp.rediris.es en diferentes formatos, en el directorio /docs/internet/Big_Dummy.
 

·    Simson Garfinkel y Gene Spafford. Practical UNIX Security. O´Reilly. 1991.

 
Es simplemente el mejor libro en el campo de la seguridad de los sistemas UNIX. Describe cómo se puede hacer que su sistema sea todo lo seguro que pueda llegar a ser. Es un libro muy recomendable.
 

·    Daniel Gilly and O´Reilly Staff. UNIX in a Nutshell. Second Edition (para System V y Solaris 2). O´Reilly. 1992.


 

Es una excelente guía de referencia para la mayoría de las órdenes de UNIX junto con sus opciones. Además, viene con abundantes ejemplos ilustrativos, que favorecen la comprensión del texto. Es un libro muy recomendable.
 

·    Harley Hahn. A Student´s Guide to UNIX. McGraw Hill. 1993.

 
Es un gran libro para aquellos que desean introducirse en el sistema operativo UNIX. El autor aporta todo aquello que un principiante desea conocer: órdenes, utilidades, intérpretes de órdenes, vi, X-Window, correo electrónico, noticias, etc. No es necesario tener experiencia previa para abordar este libro. En resumen, es un libro muy recomendado para introducirse en estos temas.
 

·    Brendan Kehoe. Zen and the Art of the Internet. Tercera edición. Prentice Hall. 1994.

 
Se trata de una introducción a Internet. Aquí se describe todo lo que un principiante desea conocer para moverse con facilidad por Internet. La primera edición se puede conseguir vía ftp anónimo en las siguientes direcciones: ftp.std.com (en el directorio /obi/Internet/zen-1.0), ftp.uni-trier.de (en el directorio /pub/books/obi/Internet/ zen-1.0) o también en formato comprimido zip (zen10.zip) en oak.oakland.edu en el directorio /pub/misc/books.
 

·    B. W. Kernigan y R. Pike. El entorno de programación UNIX. Prentice Hall Hispanoamericana, S. A. 1987. (Traducción de la obra The UNIX Programing Environment). Prentice-Hall, Inc. 1984.

 
Es un libro clásico sobre UNIX a nivel de usuario. Tiene un capítulo dedicado a la interfaz entre C y el sistema. El libro es especialmente sobresaliente describiendo el rico y variado conjunto de filtros de que dispone el sistema, así como la programación del shell. Otro aspecto que lo hace interesante son los capítulos dedicados al desarrollo de aplicaciones en UNIX.
 

·    B. W. Kernighan y D. Ritchie. El lenguaje de programación C. Prentice Hall Hispanoamericana, S. A. 1991. (Traducción de la obra The C Programming Language). Prentice-Hall, 1988.

 
La primera edición de este libro constituye una norma de facto que se ha venido aplicando para programar en C. El estilo de programación que define está hoy muy difundido entre otros autores que desarrollan software en C y en UNIX. La segunda edición aparece como consecuencia de la normalización del lenguaje por parte del American National Standars Institute y se ajusta a la definición del ANSI C. Aún a pesar de que la última palabra sobre el lenguaje la tiene la norma, el manual de Kernighan sigue siendo una obra de primera línea sobre la programación en lenguaje C.
 

·    Morris Bolsky y David Korn. The Korn Shell Command and Programming Language. Prentice Hall. 1989.

 
Es la referencia obligada de aquellos que quieren conocer a fondo el intérprete de órdenes Korn (ksh). Describe todas las peculiaridades de este intérprete de órdenes, así como su programación.
 

·    Leffler S. J., McKusick M. K., Karels M. J., Quarterman J. S. The Design and Implementation of the 4.3BSD UNIX Operating System. Addison-Wesley, 1990.

 
Este es un libro excelente sobre la arquitectura y diseño de la versión 4.3BSD de UNIX. El libro está estructurado en partes que agrupan los módulos principales del sistema: subsistema de entrada-salida, procesos, comunicaciones en red y funcionamiento del sistema. Es útil para mostrar las mejoras que 4.3BSD introduce sobre System V de AT&T, tanto en la gestión del sistema de archivos como en las comunicaciones entre procesos de distintas máquinas.
 

·    Stuart E. Madnick y John J. Donovan. Operating Systems. McGraw-Hill International Editions. 1978.

 
Éste es un libro antiguo, pero no por ello deja de ser interesante. En él se da una visión general de los sistemas operativos en sus distintos aspectos, tanto para los sistemas de esa época como las previsiones para sistemas futuros. Este texto ayuda a comprender muchos aspectos de los sistemas operativos, aspectos que hoy se dan por supuestos, pero que en aquella época no eran tan evidentes (debido, sobre todo, a la evolución de la tecnología).
 

·    F. M. Márquez. UNIX. Programación Avanzada. Segunda Edición. Ed. RA-MA, 1996.

 
Este libro es recomendable para toda persona que se dedique a la programación en entorno UNIX, tanto System V como BSD. En él se describen todas y cada una de las llamadas al sistema (System Calls) de UNIX, con abundantes ejemplos interesantes.
 

·    Milan Milenkovic. Sistemas Operativos. Conceptos y diseño. Segunda Edición. (Traducción de la obra Operating Systems. Concepts and Design. Second Edition. 1992). McGraw-Hill Computer Science Series. 1996.

 
Es un libro general de sistemas operativos estructurado básicamente en tres partes: conceptos fundamentales, implementación y conceptos avanzados (sistemas multiprocesador y sistemas distribuidos). Es de destacar el desarrollo del sistema operativo K-MOS para IBM-PC, tanto en lenguaje C como en Pascal.
 

·    Rachel Morgan, Henry McHilton. Introducing UNIX System V. McGraw-Hill. 1987.

 
Éste es un libro que describe las órdenes de UNIX System V a nivel de usuario. Es recomendable para principiantes, puesto que viene a ser el manual de UNIX (man), pero con abundantes ejemplos y aclaraciones.
 

·    Evi Nemeth, Garth Snyder, Scott Seebass, Trent R. Hein. UNIX System Administration Handbook. Second Edition. Prentice-Hall, Inc. Nueva Jersey 1995.

 
La administración de UNIX es un aspecto bastante sujeto al fabricante del sistema. Por lo general, los procedimientos de administración son los menos transportables entre máquinas. Este libro, también conocido como la biblia de la administración, describe los principales aspectos a tener en cuenta a la hora de administrar distintos sistemas UNIX; entre ellos, Solaris, HP-UX, IRIX, SunOS, OSF y BSD.
 

·    S. Sánchez Prieto. UNIX: Guía del usuario. RA-MA. 1996.

 

Como el libro es del autor, no haré ningún comentario.

·    S. Sánchez Prieto. UNIX y Linux: Guía práctica. RA-MA. 1999.

 

Como el libro es del autor, tampoco haré ningún comentario.
 

·    S. Sánchez Prieto. Introducción a los Sistemas Operativos. Servicio de publicaciones de la universidad de Alcalá. 1995.

 

Como el libro es del autor, lo mismo.
 

·    A. Silberschatz y P. B. Galvin. Operating System Concepts. Fifth Edition. Addison-Wesley, 1998.

 
Este libro es una buena introducción para sentar las bases teóricas de los sistemas operativos. No es de excesiva dificultad y al final añade algunos capítulos donde hace un estudio de los sistemas más empleados hoy en día, así como de las tendencias futuras. Un aspecto que conviene destacar de esta quinta edición (ya presenta en la cuarta) es una mayor estructuración a la hora de tratar los temas. A nuestro modo de ver, el orden tratado es el correcto, y la profundidad, la suficiente como para convertirse en el libro básico de sistemas operativos.
 

·    Stallings, William. Sistemas Operativos. Segunda Edición. Prentice-Hall, 1997. (Traducido de la obra Operating Systems. Second Edition. 1995. Prentice-Hall, Inc.)

 
Es un libro muy recomendable para aquellos que deseen introducirse en los conceptos relacionados con sistemas operativos desde un punto de vista genérico. Es un libro bien estructurado y ameno que contiene abundantes ejemplos prácticos.
 

·    Stevens, W. Richard. UNIX Network Programming. Second Edition. Prentice-Hall, Inc. 1998.

 
Este libro se centra en el desarrollo de aplicaciones que necesiten hacer uso de los servicios de red del sistema UNIX. Para su lectura es necesario tener un buen conocimiento del lenguaje C, y es aconsejable conocer las llamadas al sistema UNIX, si bien en los primeros capítulos se hace un repaso de este segundo apartado.
 

·    Tanenbaum, Andrew S. Sistemas Operativos Distribuidos. Prentice-Hall, 1996. (Traducción de la obra Distributed Operating Systems, First Edition. Prentice-Hall, Inc. 1995.)

 
Este libro ofrece una explicación bastante clara de los conceptos fundamentales relacionados con los sistemas operativos distribuidos. Además trata varios casos particulares como MACH, AMOEBA, Chorus y DCE.
 

·    Tanenbaum, Andrew S. Sistemas Operativos. Diseño e implementación. Segunda Edición. Prentice-Hall Hispanoamericana, S. A. 1997. (Traducción de la obra Operating Systems: Design and Implementation. Second Edition).

 
Este libro posee tres características que lo hacen aconsejable. Por un lado, expone ideas generales sobre sistemas operativos, particulariza estas ideas para el caso de UNIX y, dado que el código de UNIX es propiedad de AT&T, el autor implementa su propia versión de UNIX, a la que llama MINIX, y ofrece el código fuente para que el lector pueda estudiarlo, aprender sobre él y mejorarlo.
 

·    Tanenbaum, Andrew S. Computer Networks. Third Edition. Prentice-Hall, Inc. 1996.

 
Éste es un libro excelente para introducirse en los conceptos que hay involucrados en la comunicación entre ordenadores. Esta tecnología ha experimentado un crecimiento muy grande y desordenado en los últimos años, por lo que es fácil perderse entre las muchas siglas y normas empleadas. El libro pretende hacer una exposición clara centrándose en la jerarquización de niveles conocida como Open System Interconection (modelo de referencia OSI).
 

·    Ted Timar. The Frequently Asked Questions List. Actualizado periódicamente.

 
Es un compendio de las preguntas más frecuentemente planteadas, junto con sus respuestas, acerca de UNIX. Este FAQ (así se denominan estos compendios de preguntas planteadas frecuentemente) se puede conseguir vía ftp anónimo en la dirección rtfm.mit.edu, en el directorio /pub/usenet/news.answers/unix-faq/faq).

Ampliación de Sistemas Operativos (ITIS)

ASIGNATURA: Ampliación de Sistemas Operativos.

TITULACIÓN: Ingeniería Técnica en Informática de Sistemas.

CENTRO: Escuela Politécnica, Departamento de automática.

CURSO: Tercero.

ORGANIZACIÓN: 1º Cuatrimestre.

CRÉDITOS: 4,5 totales (3 Teoría + 1,5 Prácticas)

LINK: http://atc1.aut.uah.es/~assoois


Tema 1. Introducción al desarrollo de aplicaciones en lenguaje C sobre Linux

* Conexión al sistema.
* Transferencia de archivos.
* Creación de programas.
* Generación de ejecutables.
* Ejecución y depuración.
* Anexo: Resumen de órdenes del editor 'VI'.
* Anexo: Resumen de órdenes del depurador 'gdb'.

Tema 2. Gestión de memoria

* Definición de memoria.
* Términos relativos.
* Esquemas de gestión de memoria.

Tema 3. Memoria virtual (14/11/02)

* Ventajas de la utilización de memoria virtual.
* Memoria virtual basada en paginación.
* Proceso de carga dinámica.
* Paginadores.
* Algoritmos de reemplazo de páginas.
* Algoritmos de asignación.
* Estrategias de búsqueda.

Tema 4. Sistemas de archivos (19/12/02)

* El sistema de archivos.
* Implementación del sistema de archivos.
* Fiabilidad del sistema de archivos.
* El sistema de archivos en UNIX.

Tema 5. Sincronización de procesos (15/01/03)

* Tipos de procesos.
* Atomicidad.
* Sincronización.
* Problema de la sección crítica.
* El problema del abrazo mortal.

Tema 6. Sistemas distribuidos


  • El examen estará divido en dos partes, una teórica y una práctica. En todo el conjunto del examen existirán preguntas y/o problemas tanto de lo explicado en clase de teoría como referentes a las prácticas del laboratorio. La parte del laboratorio tendrá un peso del 33% y la de teoría un 67% sobre el total del examen.
  • La calificación de APROBADO solamente se asegurará a partir de la obtención de 5.0 puntos en el examen final.

 

* S. Sánchez Prieto. Sistemas Operativos. Servicio de publicaciones de la U.A.H. 2001.

* Andrew S.Tanenbaum. Sistemas Operativos Modernos. Editorial Prentice Hall. 1993.

* A.Silberschatz / P.B.Galvin / G. Gagne. Operating System Concepts. Sixth edition. John Wiley & Sons, Inc. 2001.

* William Stallings. Sistemas Operativos. Cuarta edición. Editorial Prentice Hall. 2001.

* Andrew S.Tanenbaum. Sistemas Operativos Distribuidos. Editorial Prentice Hall. 1996.

* G. Coulouris / J. Dollimore / T. Kindberg. Sistemas Distribuidos. Conceptos y diseño. Editorial Addison Wesley. 2001.

* Fco. Manuel Márquez García. UNIX. Programación avanzada. Segunda edición. Editorial RA-MA. 1996.

* S. Sánchez Prieto. UNIX y Linux: Guía practica. Segunda edición. Editorial RA-MA. 2001.


UNIVERSIDAD ALFONSO X EL SABIO

Sistemas Operativos (II)

ASIGNATURA: Sistemas Operativos.

TITULACIÓN: Ingeniería Informática.

CENTRO: Escuela Politécnica Superior.

CURSO: Segundo.

ORGANIZACIÓN: 2º Cuatrimestre.

CRÉDITOS: 7.5

LINK: xxx

Sistemas Operativos Avanzados (II)

ASIGNATURA: Sistemas Operativos Avanzados.

TITULACIÓN: Ingeniería Informática.

CENTRO: Escuela Politécnica Superior.

CURSO: Tercero.

ORGANIZACIÓN: 1º Cuatrimestre.

CRÉDITOS: 7.5

LINK: xxx

Sistemas Operativos (ITIS)

ASIGNATURA: Sistemas Operativos.

TITULACIÓN: Ingeniería Técnica de Informática de Sistemas.

CENTRO: Escuela Politécnica Superior.

CURSO: Segundo.

ORGANIZACIÓN: Anual.

CRÉDITOS: 12

LINK: xxx

UNIVERSIDAD ANTONIO DE NEBRIJA


Sistemas Operativos (II/ITIS/ITIG)

ASIGNATURA: Sistemas Operativos.

TITULACIÓN: Ingeniería Informática, Ingeniería Técnica en Informática de Sistemas e Ingeniería Técnica en Informática de Gestión.

CENTRO: Escuela Politécnica Superior.

CURSO: Tercero.

ORGANIZACIÓN: 1º Cuatrimestre.

CRÉDITOS: 6

LINK: http://www.nebrija.com/asignaturas/asignatura.asp?idasignatura=AT3138

Adquisición de conceptos básicos de sistemas operativos, de su taxonomía, sus funciones y características. Comprensión de los principales problemas y puntos críticos de los sistemas operativos. Comprensión de la algorítmica básica relacionada con el tema, así como de los conceptos teóricos necesarios para entenderla. Familiarización con las técnicas básicas de resolución de problemas típicos (comunicación entre procesos, sincronismo, interbloqueos, etc.)

Ampliación de Sistemas Operativos (II/ITIS/ITIG)

ASIGNATURA: Ampliación de Sistemas Operativos.

TITULACIÓN: Ingeniería Informática, Ingeniería Técnica en Informática de Sistemas e Ingeniería Técnica en Informática de Gestión.

CENTRO: Escuela Técnica Superior de Informática.

CURSO: Tercero.

ORGANIZACIÓN: 2º Cuatrimestre.

CRÉDITOS: 6

LINK: http://www.nebrija.com/asignaturas/asignatura.asp?idasignatura=AT3148

Se proporciona al estudiante los conocimientos necesarios para seleccionar el sistema operativo acorde con las características del entorno en el que va a utilizarse, estudiando en profundidad los componentes de los sistemas operativos. El curso avanza en el estudio del diseño de los sistemas operativos, estudiándose las técnicas de gestión de la memoria y de la E/S y se complementa con sesiones prácticas donde los alumnos deberán poner en práctica las técnicas estudiadas. También se estudian de las últimas tendencias en el diseño de sistemas operativos.

Sistemas Operativos Distribuidos (II)

ASIGNATURA: Ampliación de Sistemas Operativos.

TITULACIÓN: Ingeniería Informática.

CENTRO: Escuela Técnica Superior de Informática.

CURSO: Cuarto.

ORGANIZACIÓN: 1º Cuatrimestre.

CRÉDITOS: 6

LINK: http://www.nebrija.com/asignaturas/asignatura.asp?idasignatura=AT4118

Comprensión y análisis de los problemas que surgen al gestionar eficientemente un sistema distribuido. Conocimiento de las diferentes estrategias y alternativas que se pueden adoptar para solucionar estos problemas y proporcionar servicios como: llamadas a procedimientos remotos, gestión de sistemas distribuidos de ficheros, protección, seguridad y uso compartido de recursos.

 

UNIVERSIDAD AUTÓNOMA DE MADRID


Sistemas Operativos I (II)

ASIGNATURA: Sistemas Operativos I.

TITULACIÓN: Ingeniería Informática.

CENTRO: Escuela Técnica Superior de Informática.

CURSO: Segundo.

ORGANIZACIÓN: 1º Cuatrimestre.

CRÉDITOS: 6

LINK: http://www.ii.uam.es/esp/alumnos/c2_sisop.html


El conjunto de programas y librerías que controlan los recursos del ordenador y proporcionan la base sobre la cual pueden escribirse otros programas de aplicación es el sistema operativo.

A pesar de la diversidad de sistemas operativos existente hoy en día, hay un conjunto de conceptos y algoritmos comunes a todos ellos que conforma la base teórica imprescindible para su comprensión. La asignatura de Sistemas Operativos I pretende que el alumno consiga un dominio adecuado de esta base común.

Más concretamente, los objetivos de la asignatura son:

  1. Que el alumno comprenda los fundamentos de los sistemas operativos, haciendo especial énfasis en sus vertientes de gestión de procesos, comunicación y sincronización de procesos, administración de memoria, sistemas de archivos y gestión de Entrada/Salida.
  2. Que el alumno comprenda las principales decisiones de diseño que tienen que ser tomadas para implementar los servicios de un sistema operativo.
  3. Que el alumno aprenda el sistema operativo UNIX desde la perspectiva del usuario final.
  4. Que el alumno aprenda el sistema operativo UNIX desde la perspectiva del programador de aplicaciones, con especial incidencia en el empleo de los mecanismos de gestión y sincronización de procesos.


    1. Introducción
    2. Procesos
    3. Comunicación entre procesos
    4. Administración de la memoria
    5. Sistemas de archivos
    6. Entrada/Salida
    7. Bloqueos
    8. Seguridad
    9. Estudio de caso: UNIX



 

Sistemas Operativos II (II)

ASIGNATURA: Sistemas Operativos II.

TITULACIÓN: Ingeniería Informática.

CENTRO: Escuela Técnica Superior de Informática.

CURSO: Segundo.

ORGANIZACIÓN: 2º Cuatrimestre.

CRÉDITOS: 6

LINK: http://www.ii.uam.es/esp/alumnos/c3_tacc1.html


  1. Introducción a los sistemas operativos (S.O.) distribuidos.

1.1. Conceptos hardware.
1.2. Conceptos software.
1.3. Conceptos de diseño.

  1. La comunicación en S.O. distribuidos.

2.1. El modelo ISO/OSI.
2.2. El modelo Cliente/Servidor.
2.3. Procedimientos remotos (RPC).
2.4. Comunicación entre grupos.

  1. Sincronización en S.O. distribuidos.

3.1. Sincronización de relojes.
3.2. Exclusión mutua.
3.3. Algoritmos de elección.
3.4. Transacciones atómicas.
3.5. Bloqueos.

  1. Gestión de procesos en S.O. distribuidos.

4.1. Modelos de sistemas distribuidos.
4.2. Planificación de procesos.

  1. Gestión de ficheros en S.O. distribuidos.

5.1. Conceptos básicos.
5.2. Conceptos de implementación.
5.3. Ejemplo.

  1. Estudio de caso: COM, DCOM y ActiveX

6.1. COM
6.2. DCOM
6.3. ActiveX

  1. Groupware.


Habrá dos controles escritos. Se incluirá en ambos toda la materia explicada en clase desde el principio del cuatrimestre hasta el día del control. Habrá un examen final en febrero que incluirá toda la materia del curso. Adicionalmente, cada alumno estudiará un tema concreto de sistemas operativos y posteriormente realizará un trabajo escrito obligatorio sobre dicho tema. Las normas para el estudio del tema y la realización de dicho trabajo se harán públicas más adelante.

Hay que aprobar por separado tanto la parte práctica como la teoría. En tal caso, la nota final se calculará según la fórmula:

Nota Final = 0.75 * Nota Teoría + 0.25 * Nota Prácticas + Nota Trabajo;

Nota Teoría = MAX (EF , 0.6*EF + 0,2*C1 + 0,2*C2);

donde C1 es la nota del primer control, C2 es la nota del segundo control y EF la nota del examen final. La nota del trabajo (entre 0 y 1) se añade a la nota final tras aprobar por separado la teoría y las prácticas.

La nota de prácticas se guarda hasta Septiembre.


El material de estudio consistirá en las lecciones impartidas durante las horas de clase, complementadas con el libro:

Se proponen además como libros de consulta:

UNIVERSIDAD CAMILO JOSÉ CELA

Sistemas Operativos (II)

ASIGNATURA: Sistemas Operativos.

TITULACIÓN: Ingeniería Informática.

CENTRO: Escuela Superior de Arquitectura y Tecnología.

CURSO: Primero.

ORGANIZACIÓN: 2º Cuatrimestre.

CRÉDITOS: 6

LINK: http://www.ucjc.edu/titulos/informatica/programaciones/SO%20I.pdf

El objetivo fundamental de la asignatura es dar al alumno una descripción de los conceptos fundamentales de los sistemas operativos, detallando cada una de las partes que lo componen, las relaciones entre las mismas y las funciones que realizan.
Será fundamental que el alumno sepa identificar las razones que hacen necesario un sistema operativo en un sistema de computación, así como conocer la estructura interna del sistema operativo, las distintas partes que lo integran, las funciones que lleva a cabo cada una y la interacción entre ellas y con el resto de los componentes del entorno de computación con el hardware o las aplicaciones de usuario.

1. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS

¿Qué es un Sistema Operativo?
Concepto y funciones
Arranque del ordenador
Historia de los Sistemas Operativos

2. FUNCIONES BÁSICAS DE LOS SISTEMAS OPERATIVOS

Componentes y estructura del Sistema Operativo
Gestión de procesos
Gestión de memoria
Gestión de Entrada/Salida
Gestión de archivos y directorios

3. PROCESOS

Concepto de proceso
Multitarea
Formación de un proceso
Estados del proceso
Planificación
Señales y excepciones
Servidores de procesos

4. GESTIÓN DE MEMORIA

Objetivos del sistema de gestión de memoria
Modelo de memoria de un proceso
Memoria virtual
Archivos proyectados en memoria

5. COMUNICACIÓN Y SINCRONIZACIÓN DE PROCESOS

Procesos concurrentes
Problemas de comunicación y sincronización
Mecanismos de comunicación y sincronización

6. ENTRADA - SALIDA

Introducción
Caracterización de los dispositivos E/S
Arquitectura del sistema de E/S
Interfaz de aplicaciones
Almacenamiento secundario
Almacenamiento terciario

7. SEGURIDAD Y PROTECCIÓN

Conceptos de seguridad y protección
Problemas de seguridad
Políticas de seguridad
Diseño de Sistemas Operativos seguros
Seguridad y protección en Sistemas Operativos de propósito general

Sistema de evaluación continua consistente en:

• La realización del examen parcial que supondrá el 60% de la nota final
• La realización y exposición de un trabajo que supondrá el 20% de la nota final
• La realización de exámenes parciales tipo test que supondrá el 20 % de la nota final

Sistemas Operativos II (II)

ASIGNATURA: Sistemas Operativos II.

TITULACIÓN: Ingeniería Informática.

CENTRO: Escuela Superior de Arquitectura y Tecnología.

CURSO: Segundo.

ORGANIZACIÓN: 1º Cuatrimestre.

CRÉDITOS: 6

LINK: http://www.ucjc.edu/titulos/informatica/programaciones/Sistemas%20Operativos%20II%20%202%BA.pdf

  1. Ampliar, desde un punto de vista práctico, los conocimientos adquiridos en Sistemas Operativos.
  1. Aplicar conceptos desde el punto de vista del diseñador y del administrador del sistema.
  1. Basarse en el sistema operativo Windows 2000 Server, teniendo en cuenta que hoy en día el sistema Windows de Microsoft está presente como administrador de red en la mayor parte de las empresas

TEMA 1.- INTRODUCCIÓN A MICROSOF WINDOWS 2000

Ediciones de Windows 2000
Servicios de directorio de Windows 2000

TEMA2.- INSTALACIÓN Y CONFIGURACIÓN DE W2000 SERVER

Requisitos mínimos de hardware
Particiones de disco
Sistema de archivos
Grupos de trabajo y dominios

TEMA 3.- SISTEMA DE ARCHIVOS DE MICROSOFT WINDOWS 2000

Fundamentos de la gestión del disco
Tabla de asignación de archivos (FAT)
Sistema de archivos NT
Seguridad del sistema de archivos

TEMA 4.- ADMINISTRACIÓN DE WINDOWS 2000 SERVER

El entorno MMC
Administración de las cuentas de usuario
Administración de las cuentas de grupo
Administración de las directivas de grupo

TEMA 5.- SERVICIOS DE ACTIVE DIRECTORY

Introducción al Active Directory
Planificación de la implementación del Active Directory
Implementación y administración de los servicios del Active Directory
Administración de las directivas de grupo

TEMA 6.- PROTOCOLOS Y SERVICIOS DE RED

Introducción a los protocolos de red
Configuración del TCP/IP
Servicio del protocolo de configuración dinámica de hots (DHCP)

Sistemas Operativos III (II)

ASIGNATURA: Sistemas Operativos III.

TITULACIÓN: Ingeniería Informática.

CENTRO: Escuela Superior de Arquitectura y Tecnología.

CURSO: Segundo.

ORGANIZACIÓN: 2º Cuatrimestre.

CRÉDITOS: 6

LINK: http://www.ucjc.edu/titulos/informatica/programaciones/Sistemas%20Operativos%20III%20web%202%BA.pdf

Ampliar, desde un punto de vista práctico, los conocimientos adquiridos en Sistemas Operativos. Mientras que en la asignatura de Sistemas Operativos se estudiaron los conceptos fundamentales de los SO, en Sistemas Operativos III se aplicarán estos conceptos desde el punto de vista del diseñador y del administrador del sistema. Este estudio se hará basándonos en el sistema operativo Linux con la versión Red Hat. Se ha elegido Linux teniendo en cuenta el auge y la popularidad que está teniendo actualmente como sistema de libre distribucción.

TEMA 1.- INTRODUCCIÓN A LINUX

La historia de Linux y Unix
Distribuciones de Linux
Red Hat
Open Linux
Suse
Debian
Mandrake

TEMA2.- INSTALACIÓN DE RED HAT LINUX

Requisitos mínimos de hardware
Creación de discos de arranque de Red Hat
Instalación de Linux

TEMA 3.- CONCEPTOS BÁSICOS DE LA INTERFAZ

Cuentas de usuario
Acceso a nuestro sistema Linux
GDM: el administrador de pantallas Gnome
KDM: el administrador de pantallas de KDE
Interfaz de la línea de comandos

TEMA 4.- CONFIGURACIÓN DEL SISTEMA RED HAT

Usuarios: userconf
Sistema de archivos
Instalación de paquetes software

TEMA 5.- CONFIGURACIÓN DE LA RED

Configuración de la red en Red Hat
LAN
El Red Hat PPP Dialer
Configuración de PPP mediante Linuxconf

TEMA 6.- ADMINISTRACIÓN

Administración básica de sistemas
Herramientas de administración
Administración de usuarios

TEMA 7. LA ESTRUCTURA DE ARCHIVOS EN LINUX

Archivos de Linux
La estructura de archivos
Operaciones sobre archivos y directorios
Permisos de archivo y directorio

TEMA 8.- LA SHELL

La línea de comandos
Entrada y salida estándar y redirección
Canalizaciones
Variables de la shell
Scripts de shell: comandos definidos por el usuario
Filtros y búsqueda de archivos

Sistemas Operativos IV (II)

ASIGNATURA: Sistemas Operativos IV.

TITULACIÓN: Ingeniería Informática.

CENTRO: Escuela Superior de Arquitectura y Tecnología.

CURSO: Tercero.

ORGANIZACIÓN: 1º Cuatrimestre.

CRÉDITOS: 9

Administración de Sistemas Operativos (II)

ASIGNATURA: Administración de Sistemas Operativos.

TITULACIÓN: Ingeniería Informática.

CENTRO: Escuela Superior de Arquitectura y Tecnología.

CURSO: Quinto.

ORGANIZACIÓN: Optativa.

CRÉDITOS: 7,5

UNIVERSIDAD CARLOS III

Sistemas Operativos (II)

ASIGNATURA: Sistemas Operativos.

TITULACIÓN: Ingeniería Informática.

CENTRO: Escuela Politécnica Superior.

CURSO: Segundo.

ORGANIZACIÓN:  2º Cuatrimestre.

CRÉDITOS: 6.

LINK: http://www.uc3m.es/uc3m/gral/ES/ESCU/1311314.html , http://arcos.inf.uc3m.es/~ssoo/descripcion.html


- 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.
- Conocer la funcionalidad de los sistemas operativos, así como su estructura y funcionamiento interno

La asignatura se orienta al estudio de la funcionalidad de los sistemas operativos y de la forma de explotar dicha funcionalidad. En este aspecto se estudiarán los mecanismos de programación mediante llamadas al sistema. Además, se estudian los mecanismos de lenguajes de programación necesarios para la realización de sistemas Operativos, tales como programación concurrente, reparto de tiempo de recursos, etc. Partiendo de lo anterior, se analizan los sistemas operativos más comunes, su estructura interna y los mecanismos de diseño adecuados para construir sistemas operativos.


1.- Conceptos Arquitectónicos del Computador
2.- Introducción a los Sistemas Operativos
3.- Programación de Sistemas Operativos: Introducción a C
4.- Procesos
5.- Interbloqueos
6.- Comunicación y Sincronización
7.- Entrada/Salida
8.- Gestión de Ficheros y Directorios
9.- Seguridad y Protección
10.- Introducción a los Sistemas Distribuidos

Prácticas

La parte de prácticas del curso se compone de 3 prácticas obligatorias y una cuarta práctica de carácter optativo.
A principio de curso se pondrá a disposición de los alumnos un cuaderno de prácticas con los enunciados de cada práctica a realizar y los plazos de entrega de las mismas.

1. Familiarización con el sistema operativo LINUX e Introducción a C.
2. Programación con llamadas al sistema
3. Programación de un interprete de comandos sencillo
4. Sincronización de procesos (Optativa)


El curso de Sistemas Operativos se divide en dos partes independientes: teoría y prácticas.

Para aprobar el curso es necesario que la nota obtenida en cada una de las partes sea mayor o igual que 4,5 puntos y que la media de estas notas sea mayor o igual que 5 puntos. Una vez aprobado el curso, la nota total se calculará con la siguiente fórmula:

Total = Teoría*0,7 + Prácticas*0,3

Las notas de teoría y prácticas se guardarán para septiembre.

Esta asignatura no se convalidará salvo que tal convalidación se haga oficialmente a través de jefatura de estudios.

Sólo podrán presentarse a examen aquellos alumnos que estén matriculados en la asignatura y no están pendientes de prerrequisitos previos.

La parte de prácticas del curso se compone de 3 prácticas obligatorias y una cuarta práctica de carácter optativo.

A principio de curso se pondrá a disposición de los alumnos un cuaderno de prácticas con los enunciados de cada práctica a realizar y los plazos de entrega de las mismas.


Básica:

Jesús Carretero, Félix García, Pedro de Miguel y Fernando Pérez.
Sistemas Operativos: Una visión aplicada,
McGraw-Hill, 2001

Complementaria:

o        A.Silberschatz and P.B. Galvin. Operating Systems Concepts, Fifth Edition, Addison-Wesley, 1998. ISBN 0-201-59113-8

o        A.S. Tanenbaum and A.S. Woodhull. Operating Systems Design and Implementation. 2nd. Edition Prentice Hall, 1997. ISBN 0-13-638677-6.

o        W. Stallings Operating Systems Internals and Design Principles. 3rd. Edition Prentice Hall, 1998. ISBN 0-13-887407-7.

o        Brian Kernigan & Dennis Richtie. The C Programming Language. 2nd. ed (ANSI-C) Prentice-Hall, 1991.

o        Bill Gallmeister. Posix O'Reilly, 1995.

o        Bradford Nichols, Dick Butlar & Jacqueline Farrell. Pthreads programming. O'Reilly, 1996.

 

Diseño de Sistemas Operativos (II)

ASIGNATURA: Diseño de Sistemas Operativos.

TITULACIÓN: Ingeniería Informática.

CENTRO: Escuela Politécnica Superior.

CURSO: Tercero.

ORGANIZACIÓN:  1er Cuatrimestre.

CRÉDITOS: 6.

LINK: http://www.uc3m.es/uc3m/gral/ES/ESCU/1311428.html


El objetivo de la asignatura es dar a conocer la estructura y funcionamiento internos de los sistemas operativos. El curso estudia aspectos teóricos y prácticos del diseño de los sistemas operativos convencionales. Al final de esta asignatura el alumno debería entender y conocer los mecanismos internos de un sistema operativo y ser capaz de modificar, o añadir, componentes de un sistema operativo


1. Introducción
2. Procesos
3. Interbloqueos
4. Gestión de Memoria
5. Administración de Sistemas Operativos
6. Entrada/Salida
7. Sistema de Ficheros
8. Protección y seguridad
9. Introducción a Sistemas Operativos Distribuidos


El curso de Diseño de Sistemas Operativos se divide en dos partes independientes: teoría y prácticas.
Para aprobar el curso es necesario que la nota obtenida en cada una de las partes sea mayor o igual que 4,5 puntos y que la media de estas notas sea mayor o igual que 5 puntos.
Una vez aprobado el curso, la nota total se calculará con la siguiente fórmula: Total = Teoría*0,7 + Prácticas*0,3
Las notas de teoría y prácticas se guardarán para septiembre.


Básica:

Jesús Carretero, Félix García, Pedro de Miguel y Fernando Pérez.
Sistemas Operativos: Una visión aplicada,
McGraw-Hill, 2001

Complementaria:

o        A.Silberschatz and P.B. Galvin. Operating Systems Concepts, Fifth Edition, Addison-Wesley, 1998. ISBN 0-201-59113-8

o        A.S. Tanenbaum and A.S. Woodhull. Operating Systems Design and Implementation. 2nd. Edition Prentice Hall, 1997. ISBN 0-13-638677-6.

o        W. Stallings Operating Systems Internals and Design Principles. 3rd. Edition Prentice Hall, 1998. ISBN 0-13-887407-7.

 

 

Otras asignaturas del área de Sistemas Operativos

ASIGNATURA: Sistemas de Tiempo Real.

TITULACIÓN: Ingeniería Informática.

CENTRO: Escuela Politécnica Superior.

CURSO: Cuarto.

ORGANIZACIÓN:  Optativa, Especialidad: Aplicaciones y sistemas distribuidos.

CRÉDITOS: 6.

ASIGNATURA: Sistemas Distribuidos.

TITULACIÓN: Ingeniería Informática.

CENTRO: Escuela Politécnica Superior.

CURSO: Cuarto.

ORGANIZACIÓN:  Optativa, Especialidad: Aplicaciones y sistemas distribuidos.

CRÉDITOS: 6.

 

ASIGNATURA: Seguridad en Sistemas Distribuidos.

TITULACIÓN: Ingeniería Informática.

CENTRO: Escuela Politécnica Superior.

CURSO: Cuarto.

ORGANIZACIÓN:  Optativa, Especialidad: Aplicaciones y sistemas distribuidos.

CRÉDITOS: 6.

Sistemas Operativos (ITIG)

ASIGNATURA: Sistemas Operativos.

TITULACIÓN: Ingeniería Técnica en Informática de Gestión.

CENTRO: Escuela Politécnica Superior de Getafe.

CURSO: Segundo.

ORGANIZACIÓN:  2º Cuatrimestre.

CRÉDITOS: 7.

LINK: http://www.uc3m.es/uc3m/gral/ES/ESCU/5210017.html


Los sistemas operativos se utilizan en prácticamente todos los sistemas de computación,tanto de propósito general (estaciones de trabajo, PCs, etc.) como especilizados (sistemas de tiempo real, multiprocesadores, supercomputadores, etc.). En las asignaturas de Programación I, Estructuras de Datos y Estructuras de Computadores se estudian las bases necesarias para realizar sistemas informáticos, en sus aspectos de hardware y software. En Estructuras de Computadores se estudian los fundamentos de los sistemas operativos y de la programación concurrente. Todas estas asignaturas cubren los conocimientos mínimos de Informática que se consideran necesarios para cursar esta asignatura.

De acuerdo con esto, los objetivos de la asignatura son:

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

-Conocer la funcionalidad de los sistemas operativos, así como su estructura y funcionamiento.

Además de satisfacer estos objetivos, se pretenden otros objetivos específicos de aprendizaje:

    1. Capacidad de trabajo en equipo. Las prácticas de la asignatura se resuelven en grupos de 2 personas para fomentar la colaboración entre los alumnos.
    1. Capacidad para la resolución de problemas. Además de los trabajos prácticos se proponen ejercicios que luego se resuelven en clase. A través de estos ejercicios se pretende enseñar a los alumnos a tener una metodología para resolver problemas, debiendo enfrentarse con ella a los ejercicios propuestos.
    1. Capacidad de comunicación. Se dispone de un foro de discusión donde los alumnos pueden plantear temas de la asignatura. Estos temas son respondidos por el profesor a por otros alumnos.

Además, se fomenta la participación de los alumnos en pizarra para que aprendan a expresarse frente a un grupo.


Teoría:

1.Conceptos Arquitectónicos del Computador
2.Introducción a los Sistemas Operativos
3.Programación de Sistemas Operativos: Introducción a C y Ada
4.Procesos
5.Interbloqueos
6.Comunicación y Sincronización
7.Entrada/Salida
8.Gestión de Ficheros y Directorios
9.Seguridad y Protección
10.Introducción a los Sistemas Distribuidos

Prácticas:

1.Familiarización con el sistema operativo LINUX e Introducción a C.
2.Programación con llamadas al sistema
3.Programación de un interprete de comandos sencillo
4.Sincronización de procesos (Optativa)


La nota de la asignatura se obtendrá a partir de las calificaciones obtenidas por:

  1. Examen ordinario en la convocatoria de junio o extraordinario de Septiembre.
  1. Prácticas a realizar durante el curso.

Las prácticas se realizarán en grupos de 2 personas.

Ambas partes (teoría y prácticas) pueden aprobarse por separado. En caso de aprobado de una de las partes, este es válido hasta la convocatoria extraordinaria de septiembre.

Para aprobar será necesario obtener al menos un 4.5 en el examen, y la calificación de APTO en las prácticas. En este último caso, se puntuarán las prácticas entre 0 y 10.

La fórmula para calcular la nota final es la siguiente:

if ((nota_examen >= 5) &&(nota_prácticas == APTO))

then nota_final = (nota examen*0.7 + nota_prácticas *0.3)

else nota_final = suspenso

 Las prácticas de la asignatura forman parte del programa y, por tanto, son obligatorias.

Se realizará una exposición en clase sobre su contenido y el uso de los equipos de laboratorio. El trabajo de laboratorio se realizará en horario abierto, sujeto a la disponibilidad de las personas responsables del mismo.


El texto básico de la asignatura es:

Sistemas Operativos: una visión aplicada
J. Carretero, F. García, P. de Miguel, F. Pérez
McGraw-Hill, 2001

Complementaria:

- W. Stallings. Sistemas Operativos. Prentice-Hall, 5º edición, 2000
- W.R. Stevens. Unix Systems Programming. Prentice-Hall, 1990.
- Maurice J. Bach. The Design of the Unix Operating System. Prentice Hall, 1987.
- S. J. Leffer, M. K. McKusick, M. J. Karels, and J. S. Quarterman. The Design and Implementation of the 4.3BSD UNIX Operating System. Addison-Wesley, third edition, 1989.
- G. R. Andrews. Concurrent Programming. Principles and Practice.
Benja-min/Cummings, 1991.

 

ASIGNATURA: Sistemas Distribuidos.

TITULACIÓN: Ingeniería Técnica en Informática de Sistemas.

CENTRO: Escuela Politécnica Superior.

CURSO: Tercero.

ORGANIZACIÓN:  Optativa.

CRÉDITOS: 5.

LINK: http://www.uc3m.es/uc3m/gral/ES/ESCU/5210660.html

ASIGNATURA: Sistemas Tolerantes a Fallos.

TITULACIÓN: Ingeniería Técnica en Informática de Sistemas.

CENTRO: Escuela Politécnica Superior.

CURSO: Tercero.

ORGANIZACIÓN:  Optativa.

CRÉDITOS: 5.

LINK: http://www.uc3m.es/uc3m/gral/ES/ESCU/5210670.html

 

 

UNIVERSIDAD COMPLUTENSE DE MADRID

Sistemas Operativos (ITIG)

ASIGNATURA: Sistemas Operativos.

TITULACIÓN: Ingeniería Técnica en Informática de Gestión.

CENTRO: Facultad de Informática

CURSO: Tercero.

ORGANIZACIÓN:  1º Cuatrimestre.

CRÉDITOS: 6.

LINK: http://www.dacya.ucm.es/ssoo/ (con clave)



El objetivo de esta asignatura es la adquisición de conocimientos relativos a la estructura interna de los sistemas operativos (SO). Dentro del estudio de los SO, se pretende que el alumno aprenda unos conocimiento básicos de la gestión de procesos, memoria y sistema de archivos.

 

1. Introducción a los Sistemas Operativos

1.1 ¿Qué es un Sistema Operativo?

1.2 Historia y evolución de los Sistemas Operativos

1.3 Tipos de Sistemas Operativos

1.4 Servicios prestados por los Sistemas Operativos

1.5 Estructura de un Sistema Operativo

Apéndice.- Algunos Sistemas Operativos

2. Procesos I: Gestión y Planificación

2.1 Concepto de procesos

2.2 Estados y descriptores de procesos

2.3 Servicios de gestión de procesos

2.4 Tipos y organización de planificadores

2.5 Objetivos y criterios de rendimiento

2.6 Algoritmos de planificación

3. Procesos II: Sincronización y Comunicación

3.1 Problemas de Sincronización y Comunicación entre Procesos

3.2 Exclusión mutua. Soportes hardware

3.3 Interbloqueo.

3.4 Semáforos

3.5 Regiones críticas

3.6 Monitores

3.7 Mensajes

4. Gestión de memoria

4.1 Introducción

4.2 Multiprogramación con particiones fijas

4.3 Multiprogramación con particiones variables

4.4 Memoria Virtual

4.4.1 Paginación

4.4.2 Segmentación

4.4.3 Métodos combinados

5. Gestión de almacenamiento secundario

5.1 Estructura de disco

5.2 Administración de espacio libre

5.3 Métodos de asignación

5.4 Planificación de disco

5.5 Colas de sectores


Se realizará un exámenes final de la asignatura en febrero y otro en septiembre.


Básica:

·    A.S. TANENBAUM. "Sistemas Operativos (Diseño e Implementación)". Prentice-Hall, 1991.

·    M. MILENKOVIÇ. "Sistemas Operativos". 2ª Ed. McGraw-Hill, 1994.

·    W. STALLING. “Sistemas Operativos”. 2ª Ed. Prentice Hall, 1997.

Complementaria:

·    H.M. DEITEL. "Sistemas Operativos". 2ª Ed. Addison-Wesley, 1993.

·    A. SILBERSCHATZ., J.L PETERSON, P. GALVIN "Sistemas Operativos (Conceptos Fundamentales)". 3ª Ed. Addisson-Wesley, 1994.

 

Laboratorio de Sistemas Operativos (ITIG)

ASIGNATURA: Laboratorio de Sistemas Operativos.

TITULACIÓN: Ingeniería Técnica en Informática de Gestión.

CENTRO:

CURSO: Tercero.

ORGANIZACIÓN:  2º Cuatrimestre.

CRÉDITOS: 4.5.

LINK: http://www.dacya.ucm.es/ssoo/ (con clave)


El objetivo principal de esta asignatura es la puesta en práctica de algunos de los conceptos aprendidos en la asignatura Sistemas Operativos, mediante la realización de una serie de prácticas sobre el sistema operativo UNIX y usando el lenguaje de guiones Shell Script y el lenguaje de programación C.

 

            Tema 1: Introducción al sistema operativo UNIX. Órdenes básicas del Shell y uso de las páginas de manual.

            Tema 2: Lenguajes de guiones. Desarrollo de guiones para el Shell de Bourne.

            Tema 3: Servicio de gestión de procesos. Programación en C usando los servicios POSIX de UNIX.

            Tema 4: Mecanismos de comunicación entre procesos. Programación en C usando algunos mecanismos de IPC de UNIX.


Prácticas corregidas en el laboratorio y examen final.

La asignatura se impartirá en dos sesiones semanales durante el segundo cuatrimestre: una sesión teórica de una hora en la que se explicarán las prácticas y una sesión práctica de dos horas.


Básica:

·        M. MARQUEZ. “UNIX. Programación Avanzada”. RAMA, 1993.

·        K. A. ROBBINS y S. ROBBINS. “UNIX, Programación práctica”. Prentice may, 1997.

·        “ Páginas de manual de UNIX”

Complementaria:

·      A.S. TANENBAUM. “Sistemas Operativos (Diseño e Implementación)”. Prentice-Hall, 1991.

·      B. STROUSTRUP. “The C++ Programming Language”. 3ª Ed. Addison-Wesley. 1997.

 

Diseño de Sistemas Operativos (II)

ASIGNATURA: Diseño de Sistemas Operativos.

TITULACIÓN: Ingeniería Informática.

CENTRO: Facultad de Informática

CURSO: Tercero.

ORGANIZACIÓN:  1º Cuatrimestre.

CRÉDITOS: 9.

 LINK: http://grasia.fdi.ucm.es/jpavon/dso/


En esta asignatura se discuten aspectos metodológicos y arquitecturales para la construcción y diseño de sistemas operativos y sistemas distribuidos. Especialmente se desarrollan los paradigmas de diseño orientado a objetos, y el modelo cliente-servidor. Estos se aplican para mostrar cómo modelar y realizar los distintos elementos de un sistema operativo. En concreto se estudian temas de implementación de sistemas operativos conocidos como son Unix y Windows, analizando también aspectos de seguridad de los mismos. Asimismo, se trata el desarrollo de servicios en sistemas distribuidos utilizando el modelo cliente-servidor, en concreto sobre plataformas tipo CORBA, y modelos basados en componentes, como Enterprise Java Beans.

El curso tiene un marcado carácter práctico y las clases se impartirán en los laboratorios, alternando explicaciones con ejercicios.


Tema 1.          Introducción
Repaso de conceptos básicos de Sistemas Operativos. Evolución de los sistemas operativos. Concepto de Middleware. Seguridad: hacks y cracks en Unix y Windows.

Tema 2.          Arquitecturas de sistemas operativos
Sistemas monolíticos. Estructuración en capas. Máquinas virtuales. Modelo cliente-servidor.

Tema 3.          Diseño orientado a objetos de componentes de un sistema operativo y aplicaciones de sistema
Técnicas de diseño orientado a objetos. Construcción del núcleo de un sistema operativo. Planificación y comunicación entre procesos. Manejadores de dispositivos de entrada/salida. Gestión de memoria. Sistemas de ficheros. Intérprete de órdenes.

Tema 4.          Sistemas distribuidos
Concepto de sistema distribuido. Arquitecturas de procesadores distribuidos. Transparencias en la distribución. Comunicación. Modelos de software distribuido: cliente-servidor, agentes móviles.

Tema 5.          Aplicaciones distribuidas en red
Llamadas a procedimientos remotos (RPC). Servicios de ficheros: Network File System (NFS). Servicios de nombres: Network Information Service (NIS), Domain Name System (DNS). Programación distribuida con Java sockets, y RMI.

Tema 6.          Programación en CORBA
Middleware para entornos distribuidos (DCE, CORBA). Definición de interfaces. Programación de cliente y servidor con CORBA. Servicio de Nombres. Uso de multithreading Patrones de diseño en CORBA.

Tema 7.          Programación con componentes
Componentes software. Servidores de aplicación para Internet. Enterprise Java Beans.

Se realizará un examen de teoría (al final del curso) y un conjunto de prácticas y presentaciones durante las sesiones de clase. La nota final de la asignatura se obtendrá como la media de las notas en estos tres apartados, de acuerdo a la fórmula:

Nota Final = Examen * 0.5 + Media de todas las práctica* 0.5

Es condición necesaria aprobar el examen y la media de las prácticas (aprobado >= 5). Se considerará además las aportaciones del alumno en la clase.

Desarrollo de la asignatura:

La asignatura se imparte en laboratorios, en sesiones que alternan teoría y práctica. Se exponen conceptos y luego se proponen una serie de ejercicios prácticos que los alumnos deben resolver en el sistema Unix (preferiblemente) o Windows.

Básica (por orden de prioridad):

·      D. L. Galli, “Distributed Operating Systems. Concepts and Practice”, Prentice Hall, 2000.

·      R. Orfali, D. Harkey, “Client/Server Programming with Java and CORBA”, Second edition, John Wiley & Sons, 1998.

Complementaria:

·      G.R. Andrews, “Foundations of Multithreaded, Parallel, and Distributed Programming”, Addison Wesley, 2000.

·      .P. Birman, “Building Secure and Reliable Network Applications”, Prentice-Hall, 1996.

·      J. L. Peterson, A. Silberschat, “Operating System Concepts”, 2nd. edition, Addison-Wesley, 1985 (edición española: Reverté, 1989).

·      A. S. Tanenbaum, “Operating Systems: design and implementation”, 2nd edition, Prentice‑Hall, 1997. (en español: Prentice-Hall, 1998).

·      A. S. Tanenbaum, “Sistemas Operativos Distribuidos”, Prentice‑Hall, 1996.

·      S. Vinoski y D.C. Schmidt, “Object Interconnections”, serie de artículos publicados en la revista C++ Report, 1995-98.

 

Sistemas Operativos (ITIS)

ASIGNATURA: Sistemas Operativos.

TITULACIÓN: Ingeniería Técnica en Informática de Sistemas.

CENTRO:

CURSO: Tercero.

ORGANIZACIÓN:  1º Cuatrimestre.

CRÉDITOS: 6.

LINK: http://www.dacya.ucm.es/ssoo/ (con clave)

           

El objetivo de esta asignatura es la adquisición de conocimientos relativos a la estructura interna de los sistemas operativos (SO). Dentro del estudio de los SO, se pretende que el alumno aprenda unos conocimiento básicos de la gestión de procesos, memoria y sistema de archivos.

 

1. Introducción a los Sistemas Operativos

1.1 ¿Qué es un Sistema Operativo?

1.2 Historia y evolución de los Sistemas Operativos

1.3 Tipos de Sistemas Operativos

1.4 Servicios prestados por los Sistemas Operativos

1.5 Estructura de un Sistema Operativo

Apéndice.- Algunos Sistemas Operativos

2. Procesos I: Gestión y Planificación

2.1 Concepto de procesos

2.2 Estados y descriptores de procesos

2.3 Servicios de gestión de procesos

2.4 Tipos y organización de planificadores

2.5 Objetivos y criterios de rendimiento

2.6 Algoritmos de planificación

3. Procesos II: Sincronización y Comunicación

3.1 Problemas de Sincronización y Comunicación entre Procesos

3.2 Exclusión mutua. Soportes hardware

3.3 Interbloqueo.

3.4 Semáforos

3.5 Regiones críticas

3.6 Monitores

3.7 Mensajes

4. Gestión de memoria

4.1 Introducción

4.2 Multiprogramación con particiones fijas

4.3 Multiprogramación con particiones variables

4.4 Memoria Virtual

4.4.1 Paginación

4.4.2 Segmentación

4.4.3 Métodos combinados

5. Gestión de almacenamiento secundario

5.1 Estructura de disco

5.2 Administración de espacio libre

5.3 Métodos de asignación

5.4 Planificación de disco

5.5 Colas de sectores

 

Se realizará un exámenes final de la asignatura en febrero y otro en septiembre.

Durante el primer cuatrimestre, se impartirán cuatro horas teóricas semanales dentro de las cuales, también se desarrollarán algunos ejemplos prácticos y se resolverán hojas de problemas repartidas a los alumnos.

 

Básica:

·    A.S. TANENBAUM. "Sistemas Operativos (Diseño e Implementación)". Prentice-Hall, 1991.

·    M. MILENKOVIÇ. "Sistemas Operativos". 2ª Ed. McGraw-Hill, 1994.

·    W. STALLING. “Sistemas Operativos”. 2ª Ed. Prentice Hall, 1997.

Complementaria:

·    H.M. DEITEL. "Sistemas Operativos". 2ª Ed. Addison-Wesley, 1993.

·    A. SILBERSCHATZ., J.L PETERSON, P. GALVIN "Sistemas Operativos (Conceptos Fundamentales)". 3ª Ed. Addisson-Wesley, 1994.

 

Laboratorio de Sistemas Operativos (ITIS)

ASIGNATURA: Laboratorio de Sistemas Operativos.

TITULACIÓN: Ingeniería Técnica en Informática de Sistemas.

CENTRO:

CURSO: Tercero.

ORGANIZACIÓN:  2º Cuatrimestre.

CRÉDITOS: 4.5.

 LINK: http://www.dacya.ucm.es/ssoo/ (con clave)


El objetivo principal de esta asignatura es la puesta en práctica de algunos de los conceptos aprendidos en la asignatura Sistemas Operativos, mediante la realización de una serie de prácticas sobre el sistema operativo UNIX y usando el lenguaje de guiones Shell Script y el lenguaje de programación C.

  

            Tema 1: Introducción al sistema operativo UNIX. Órdenes básicas del Shell y uso de las páginas de manual.

            Tema 2: Lenguajes de guiones. Desarrollo de guiones para el Shell de Bourne.

            Tema 3: Servicio de gestión de procesos. Programación en C usando los servicios POSIX de UNIX.

            Tema 4: Mecanismos de comunicación entre procesos. Programación en C usando algunos mecanismos de IPC de UNIX.

 

 

Básica:

·    M. MARQUEZ. “UNIX. Programación Avanzada”. RAMA, 1993.

·    K. A. ROBBINS y S. ROBBINS. “UNIX, Programación práctica”. Prentice may, 1997.

·    “ Páginas de manual de UNIX”

Complementaria:

·    A.S. TANENBAUM. “Sistemas Operativos (Diseño e Implementación)”. Prentice-Hall, 1991.

·    B. STROUSTRUP. “The C++ Programming Language”. 3ª Ed. Addison-Wesley. 1997.

 

·      S. Vinoski y D.C. Schmidt, “Object Interconnections”, serie de artículos publicados en la revista C++ Report, 1995-98.

 

Sistemas Operativos (ITIS)

ASIGNATURA: Sistemas Operativos.

TITULACIÓN: Ingeniería Técnica en Informática de Sistemas.

CENTRO:  Centro de estudios superiores Felipe II

CURSO: Tercero.

ORGANIZACIÓN:  1º Cuatrimestre.Troncal.

CRÉDITOS: 6.

LINK: http://www.cesfelipesegundo.com/menu2.html

           
Los objetivos principales de esta asignatura son: adquirir conocimientos avanzados sobre la estructura de los sistemas operativos y estudiar en profundidad la gestión de procesos, memoria y sistema de archivos que los sistemas operativos realizan.

 

 

 

Tema 1      Introducción a los Sistemas Operativos.

¿Qué es un Sistema Operativo?. Historia y evolución de los Sistemas Operativos. Tipos de Sistemas Operativos. Servicios prestados por los Sistemas Operativos. Arquitecturas de los Sistemas Operativos. Algunos Sistemas Operativos.

 

Tema 2      Procesos I: Gestión y Planificación.

Concepto de proceso. Estados y descriptores de proceso. Servicios de gestión de procesos. Tipos y organización de planificadores. Objetivos y criterios de rendimiento. Algoritmos de planificación.

 

Tema 3      Procesos II: Sincronización y Comunicación.

Problemas de sincronización y comunicación entre procesos. Exclusión mutua. Soportes hardware. Semáforos. Regiones críticas. Monitores. Mensajes. Llamadas a procedimientos remotos (RPC).

 

Tema 4      Interbloqueos.

Concepto de interbloqueo y aplazamiento indefinido. Recursos y categorías de recursos. Condiciones de interbloqueo. Prevención de interbloqueos. Evitación de interbloqueos. Detección y recuperación de interbloqueos.

 

Tema 5      Gestión de Memoria.

Introducción. Multiprogramación con particiones fijas. Multiprogramación con particiones variables. Memoria virtual.

 

Tema 6     Gestión de Almacenamiento Secundario.

Estructura de disco. Administración de espacio libre. Métodos de asignación. Planificación de disco. Colas de sectores.

 

 

La evaluación de los alumnos se basará en los siguientes elementos:

·        Realización de un examen final en febrero.

·        Realización de un examen opcional en diciembre.

·        Participación en clase resolviendo problemas y realizando comentarios.

 

 

 

 

 

 

 


 

Otras asignaturas del área de Sistemas Operativos

ASIGNATURA: Sistemas Tolerantes a Fallos.

TITULACIÓN: Ingeniería Técnica en Informática de Gestión.

CENTRO: Facultad de Informática

CURSO: 2º Ciclo.

ORGANIZACIÓN:  Optativa.

CRÉDITOS: 6.

 

 

UNIVERSIDAD EUROPEA DE MADRID

Sistemas Operativos (II/ITIG)

ASIGNATURA: Sistemas Operativos.

TITULACIÓN: Ingeniería Informática, Ingeniería Técnica en Informática de Gestión.

CENTRO: Escuela Superior de Informática.

CURSO: Tercero.

ORGANIZACIÓN:  1º Cuatrimestre.

CRÉDITOS: 7,5 totales (6 Teóricos + 1,5 Prácticos.

LINK: http://www.esi.uem.es/superior/plan/302.htm , http://www.esi.uem.es/titulaciones/gestion/plan/303.htm

Estudiar los sistemas operativos desde dentro. No se trata de conocer las órdenes y forma de administración de los sistemas operativos más comunes, sino de estudiar cómo son estructuralmente los sistemas operativos más importantes y cómo solucionana los problemas que les son inherentes. . En la asignatura se priorizan las competencias de trabajo bajo presión, responsabilidad y flexibilidad.

Tema 1. Introducción

1.1. Definición y funciones de los sistemas operativos

1.2. Historia y evolución

1.3. Tipos de SO

1.4. Computador digital básico

1.5. Puntos de vista de los sistemas operativos

1.6. Estructura de los sistemas operativos

Tema 2. Procesos

2.1. Concepto de procesos

2.2. Estados y descriptores de procesos

2.3. Servicios de gestión de procesos

2.4. Tipos y organización de planificadores

2.5. Objetivos y criterios de rendimiento

2.6. Algoritmos de planificación

2.7. Planificación de procesos en UNIX

Tema 3. Procesos II

3.1. Sincronización y comunicación

3.2. Exclusión mutua. Soportes hardware

3.3. Semáforos

3.4. Regiones críticas

Tema 4. Interbloqueos

4.1. Concepto de interbloqueo y aplazamiento indefinido

4.2. Recursos y categorías de recursos

4.3. Condiciones de interbloqueo

4.4. Prevención de interbloqueos

4.5. Evitación de interbloqueos

4.6. Detección y recuperación de interbloqueos

Tema 5. Gestión de E/S

5.1. Interrupciones

5.2. Rutinas de E/S

5.3. Discos: organización

5.4. Discos: planificación de accesos

5.5. Mejoras de rendimiento y fiabilidad

Tema 6. Gestión de ficheros

6.1. Funciones de un sistema de ficheros

6.2. Cache de disco

6.3. Métodos de asignación de almacenamiento secundario

6.4. Directorios de dispositivo

6.5. Administración de ficheros

6.5.1. Protección

6.5.2. Compartición

6.6. Jerarquía de directorios

6.7. Organización de la información

6.8. Gestión de dispositivos. E/S independiente de dispositivo

6.9. Servicios de gestión de ficheros

6.10. Gestión de ficheros en UNIX

Tema 7. Gestión de memoria

7.1. Preparación de un programa para ejecución. Reubicación

7.2. Esquemas de gestión contigua de memoria

7.2.1.Monousuario

7.2.2. Particiones fijas

7.2.3. Particiones variables

7.2.4. Swapping

7.3. Esquemas de gestión no contigua de memoria

7.3.1. Segmentación

7.3.2. Paginación

7.3.3. Memoria virtual

7.3.4. Políticas de sustitución y asignación

7.4. Unidades de gestión de memoria

7.4.1. Tablas de traducción jerárquica

7.5. Gestión de memoria en UNIX

Tema 8. Seguridad y protección

8.1. Modelos formales de protección

8.1.1. Matriz de Control de Acceso

8.1.2. Modelo Take-Grant

8.1.3. Modelo Belí-LaPadula

8.1.4. Modelo de retículo

8.2. Criptografía

8.2.1. Estándar DES

8.2.2. Criptografía de clave pública

8.2.3. Algoritmo RSA

Tema 9. Evaluación de rendimiento

9.1. Modelos analíticos

9.2. Teoría de colas. Sistemas M/M/c

9.3. Procesos de Markov

A. SILBERSCHATZ y P.B. GALVIN, Sistemas Operativos, 5ª ed., México, Addison Wesley Longman, 1997.

W. STALLINGS, Sistemas Operativos, Madrid, Prentice Hall, 4ª ed., 2001.

M. MILENKOVIÇ, Sistemas Operativos: Conceptos y Diseño, Madrid, McGraw-Hill, 2ª ed., 1994.

F.M. MÁRQUEZ GARCÍA, UNIX: Programación avanzada, 2ª ed., Madrid, Ra-Ma, 1996.

K.A. ROBBINS y S. ROBBINS, UNIX: Programación Práctica, México, Prentice-Hall, 1997.

W.R. STEVENS, Advanced programming in the UNIX environment, 16ª ed., Addison-Wesley, 1998

Sistemas Informáticos (II)

ASIGNATURA: Sistemas Informáticos.

TITULACIÓN: Ingeniería Informática.

CENTRO: Escuela Superior de Informática.

CURSO: Quinto.

ORGANIZACIÓN:  2º Cuatrimestre.

CRÉDITOS: 15 totales (0 Teóricos + 15 Prácticos.

LINK: http://www.esi.uem.es/superior/plan/503.htm

Esta es una asignatura que no tiene contenido teórico. La asignatura en su conjunto está orientada a la realización de un trabajo práctico global. En esta asignatura se pretenden poner en práctica de forma conjunta todos los conocimientos adquiridos en la práctica totalidad de asignaturas previas de los estudios, elaborando en equipo un único proyecto. En la asignatura se priorizan las competencias de trabajo en equipo y habilidades comunicativas.

En la asignatura juegan un papel clave:

1.Metodología de análisis.

2. Configuración, diseño, gestión y evaluación de sistemas informáticos.

3. Entornos de sistemas informáticos.

4. Tecnologías avanzadas de sistemas de información, bases de datos y sistemas operativos.

5. Proyectos de sistemas informáticos.

Sistemas Informáticos. Documento interno de la ESP de la Universidad Europea de Madrid.

Sistemas Operativos (ITIS)

ASIGNATURA: Sistemas Operativos.

TITULACIÓN: Ingeniería Técnica en Informática de Sistemas.

CENTRO: Escuela Superior de Informática.

CURSO: Segundo.

ORGANIZACIÓN:  2º Cuatrimestre.

CRÉDITOS: 6 totales (4,5 Teóricos + 1,5 Prácticos.

LINK: http://www.esi.uem.es/titulaciones/sistemas/plan/204.htm

Introducción comprensible a los Sistema Operativos, enfatizando tanto los principios fundamentales como los conceptos de diseño del los Sistemas Operativos modernos. Se pretende la adquisición de una sólida comprensión de las estructuras y mecanismos clave de los Sistemas Operativos y también de las distintas decisiones de diseño involucradas en el diseño de Sistemas Operativos.

En la asignatura se priorizan las competencias de iniciativa, responsabilidad, planificación y innovación y creatividad.

Tema 1. Introducción

1.1. Definición y funciones de los sistemas operativos.

1.2. Historia y evolución.

1.3. Tipos de SO.

1.4. Computador digital básico.

1.5. Puntos de vista de los sistemas operativos.

1.6. Estructura de los sistemas operativos.

Tema 2. Procesos

2.1. Concepto de procesos.

2.2. Estados y descriptores de procesos.

2.3. Servicios de gestión de procesos.

2.4. Tipos y organización de planificadores.

2.5. Objetivos y criterios de rendimiento.

2.6. Algoritmos de planificación.

2.7. Planificación de procesos en UNIX.

Tema 3. Procesos II

3.1. Sincronización y comunicación.

3.2. Exclusión mutua. Soportes hardware.

3.3. Semáforos.

3.4. Regiones críticas.

Tema 4. Interbloqueos

4.1. Concepto de interbloqueo y aplazamiento indefinido.

4.2. Recursos y categorías de recursos.

4.3. Condiciones de interbloqueo.

4.4. Prevención de interbloqueos.

4.5. Evitación de interbloqueos.

4.6. Detección y recuperación de interbloqueos.

Tema 5. Gestión de E/S

5.1. Interrupciones.

5.2. Rutinas de EIS.

5.3. Discos: organización.

5.4. Discos: planificación de accesos.

5.5. Mejoras de rendimiento y fiabilidad.

Tema 6. Gestión de ficheros

6.1. Funciones de un sistema de ficheros.

6.2. Cache de disco.

6.3. Métodos de asignación de almacenamiento secundario.

6.4. Directorios de dispositivo.

6.5. Administración de ficheros.

6.5.1. Protección.

6.5.2. Compartición.

6.6. Jerarquía de directorios.

6.7. Organización de la información.

6.8. Gestión de dispositivos. E/S independiente de dispositivo.

6.9. Servicios de gestión de ficheros.

6.10. Gestión de ficheros en UNIX.

SILBERSCHATZ, Operating Systems Concepts, Addison-Wesley Co., 1994
ANDREW TANENBAUM, Modern Operating Systems, Prentice Hall , 1994
M. MALENKOVIC, Sistemas Operativos, Conceptos y Diseño, McGrawHill, 1994
W. STALLINGS, Sistemas Operativos, Prentice Hall , 1996

Ampliación de Sistemas Operativos (ITIS)

ASIGNATURA: Ampliación de Sistemas Operativos.

TITULACIÓN: Ingeniería Técnica en Informática de Sistemas.

CENTRO: Escuela Superior de Informática.

CURSO: Tercero.

ORGANIZACIÓN:  2º Cuatrimestre.

CRÉDITOS: 6 totales (3 Teóricos + 3 Prácticos.

LINK: http://www.esi.uem.es/titulaciones/sistemas/plan/304.htm

Proporcionar la suficiente comprensión, y conocimiento, sobre los principios y la práctica que subyace en el diseño de los sistemas distribuidos de cualquier tipo. En la asignatura se priorizan las competencias de trabajo bajo presión, responsabilidad y flexibilidad.

Tema 1. Introducción a los sistemas distribuidos

1.1. Perspectiva de los sistemas distribuidos

1.2. Características de un sistema distribuido

1.3. Conceptos hardware

1.4. Comunicación en grupo

Tema 2. Comunicación en los sistemas distribuidos

2.1. Fundamentos de redes

2.2. Llamada a un procedimiento remoto (RPC)

2.3. Comunicación en grupo

Tema 3. Sincronización en sistemas distribuidos

3.1. Sincronización de relojes

3.2. Exclusión mutua

3.3. Algoritmos de Elección

3.4. Transacciones atómicas

3.5. Bloqueos en sistemas distribuidos

Tema 4. Procesadores en sistemas distribuidos

4.1. Asignación de procesadores

4.2. Planificación

4.3. Tolerancia ante fallos

4.4. Bloqueos en sistemas distribuidos

Tema 5. Sistema distribuido de archivos

5.1. Diseño de los sistemas distribuidos de archivos

5.2. Implantación de un sistema distribuido de archivos

Tema 6. Memoria compartida distribuida

6.2. Introducción

6.3. Modelos de consistencia

6.4. Sistemas de memoria compartida distribuida.

Tema 7. Casos de estudio

7.1. Amoeba

7.2. Mach

7.3. DCE

A.S. TANENBAUM, Sistemas Operativos Distribuidos, México, Prentice Hall 1997.

A.S. TANENBAUM, Distributed Systems: Principles and Paradigms, New York, Prentice Hall, 2002.

G. COLOURIS, Sistemas Distribuidos: Conceptos y Diseño, México, Addison Wesley, 3ª ed., 2001.

J. BLOOMER, Power programming with RPC, Sebastopol, O'Reilly & Associates, 1992.

K.A. ROBBINS y S. ROBBINS, UNIX: Programación Práctica, México, Prentice-Hall, 1997.

Programación de Sistemas (ITIS)

ASIGNATURA: Programación de Sistemas .

TITULACIÓN: Ingeniería Técnica en Informática de Sistemas.

CENTRO: Escuela Superior de Informática.

CURSO: tERCero.

ORGANIZACIÓN:  2º Cuatrimestre.

CRÉDITOS: 6 totales (4,5 Teóricos + 1,5 Prácticos.

LINK: http://www.esi.uem.es/titulaciones/sistemas/plan/307.htm

Se estudia como se utilizan desde nuestras aplicaciones, los recursos y servicios de un sistema operativo. En concreto, se estudia la concurrencia, los mecanismos de sincronización y de comunicación entre procesos, y así como la extensión de estos servicios en las aplicaciones de tiempo real. La asignatura las sesiones teóricas con trabajos de laboratorio. En la asignatura, se fomentan las competencias de trabajo en equipo, y la innovación y creatividad.

Tema 1. Introducción a la programación de sistemas

1.1. Objetivos de la programación de sistemas
1.2. Introducción a la programación en Unix
1.3. Programación modular. Entorno de desarrollo. La utilidad make
1.4. Introducción a la programación en Win32. Características de la API Win32

1.5. Ejemplos de programas

Tema 2. Introducción a la concurrencia

2.1. Características de la concurrencia
2.2. Sistemas de tiempo real
2.3. Herramientas para el manejo de la concurrencia

2.4. IPC's (semáforos, memoria compartida y colas de mensajes) del estándar POSIX

Tema 3. Programación multihílo

3.1. El concepto de hilo - Ejemplos de aplicaciones múltihilos
3.2. Organización de los hilos
3.3. Ventajas y problemas de los hilos
3.4. Programación multihilo con las Pthreads

3.5. Técnicas de programación - Implementación de monitores y barreras

Tema 4. Las señales y su tratamiento

4.1. Introducción a las señales
4.2. Tratamiento de las señales

4.3. Envío de señales

Tema 5. El tiempo y los temporizadores

5.1. El reloj y los temporizadores en el tiempo real
5.2. Los diferentes tipos de temporizadores
5.3. Las especificación POSIX para la gestión del tiempo real

5.4. Los S.O.T.R - Características de RT-linux y QNX

KEITH HAVILAND, UNIX: System Programming, Addison Wesley

W. RICHARD STEVENS, Advanced Programming in the UNIX Environment, Addison Wesley

BRADFORD NICHOLS, Pthread Programming, O'Reilly

GARY NUTT, Operating System Propjects using Windows NT, Addison Wesley

Sistemas Empotrados (ITIS)

ASIGNATURA: Programación de Sistemas .

TITULACIÓN: Ingeniería Técnica en Informática de Sistemas.

CENTRO: Escuela Superior de Informática.

CURSO: Tercero.

ORGANIZACIÓN:  Optativa.

CRÉDITOS: 6 totales (3 Teóricos + 3 Prácticos.

LINK: http://www.esi.uem.es/titulaciones/sistemas/plan/810.htm

 

U.N.E.D (UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA)

Sistemas Operativos I (ITIS/ITIG)

ASIGNATURA: Sistemas Operativos I.

TITULACIÓN: Ingeniería Técnica en Informática de Sistemas, e Ingeniería Técnica en Informática de Gestión.

CENTRO: Escuela Técnica Superior de Ingeniería Informática.

CURSO: Segundo.

ORGANIZACIÓN:  2º Cuatrimestre.

CRÉDITOS: 6

LINK: http://www.ii.uned.es/sistemas/segundo/SistOper1.htm


El objetivo básico del curso es ofrecer una descripción, lo más detallada posible, de los conceptos fundamentales de los sistemas operativos. Los objetivos globales de la asignatura pueden resumirse en los siguientes puntos:

 

·         Tema 1. Introducción a los Sistemas Operativos

·         Tema 2. Procesos

·         Tema 3. Sincronización y Comunicación de Procesos

·         Tema 4. Gestión de la Memoria

·         Tema 5. Gestión del Sistema de Archivos

·         Tema 6. Gestión del Sistema de Entrada/Salida

·         Tema 7. Multiprocesadores y Sistemas Distribuidos

 

Las pruebas presenciales tienen una duración de dos horas. No se permite el uso de ningún material.

La prueba consta de dos partes:

 

BIBLIOGRAFÍA BÁSICA

BIBLIOGRAFÍA COMPLEMENTARIA

Sistemas Operativos II (ITIS/ITIG)

ASIGNATURA: Sistemas Operativos II.

TITULACIÓN: Ingeniería Técnica en Informática de Sistemas, e Ingeniería Técnica en Informática de Gestión.

CENTRO: Escuela Técnica Superior de Ingeniería Informática.

CURSO: Tercero.

ORGANIZACIÓN:  2º Cuatrimestre.

CRÉDITOS: 6

LINK: http://www.ii.uned.es/sistemas/tercero/SistOperat2.htm


El objetivo de esta asignatura es ampliar, desde un punto de vista práctico los conocimientos adquiridos en Sistemas Operativos I. Mientras que en la asignatura de Sistemas Operativos I se estudiaron los conceptos fundamentales de los SO´s, en Sistemas Operativos II se aplicarán estos conceptos desde el punto de vista del diseñador y del administrador del sistema. Este estudio se hará basándonos en un sistema operativo tipo Unix. Se ha elegido Linux ya que es de distribución libre y se puede ejecutar en computadores personales.

 

TEMA 1:Introducción a la arquitectura de un sistema operativo de tipo UNIX

1.1.- Conceptos básicos

TEMA 2: Procesos

2.1 Introducción

2.2 Estructuras de datos asociadas a un proceso

2.3 Contexto de un proceso

2.4 Estados de los procesos  

TEMA 3: Control de procesos       

3.1 Introducción    

3.2 Creación de procesos

3.3 Señales 

3.4 Tratamiento de señales: signal      

3.5 En espera de señales: pause         

3.6 Terminación de procesos.   

3.7 Terminación de un proceso que está esperando   

3.8 Invocando a otros programas       

3.9 Identificadores de usuario y de grupo

3.10 Grupos de procesos           

TEMA 4: Procesos en Linux

4.1 Introducción a los procesos en Linux     

4.2 Estados de un proceso      

4.3 Descripción de la tabla de procesos

4.4 Creación de procesos  

4.5 Señales

Tema 5: Introducción al sistema de archivos de sistemas Unix    

5.1 Visión general del sistema de archivos 

5.2 Estructuras de datos en el sistema de archivos

5.3 Estructura del sistema de archivos 

5.4 Estructura interna de un fichero

5.5 Directorios 

5.6 Enlaces

5.7 Llamadas al sistema para manejo de archivos

Tema 6: Sistemas de archivos en Linux 

6.1 Introducción

6.2 El sistema de archivos virtual:VFS

6.3 El segundo sistema de archivos extendido: ETX2FS

Tema 7 Administración de sistemas Linux: introducción a redes

7.1 Conceptos básicos de Unix

7.2 Primeros pasos en Unix      

7.3 Explorando el sistema de ficheros   

7.4 Control de tareas      

7.5 Administración del sistema

7.6 Redes con tcp/ip

 

El examen constará de dos partes independientes que deben aprobarse por separado para superar la asignatura. La primera parte consistirá en un conjunto de preguntas teórico-prácticas breves y sencillas. La segunda parte consistirá en dos preguntas a desarrollar. En el examen NO se permite el uso de ningún tipo de material.

A lo largo del cuatrimestre se colocarán en el Curso Virtual de la asignatura un conjunto de prácticas voluntarias de LINUX para realizar. ¡¡Atención!! estas prácticas sólo podrán mejorar la nota final en el caso de tener aprobado el examen.

 

Básica:

Edición Especial. Linux. 4ª edición. Jack Tackett & David Gunter. Prentice Hall, 2000

     Complementaria:

Sistemas en Tiempo Real (II/ITIS/ITIG)

ASIGNATURA: Sistemas en Tiempo Real.

TITULACIÓN: Ingeniería Informática, Ingeniería Técnica en Informática de Sistemas, e Ingeniería Técnica en Informática de Gestión.

CENTRO: Escuela Técnica Superior de Ingeniería Informática.

CURSO: Tercero.

ORGANIZACIÓN:  2º Cuatrimestre.

CRÉDITOS: 7

LINK: http://www.ii.uned.es/sistemas/tercero/SistpoReal.htm

Sistemas Distribuidos (II)

ASIGNATURA: Sistemas Distribuidos.

TITULACIÓN: Ingeniería Informática.

CENTRO: Escuela Técnica Superior de Ingeniería Informática.

CURSO: Quinto.

ORGANIZACIÓN:  1º Cuatrimestre.

CRÉDITOS: 7

 

UNIVERSIDAD POLITÉCNICA DE MADRID - FACULTAD DE INFORMÁTICA

Informática General (II)

ASIGNATURA: Informática General.

TITULACIÓN: Ingeniería Informática.

CENTRO: Facultad de Informática.

CURSO: Primero.

ORGANIZACIÓN:  Libre Elección, 1º Cuatrimestre.

CRÉDITOS: 9

LINK: http://laurel.datsi.fi.upm.es/~ssoo/SO/


El enfoque de esta asignatura es fundamentalmente informativo por lo que se plantea una programa bastante amplio que pretende dar una visión general de cada uno de los temas tratados.
Desde el punto de vista práctico, la asignatura permite al alumno familiarizarse con el manejo del computador personal y las herramientas más típicas de ofimática, lo que le será muy útil en su carrera y en su vida profesional.

 

El contenido teórico de la asignatura es el siguiente:

El contenido práctico de la asignatura es el siguiente:

Fundamentos de Programación para Sistemas Operativos (II)

ASIGNATURA: Fundamentos de Programación para Sistemas Operativos.

TITULACIÓN: Ingeniería Informática.

CENTRO: Facultad de Informática.

CURSO: Segundo.

ORGANIZACIÓN:  1º Cuatrimestre.

CRÉDITOS: 6

LINK: http://laurel.datsi.fi.upm.es/~ssoo/FPSO/


El objetivo de la asignatura es aprender a programar en lenguaje C, el más usado en la implementación de Sistemas Operativos y en la programación de aplicaciones sobre estos.
Los conocimientos teóricos se complementarán con trabajos prácticos.
Los alumnos aprenderán a trabajar y a desarrollar programas en un sistema operativo multiusuario como es UNIX.

 

Sistemas Operativos (II)

ASIGNATURA: Sistemas Operativos.

TITULACIÓN: Ingeniería Informática.

CENTRO: Facultad de Informática.

CURSO: Segundo.

ORGANIZACIÓN:  2º Cuatrimestre.

CRÉDITOS: 6

LINK: http://laurel.datsi.fi.upm.es/~ssoo/SO/


El objetivo de la asignatura es la comprensión de los conceptos básicos de los sistemas operativos.
La asignatura se centra en la funcionalidad de los sistemas operativos y no trata de su estructura y funcionamiento interno.

 

1. Introducción

1.1. Conceptos hardware, ejecución de instrucciones, interrupciones.

1.2. Memoria virtual.

1.3. Qué es el sistema operativo.

1.4. Procesos, secuencia de ejecución de procesos, concurrencia, arranque del sistema operativo.

1.5. Mapa de memoria de un proceso.

1.6. Protección.

1.7. Ficheros.

1.8. Seguridad.

2. Procesos

2.1. Procesos.

2.2. Planificación.

2.3. Servicios de procesos.

2.4. Procesos ligeros.

2.5. Servicios de procesos ligeros.

2.6. Interbloqueos.

2.7. Señales. Servicios.

2.8. Servicios básicos de ficheros.

3. Gestión de memoria

3.1. Gestión de memoria de un proceso.

3.2. Mapa de memoria de un proceso.

3.3. Creación de ejecutables.

3.4. Soporte del mapa de memoria del proceso.

3.5. Regiones.

3.6. Servicios.

4. Sistema de ficheros

4.1. Conceptos básicos de E/S.

4.2. Ficheros, organización de ficheros, operaciones con ficheros.

4.3. Directorios, organización de directorios, operaciones con directorios.

4.4. Nombrado y protección.

4.5. Servicios.

5. Comunicación y sincronización

5.1. Principios generales de concurrencia.

5.2. Problemas clásicos de comunicación y sincronización.

5.3. Mecanismos de sincronización y sincronización.

5.4. Servicios.

5.5. Interbloqueos.

6. Evolución e historia de los sistemas operativos

Windows 2000 (II)

ASIGNATURA: Windows 2000.

TITULACIÓN: Ingeniería Informática.

CENTRO: Facultad de Informática.

CURSO: Cuarto.

ORGANIZACIÓN:  2º Cuatrimestre, Libre Elección.

CRÉDITOS: 6

LINK: http://laurel.datsi.fi.upm.es/~ssoo/W2K/


Se formará al alumno en las labores de administración y configuración del Sistema Operativo Windows 2000.
La asignatura se impartirá en una sala de PC, por lo que el número de asistentes será reducido.
Esta asignatura se ofrece dentro de un convenio AATP de colaboración con Microsoft y se seguirá su metodología de enseñanza.

 

1. Introducción
2. Instalación y Configuración
3. Gestión de Recursos
4. Conectividad
5. Ejecución de aplicaciones
6. Solución de problemas

* Guías oficiales de Microsoft
* MCSE Training Kit: Upgrading to Microsoft Windows 2000. Microsoft Press
* Windows 2000 MCSE. Study System. Alan R. Carter. IGD Books Worldwide

Diseño de Sistemas Operativos (II)

ASIGNATURA: Diseño de Sistemas Operativos.

TITULACIÓN: Ingeniería Informática.

CENTRO: Facultad de Informática.

CURSO: Cuarto.

ORGANIZACIÓN:  2º Cuatrimestre.

CRÉDITOS: 9

LINK: http://laurel.datsi.fi.upm.es/~ssoo/DSO/


El objetivo de la asignatura es dar a conocer la estructura y funcionamiento internos de los sistemas operativos.
El curso estudia aspectos teóricos y prácticos del diseño de los sistemas operativos convencionales.
Al final de esta asignatura el alumno debería entender y conocer los mecanismos internos de un sistema operativo y ser capaz de modificar, o añadir, componentes de un sistema operativo.

 

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

* Sistemas Operativos: Una visión aplicada. J. Carretero, P. de Miguel, F. García y F. Pérez. McGraw-Hill, 2001 (Primera Ed.)
* Prácticas de Sistemas Operativos: De la base al diseño. J. Carretero, F. García y F. Pérez. McGraw-Hill, 2002(Primera Ed.)
* Operating Systems Concepts. A. Silberschatz y P.B. Galvin. Addison-Wesley, 1999 (Quinta Ed.)
* Operating Systems: Design and Implementation A.S. Tanenbaum. Prentice-Hall, 1997 (Segunda Ed.)

Sistemas Operativos Distribuidos (II)

ASIGNATURA: Sistemas Operativos Distribuidos.

TITULACIÓN: Ingeniería Informática.

CENTRO: Facultad de Informática.

CURSO: Cuarto.

ORGANIZACIÓN:  2º Cuatrimestre.

CRÉDITOS: 9

LINK: http://laurel.datsi.fi.upm.es/~ssoo/SOD/


La asignatura presenta los aspectos más relevantes del diseño e implementación de los sistemas distribuidos.
El alumno deberá desarrollar ejemplos prácticos que le permitirán consolidar los conceptos teóricos.

 

* Introducción
* Comunicación en sistemas distribuidos
* Sistemas de ficheros distribuidos
* Servicio de nombres
* Transacciones, sincronización y coordinación
* Memoria compartida distribuida
* Gestión de procesos
* Fiabilidad y Seguridad

Sistemas de Tiempo Real (II)

ASIGNATURA: Sistemas de Tiempo Real.

TITULACIÓN: Ingeniería Informática.

CENTRO: Facultad de Informática.

CURSO: Cuarto.

ORGANIZACIÓN:  2º Cuatrimestre.

CRÉDITOS: 6

LINK: http://laurel.datsi.fi.upm.es/~ssoo/STR/


El objetivo de esta asignatura es enseñar los conceptos teóricos necesarios para la construcción de Sistemas de Tiempo Real (STR), siguiendo un enfoque de ingeniería del software.

 

* Tema 0. Presentación de la asignatura
* Tema 1. Introducción a los sistemas de tiempo real.
* Tema 2. Diseño de sistemas de tiempo real.
* Tema 3. Introducción a Ada.
* Tema 4. Programación de sistemas grandes
* Tema 5. Sistemas cíclicos
* Tema 6. Fiabilidad y tolerancia de fallos
* Tema 7. Excepciones
* Tema 8. Concurrencia.
* Tema 9. Comunicación y sincronización con datos compartidos.
* Tema 10. Comunicación y sincronización mediante mensajes.
* Tema 11. Sucesos asíncronos y otros mecanismos de control.
* Tema 12. Gestión del tiempo real.
* Tema 13. Esquemas de programas de tiempo real.
* Tema 14. Planificación de tareas.
* Tema 15. Programación de bajo nivel

Sistemas de Tiempo Real y Lenguajes de Programación (3ª Edición). Alan BURNS y Andy WELLINGS. Editorial:ADDISON-WESLEY Iberoamericana España. ISBN: 8478290583

UNIVERSIDAD POLITÉCNICA DE MADRID - E.U. DE INFORMÁTICA

Sistemas Operativos I (ITIS/ITIG)

ASIGNATURA: Sistemas Operativos I.

TITULACIÓN: Ingeniería Técnica en Informática de Sistemas, eIngeniería Técnica en Informática de Gestión.

CENTRO: Escuela Universitaria de Informática (EUI)

CURSO: Segundo.

ORGANIZACIÓN:  2º Cuatrimestre.

CRÉDITOS: 6 totales (3 Teoría + 3 Prácticas). 

LINK: http://www.eui.upm.es/jesteinv/asign/sis_op1.htm


En este curso se ofrece una introducción a los sistemas operativos, en la que el alumno debe adquirir los conceptos básicos y los conocimientos sobre la gestión de sus recursos principales, así como de ciertos mecanismos comunes de su implementación.

 

  1. Introducción a los sistemas Operativos
    1. Evolución de los sistemas operativos.
    2. ¿Qué es un sistema operativo?
    3. Servicios ofrecidos.
    4. Llamadas al sistema.
  1. Gestión de procesos.
    1. Introducción.
    2. Sistemas multiproceso. Paralelismo.
    3. Comunicación y sincronización de procesos.
    4. Threads.
  1. Gestión de memoria.
    1. Introducción y objetivos.
    2. Gestión de memoria sin intercambio ni paginación.
    3. Intercambio de memoria.
    4. Memoria virtual.
    5. Segmentación.
  1. Sistemas de ficheros.
    1. Introducción.
    2. Ficheros.
    3. Directorios.
    4. Mecanismos de protección.
    5. Implementación de los sistemas de ficheros.

 

Teoría:

    1. "Operating System Concepts" (6th.ed.) Abraham Silberschatz & Peter Galvin. John Wiley & Sons, inc. 2002.
    2. "Modern Operating Systems " (2nd ed.) Andrew S. Tanenbaum. Prentice Hall 2001.
    3. "Sistemas Operativos. Una visión aplicada. Pedro de Miguel &, Mc Graw-Hill, 2001.
    4. "Apuntes de S.O. I". Francisco Aylagas. Dpto. de publicaciones E.U.I.

Lenguaje de programación:

    1. "El lenguaje de programación C". Brian W. Kernighan, Dennis M. Ritchie. Prentice-Hall, 1985.
    2. "On to C". P. Henry Winston. Addison-Wesley, 1994.
    3. Curso interactivo del lenguaje C

Sistemas Operativos II (ITIS/ITIG)

ASIGNATURA: Sistemas Operativos II.

TITULACIÓN: Ingeniería Técnica en Informática de Gestión.

CENTRO: Escuela Universitaria de Informática (EUI)

CURSO: Tercero.

ORGANIZACIÓN:  1º Cuatrimestre.

CRÉDITOS: 6 totales (3 Teoría + 3 Prácticas).

LINK: http://www.eui.upm.es/jesteinv/asign/sis_op2.htm

 

 

  1. Llamadas al sistema.
    1. Llamadas al sistema para gestión de procesos.
    2. Llamadas al sistema relacionadas con las señales.
    3. Llamadas al sistema para gestión de ficheros.
    4. Llamadas al sistema para protección.
    5. Llamadas al sistema para la gestión de tiempos.
  1. Un caso de estudio: Minix.
    1. Gestión de procesos.
      1. Estructura interna.
      2. Gestión de procesos.
      3. Comunicación entre procesos.
      4. Planificación de procesos.
    1. Gestión de entrada/salida.
      1. Introducción.
      2. Visión general de la entrada/salida.
      3. El disco RAM.
      4. El gestor de disquete.
      5. El gestor de reloj.
      6. El gestor del terminal.
      7. La tarea del sistema.
    1. Gestión de memoria.
      1. Disposición de la memoria.
      2. Tratamiento de mensajes.
      3. Estructuras de datos del gestor de memoria.
      4. Llamadas al sistema fork, exit y wait.
      5. La llamada del sistema exec.
      6. La llamada del sistema brk.
      7. Tratamiento de señales.
    1. Gestión de ficheros.
      1. Organización del sistema de ficheros.
      2. Mapa de bits.
      3. Nodos-i.
      4. La cache de bloques.
      5. Descriptores de ficheros 
      6. Ficheros especiales.
      7. Llamadas para gestión de ficheros.
  1. Introducción a los Sistemas Operativos Distribuidos y de Tiempo Real.
    1. Introducción a los sistemas operativos distribuidos.
    2. Introducción a la planificación de tiempo real.

 

    1. "Sistemas Operativos: Diseño e Implementación". TANENBAUM A.S. Prentice Hall, 1991.
    2. "UNIX. Programación avanzada. MARQUEZ GARCÍA, F.M. Rama, 1993.
    3. "Sistemas Abiertos". CEARRA ZABALA L.J. Servicio de Publicaciones E.U.I.

Administración de Sistemas Operativos (ITIS/ITIG)

ASIGNATURA: Administración de Sistemas Operativos.

TITULACIÓN: Ingeniería Técnica en Informática de Gestión.

CENTRO: Escuela Universitaria de Informática (EUI)

CURSO: Tercero.

ORGANIZACIÓN:  2º Cuatrimestre.

CRÉDITOS: 6 totales (3 Teoría + 3 Prácticas).

LINK: http://www.eui.upm.es/jesteinv/asign/adm_sop.htm

 

* Comprensión y realización de las tareas más importantes de la administración de sistemas de tipo Unix.

  1. Introducción.
    1. Tareas de administrador.
    2. Sistemas de tipo unix.
    3. Disposición del sistema de ficheros.
  1. Arranque y parada.
    1. Tareas de inicialización.
    2. Ficheros de inicialización.
    3. Tareas de parada.
  1. Instalación y actualización del SW.
    1. Instalación de Linux.
    2. Instalación de paquetes.
    3. Actualización del núcleo.
  1. Gestión de cuentas de usuario.
    1. Creación de una cuenta.
    2. Contraseñas.
    3. Ficheros de inicialización del usuario.
    4. Cuentas restringidas.
    5. Grupos de usuarios.
    6. Borrado de una cuenta.
  1. Gestión de recursos del sistema.
    1. Rendimiento del sistema.
    2. Control de la actividad de la CPU.
    3. Gestión de la memoria.
    4. Gestión del espacio en disco.
  1. Seguridad del sistema.
    1. Introducción.
    2. Líneas de defensa.
    3. SUID y SGID.
    4. Monitorización del sistema.
  1. Automatización de tareas.
    1. Introducción.
    2. Revisión de la shell.
    3. Ejemplos de scripts del sistema.
    4. Ejecución periódica con “cron”.
  1. Sistemas de ficheros.
    1. Tareas de gestión del SF.
    2. Organización del SF.
    3. Montaje de sistemas de ficheros.
    4. Integridad del SF: 'fsck'.
    5. De discos a sistemas de ficheros.
  1. Ficheros de respaldo.
    1. Razones para los ficheros de respaldo.
    2. Planificación de los respaldos.
    3. Comandos de respaldo.
    4. Respaldo de ficheros del sistema.
  1. Instalación de dispositivos.
    1. Introducción.
    2. Ficheros especiales de dispositivo.
    3. Incorporación de un nuevo dispositivo.
    4. Ficheros de configuración de línea.
  1. Gestión de la impresión.
    1. El subsistema de impresión.
    2. Gestión de la impresión en BSD.
    3. Incorporación de una nueva impresora.

1. "Essential System Administration" (2nd Ed.) AELEEN FRISCH. O'Reilly & Associates, Inc.1995.
2. “Linux Administration Handbook”. EVI NEMETH, GARTH SAYDER, TRENT R. HEIN. Prentice-Hall, 2002.
3. "Edición Especial Linux" (3ª. Edición) JACK TACKETT, DAVID GUNTER. Prentice-Hall, 1998.
4. "Unix System Administration Handbook" (3ª. Ed.) EVI NEMETH, GARTH SNYDER, SCOTT SEEBASS, TRENT R. HEIN.
Prentice-Hall, 2001.
5. "Administración de Sistemas Linux: Guía avanzada. M. CARLING, STEPHEN DEGLER, JAMES DENNIS. Prentice-Hall, 1999.

Sistemas Distribuidos (ITIS/ITIG)

ASIGNATURA: Sistemas Distribuidos.

TITULACIÓN: Ingeniería Técnica en Informática de Gestión.

CENTRO: Escuela Universitaria de Informática (EUI)

CURSO: Tercero.

ORGANIZACIÓN:  2º Cuatrimestre.

CRÉDITOS: 6 totales (3 Teoría + 3 Prácticas).

LINK: http://www.eui.upm.es/jesteinv/asign/adm_sop.htm

 

* Comprensión de los aspectos clave que debe presentar un Sistema Distribuido.

1. Introducción a los Sistemas Distribuidos

1. ¿Qué es un Sistema Distribuido?

2. Características de un Sistema Distribuido

3. Ventajas e inconvenientes de un Sistema Distribuido

4. Áreas de aplicación

2. Cuestiones de diseño.

1. Denominación (Servicio de nombres).

2. Comunicación.

3. Estructura del software.

4. Gestión de la Carga de Trabajo.

5. Consistencia.

3. La Comunicación: RPC

1. El modelo de comunicación

2. Estructura de las RPC.

3. Cometido de las RPC.

4. El paso de parámetros

5. Tratamiento de errores.

6. RPC asíncronas.

7. Un ejemplo: RPC de Sun.

8. CORBA.

4. Sistemas Operativos Distribuidos

1. Introducción

2. Estructura del Sistema Operativo

3. Gestión de procesos

5. Sincronización y coordinación

1. Sincronización de relojes

2. Coordinación

1. "Distributed Systems Concepts and Design". Third Edition G. COLOURIS, J. DOLLIMORE., T. KINDBERG. Addison-Wesley, 2001.

2. "Distributed Operating Systems". A. TANENBAUM. Prentice-Hall International, 1995.

3. "Distributed Systems". Second Edition. Edited by SAPE MULLENDER. Addison-Wesley, 1993.

4. "Distributed Operating Systems & Algorithms". CHOW & JOHNSON. Addison-Wesley.

5. "Network Programming Guide". Sun Microsystems, 1990.

6. "Distributed Operating Systems. The logical design". ANDRZEJ GOSCINSKI. Addison-Wesley 1991.

7. "Principles of Concurrent and Distributed Programming". BEN-ARI. Prentice-Hall, 1990.

8. "Distributed Algorithms and Protocols". MICHAEL RAYNAL. John Wiley & sons, 1988.

9. "Distributed Algorithms". NANCY A. LYNCH. Morgan Kaufmann, 1996.

10. "Inside Corba". THOMAS J. MOWBRAY, WILLIAN A. RUH. Addison-Wesley, 1997.

11. "Sistemas Distribuidos: Notas y transparencias". FRANCISCO AYLAGAS E ISABEL MUÑOZ. Dpto. Publicaciones E.U.I, 2000.

 

 

UNIVERSIDAD PONTIFICIA COMILLAS

Sistemas Operativos I (II)

ASIGNATURA: Sistemas Operativos I.

TITULACIÓN: Ingeniería Informática.

CENTRO: Escuela Técnica Superior de Ingeniería (ICAI)

CURSO: Segundo.

ORGANIZACIÓN:  2º Cuatrimestre.

CRÉDITOS: 7,5 totales. 

LINK: aquí

La parte teórica y los problemas del curso pretenden que el alumno aprenda:

Las sesiones de laboratorio ofrecen al alumno la oportunidad de aprender a diseñar partes de un sistema operativo: Nachos.

1. Introducción a los sistemas operativos

Componentes del sistema. Gestión de procesos. Gestión de la memoria principal. Gestión de la memoria secundaria. Gestión de entrada y salida. Gestión de ficheros. Protección. Intérprete de comandos. Servicios del sistema operativo. Llamadas al sistema. Programas del sistema. Estructura del sistema. Diseño e implantación.

2. Procesos (5 horas) + Problemas

Conceptos. Operaciones con procesos. Relaciones entre procesos: Independientes y Cooperativos. Problema del productor y el consumidor: Buffer ilimitado y Buffer limitado. Tareas. Comunicación entre procesos: Conceptos, Implantación, Comunicación directa, Comunicación indirecta. Buffers. Errores y recuperación. Sistemas operativos actuales: Windows 2000, Unix - Linux, Z/OS.

3. Planificación de la UCP (7 horas) + Problemas

Conceptos básicos. Planificadores: Planificador a largo plazo, Planificador a medio plazo, Planificador a corto plazo. Cambio de contexto. Despachador. Criterios de planificación. Algoritmos de planificación: Por orden de llegada, “Primero el más breve”, “Primero al que le queda menos tiempo”, Cálculo de la duración de la siguiente ráfaga, Planificación por prioridades, Planificación circular, Cola de múltiples niveles, Cola de múltiples niveles con realimentación, Algoritmo de la lotería. Sistemas operativos actuales: Windows
2000, Unix - Linux, Z/OS.

4. Sincronización de procesos (7 horas) + Problemas

Generalidades. El problema de la sección crítica: Algoritmo 1, Algoritmo 2, Algoritmo 3 o de Peterson. Hardware de sincronización. Semáforos: Ejemplos de utilización de semáforos, Bloqueo mutuo, Bloqueo indefinido, Problemas de sincronización, Productores y consumidores, Lectores y escritores, Filósofos chinos, Problemas con los semáforos. Monitores: Productores y consumidores, Filósofos chinos, Problemas con los monitores. Sistemas operativos actuales: Windows 2000, Unix - Linux, Z/OS.

5. Bloqueo Mutuo (5 horas) + Problemas

Problema. Modelo del sistema. Tratamiento de los bloqueos mutuos: Prevención de bloqueos mutuos, Exclusión mutua, Retención y espera, Falta de expropiación, Espera circular, Predicción de bloqueos mutuos, Algoritmo del Banquero, Detección de bloqueos mutuos. Utilización de los algoritmos de detección. Recuperación. Enfoque combinado. Sistemas operativos actuales: Windows 2000, Unix - Linux, Z/OS.

6. Gestión de la memoria (10 horas) + Problemas

Conceptos básicos: Dirección lógica y dirección física, Caja de traducción, Carga de rutinas, Superposiciones, Intercambio. Asignación en una sola partición. Asignación en particiones múltiples: Asignación del espacio libre, Fragmentación. Paginación: Implantación de la tabla de páginas, Paginación con múltiples niveles, Tabla de páginas invertida, Páginas compartidas. Conceptos de memoria virtual. Solicitud de página. Prestaciones. Reemplazo de página. Algoritmos de reemplazo. Asignación de marcos. Hiperpaginación.. Segmentación. Segmentos compartidos. Segmentación con paginación. Sistemas operativos actuales: Windows 2000, Unix - Linux, Z/OS.

7. Almacenamiento secundario: Sistemas de ficheros + Problemas

Conceptos. Funciones. Buffer. Tipos de buffer. Organización de un disco. Prestaciones. Planificación de un disco. Estructura de los ficheros, Atributos, Operaciones sobre ficheros.
Métodos de acceso. Estructura de los directorios: Información contenida en los directorios, Operaciones sobre directorios, Un solo nivel, Dos niveles, Árboles, Grafos sin ciclos y generales.
Estructuras de los sistemas de fichero. Métodos de asignación de espacio: Asignación contigua, Asignación enlazada, Asignación indexada, Prestaciones. Gestión del espacio libre: Vector de bits, Recuperación. Implantación de los directorios: Lista lineal, Tabla hash. Prestaciones. Copia de seguridad y recuperación. Gestión de los discos: Formato, Bloque de arranque, Bloques dañados. Memoria secundaria. Fiabilidad de los discos. Almacenamiento estable. Sistemas operativos actuales: Windows 2000, Unix - Linux, Z/OS.

1. Operating Systems Concepts. Silberschatz, A y otros, 6ª edición, Addison-Wesley, 2002.
2. Sistemas Operativos. Silberschatz, A y otros, 5ª edición, Addison-Wesley-Longman, 1999. (Traducción al español de la 5ª edición de la referencia 1)
3. Sistemas Operativos. Stallings, William. Prentice Hall, 2001.
4. Modern Operating Systems. Tanenbaum, A.S. Prentice Hall, 2001.
5. Operating Systems: A Modern Perspective. Nutt, G.J. Benjamin/Cummings, 1997.
6. Sistemas Operativos (Apuntes de clase). Tavera, M. L. Universidad Pontificia Comillas (Departamento de Reprografía), 2003.

Sistemas Operativos II (II)

ASIGNATURA: Sistemas Operativos II.

TITULACIÓN: Ingeniería Informática.

CENTRO: Escuela Técnica Superior de Ingeniería (ICAI)

CURSO: Tercero.

ORGANIZACIÓN:  1º Cuatrimestre.

CRÉDITOS: 6totales. 

LINK: aquí

1.- Introducción

Explicación de lo que se entiende por sistema distribuido, de sus ventajas e inconvenientes. Descripción de los conceptos básicos necesarios para entenderlos, como pueden ser la tecnología de comunicaciones (Ethernet, token ring y ATM) y los protocolos internet y TCP/IP.

2.- Modelo cliente servidor

En qué consiste, para qué sirve. Concepto de middleware. Arquitecturas de aplicación. Opiniones diversas. Conceptos básicos sobre los tipos de servicios necesarios: Procedimientos, ficheros, directorios, tiempo y seguridad. Ejemplos.

3.- Comunicación entre procesos

Transmisión en grupo y cliente servidor. Mensajes. Envío y recepción de mensajes. Comunicaciones síncronas y asíncronas. Comunicación directa e indirecta. Procedimientos locales y remotos (RPC). Conceptos de RPC. Flujo de la información. Conversión de datos. Localización. Gestión de errores. Tipos de operación. Tipos de RPC.

4.- Diseño de aplicaciones

Ejemplo de diseño de aplicaciones cliente servidor en DCE.

5.- Servicio de tiempo

Conceptos. Sincronización de relojes físicos. Relojes físicos. Tiempo universal. Algoritmos de sincronización de relojes físicos. Tiempo lógico y relojes lógicos. Distribución de la coordinación: Algoritmos de Lamport y de Fidge. Resumen.

6.- Servicio de ficheros

Problemas de diseño. Transparencia. Nomenclatura. Caché. Coherencia. Replicación. Tipos. Coherencia de los datos. Ejemplos: NFS y Andrew File System.

7.- Servicio de nombres

Conceptos básicos. Navegación. Caché. Ejemplos: X.500 y DSN.

8.- Proceso de transacciones

Conceptos. Propiedades ACID. Proceso de transacciones distribuido. Diseño de transacciones a prueba de fallos: Histórico y copia privada, confirmación en una y en dos fases. Diseño de
transacciones a prueba de concurrencia. Serialización. Problemas de concurrencia. Coherencia de los datos. Protocolos de concurrencia: Bloqueo en dos fases y en dos fases estricto; control de concurrencia optimista; clasificación cronológica.

9.- Sincronización distribuida

Conceptos. Algoritmos: Distribuido, centralizado y del testigo. Elección del coordinador. Algoritmos del matón y del testigo.

10. Detección de bloqueos mutuos en sistemas distribuidos

Condiciones. Modelo del sistema. Tipos de tratamiento. Métodos de prevención: Espera o muerte y herida o espera. Métodos de detección y eliminación: Control centralizado y control distribuido. Bloqueos fantasma. Detección centralizada y distribuida. Algoritmo de la caza de arcos. Problemas. Métodos de resolución.

11.- Seguridad y protección

Conceptos. Tipos de ataque. Control de los ataques. Seguridad en las transacciones. Cifrado: Claves simétrica y asimétrica. Firma electrónica. Integridad de los textos. Certificados digitales. Autoridad certificadora. Protocolos de autentificación. Algoritmo Kerberos. Fallo y corrección.

    1. Sistemas distribuidos: conceptos y diseño. Coulouris, C. y otros. Addison-Wesley, 2001.
    1. Distributed Operating Systems. Tanenbaum, A.S y van Steen. Prentice Hall, 2002.
    1. Concurrent Systems. Bacon, J. Addison-Wesley, 1998.
    1. Distributed Operating Systems and Algorithms. Chow, R. y otros. Addison-Wesley, 1997.
    2. Distributed Database Systems. Özsu y Valduriez, Prentice Hall 1999
    3. Sistemas Operativos II (Apuntes de clase). Tavera, M. L. Universidad Pontificia Comillas (Departamento de Reprografía), 2002.

Sistemas Operativos I (ITIG)

ASIGNATURA: Sistemas Operativos I.

TITULACIÓN: Ingeniería Ténica en Informática de Gestión.

CENTRO: Escuela Técnica Superior de Ingeniería (ICAI)

CURSO: Segundo.

ORGANIZACIÓN:  Anual.

CRÉDITOS: 9 totales. 

LINK: aquí

Tema 1: CONCEPTO DE SISTEMA OPERATIVO

Conceptos HW: Registros, buses, reloj e interrupciones
Concepto de Sistema Operativo
Perspectivas
Ejecución de una orden o función del SO (Llamada al SO)
Estructura de los Sistemas Operativos
Tipos de Sistemas Operativos
Requisitos funcionales de un SO
Sistemas Operativos Comerciales

TEMA 2: LOS PROCESOS

La ejecución de programas por el usuario
La multiprogramación
Prioridades de los procesos
Servicios del SO: ejecutar programas, abortarlos, ...
La ejecución de programas en el procesador: los procesos
Algoritmos de planificación
Sistemas Operativos Comerciales

Tema 3: ENTRADA/SALIDA

La E/S vista por el usuario
La E/S hardware para el SO
E/S Software
Sistemas Operativos Comerciales

TEMA 4: GESTIÓN DE MEMORIA

La gestión de memoria vista por el usuario
Memoria Real
Swapping
Memoria Virtual
Sistemas Operativos Comerciales

TEMA 5: GESTIÓN DE LA INFORMACIÓN

El acceso a la información por el usuario
El acceso a la información en el SO
Seguridad
Sistemas Operativos Comerciales

TEMA 6: SINCRONIZACIÓN Y COOPERACIÓN

Problemas clásicos
Exclusión mutua: algoritmos
Semáforos: simples y con colas

Monitores
Mensajes
Interbloqueo
Sistemas Operativos Comerciales

TEMA 7: SISTEMAS DISTRIBUIDOS

Concepto
Conceptos básicos de comunicaciones
Distribución de servicios
Compartición de memoria distribuida
Sincronización de procesos
Tratamiento de fallos
Técnicas de implantación
Modelos de gestión de Sistemas Distribuidos

TEMA 8: SISTEMAS MULTIPROCESADOR

Introducción a la programación paralela
Clasificación
Planificación del procesador
Gestión de memoria
Sincronización

Prácticas:

1 prácticas de utilización de LINUX/UNIX
2 prácticas de programación

Sistemas Operativos Comerciales de Red (ITIG)

ASIGNATURA: Sistemas Operativos Comerciales de Red.

TITULACIÓN: Ingeniería Ténica en Informática de Gestión.

CENTRO: Escuela Técnica Superior de Ingeniería (ICAI)

CURSO: Tercero.

ORGANIZACIÓN:  1º Cuatrimestre.

CRÉDITOS: 4,5 totales. 

LINK: aquí

Que el alumno se familiarice con conceptos referentes a distintos sistemas Unix ampliamente difundidos.
Que el alumno sea capaz de usar con total soltura las herramientas que proporcionan distintos sistemas Unix basados tanto en PC como en servidores.
Que el alumno sea capaz de configurar un sistema operativo Unix para que esté en perfecto estado de funcionamiento

1. Introducción a Unix system V
2. Usando Unix/Linux

2.1. El sistema de ficheros.
2.2. Control de procesos.
2.3. Introducción el editor vi.
2.4. La Shell
2.5. Introducción a la Programación de la Shell.

3. Administrando Unix/Linux

3.1. Gestión de Usuarios
3.2. Gestión de Almacenamiento
3.3. Configuración de dispositivos
3.4. Planificación de tareas (cron)
3.5. Paginación (swapp)

4. Comunicaciones

4.1. Configuración y arranque de servicios de red.
4.2. Conceptos de NFS.
4.3. Resolución de nombres DNS.
4.4. Introducción a NTP (Network Time Protocol).

Sistemas Distribuidos (ITIG)

ASIGNATURA: Sistemas Distribuidos.

TITULACIÓN: Ingeniería Ténica en Informática de Gestión.

CENTRO: Escuela Técnica Superior de Ingeniería (ICAI)

CURSO: Tercero.

ORGANIZACIÓN:  2º Cuatrimestre.

CRÉDITOS: 4,5 totales. 

LINK: aquí

La asignatura consta de una parte teórica y otra de prácticas en una proporción aproximada de 1/3 y 2/3 respectivamente.

Teoría:

1. Introducción a los sistemas distribuidos

- Historia y motivación (ventajas y desventajas, conceptos básicos, grados de distribución)
- Clasificaciones (tipos de aplicaciones, requisitos)

2. Modelo Cliente-Servidor

- Servidores de ficheros. Conceptos. Casos de estudio.
- Replicación. Cliente-servidor.
- Llamadas a procedimientos remotos (RPC). Conceptos y usos.
- Sistemas operativos distribuidos. Definiciones y técnicas.
- Control distribuido

3. Arquitecturas de Internet

- Arquitecturas de Internet
- Arquitecturas IT (CRM, Middleware...)
- Conceptos y configuración de dispositivos de redes
- Arquitecturas de almacenamiento y backup

Prácticas:

4. Desarrollo y configuración de una arquitectura de Internet basada en tres capas con los siguientes elementos: Presentación (WebServer), Aplicación (Application Server–J2EE), Datos (Base de datos)


UNIVERSIDAD REY JUAN CARLOS

Sistemas Operativos (II/ITIS/ITIG)

ASIGNATURA: Sistemas Operativos.

TITULACIÓN: Ingeniería Técnica en Informática de Gestión, e Ingeniería Técnica en Informática de Sistemas.

CENTRO: Escuela Superior de Ciencias Experimentales y Tecnología.

CURSO: Segundo (ITIS/ITIG), Tercero (II).

ORGANIZACIÓN:   2º Cuatrimestre (ITIS/ITIG), 1º Cuatrimestre (II).

CRÉDITOS: 7,5 totales (4.5 Teoría + 3 Prácticas.)

LINK: http://gsyc.escet.urjc.es/docencia/asignaturas/sistemas_operativos/

 

El alumno deberá familiarizarse con los conceptos fundamentales de los sistemas operativos. Deberá conocer la máquina abstracta que proporcionan los sistemas operativos a través de los servicios que ofrecen. También deberá conocer los algoritmos que permiten a los sistemas operativos gestionar los diferentes recursos físicos y lógicos de un sistema de computación.

 

En esta asignatura se tratan los Sistemas Operativos. El temario en principio se adecuará a la siguiente planificación:

    1. Introducción a los sistemas operativos
    2. Concurrencia
    3. Procesos
    4. Gestión de memoria.
    5. Sistemas de ficheros
    6. Entrada/salida

  

El alumno dispone para aprobar la asignatura de dos convocatorias al año, una en junio y otra en septiembre. Para aprobar una convocatoria el alumno deberá obtener una nota de al menos un 5 sobre 10.

La nota de junio se calculará en base a la suma de las calificaciones de las siguientes tres pruebas y se permitirá el uso de libros en los exámenes teóricos de esta asignatura.

· Un parcial a realizar a mitad de cuatrimestre (a la vuelta de semana santa). El parcial es eliminatorio en el sentido de que si se pasa con éxito no es preciso examinarse de dicha materia en el examen final. La puntuación máxima es de 3.5 puntos, que contribuyen directamente a la nota total.

·  La prueba final de teoría será un examen que se realizará al final del cuatrimestre en la fecha oficial del exámen de la asignatura. Constará de dos partes, cada una con puntuación máxima de 3.5 puntos, que contribuyen directamente a la nota total. La primera parte puede obviarse si se ha aprobado el exámen parcial.

·  Las prácticas contribuyen con un máximo de 3 puntos a la nota total.

La nota de septiembre se calculará en base a la suma de las calificaciones de dos pruebas:

· Una prueba de teoría que contribuyen con un máximo de 7 puntos a la nota total. Esta prueba consta de toda la materia impartida durante el curso, no teniéndose en cuenta el exámen parcial ni el exámen final de junio.

· Las práctica de septiembre que contribuye con un máximo de 3 puntos a la nota total.

La nota total de teoría de junio se guarda hasta septiempre en caso de suspender las prácticas; igualmente sucede con la nota de prácticas. No se guarda ninguna nota de un curso para otro.

En caso de copia en los exámenes o en las prácticas, se suspenderá la convocatoria correspondiente a todos los alumnos implicados, y en la siguiente convocatoria se les hará (en caso de que se presenten) un examen oral además del examen escrito.

 

    1. A.S. Tanenbaum y A.S. Woodhull, Sistemas Operativos: Diseño e implementación, Prentice-Hall, 1998, Segunda Edición. 
    2. A. Silberschatz y P. Galvin, Operating System Concepts, Addison Wesley, 1998, Quinta Edición. 
    3. A. Silberschatz, J. Peterson y P. Galvin, Sistemas Operativos. Conceptos fundamentales, Addison Wesley, 1994, Tercera Edición. 
    4. Luis Cearra, Sistemas Abiertos, Publicaciones de la E. U. Informática, UPM, 1998. 
    5. Michael B. Feldman y Elliot B. Koffman, Ada 95, Problem Solving and Program Design, 2nd Edition, Addison-Wesley, 1996. 
    6. B.W. Kernighan y R. Pike, El entorno de programación UNIX, Prentice-Hall, 1987. 
    7. M.J. Rochkind, Advanced UNIX Programming, Prentice-Hall, 1986.
    8. Frisch, Essential System Administration, O'Reilly & Associates, 1995. 
    9. Brian W Kernighan, Rob Pike. The Practice of Programming. Addison-Wesley. 1999 
    10. Andrew S. Tanenbaum, Modern Operating Systems. Prentice-Hall, 1992 
    11. Maurice J. Bach: The Design of the Unix Operating System. Prentice-Hall, 1987 
    12. Samuel J. Leffer, Marshall Kirk McKusick, Michael J. Karels, John S. Quarterman: The Design and Implementation of the 4.3BSD UNIX Operating System. Addison-Wesley, third edition, 1989 
    13. G. Coulouris, J. Dollimore, T. Kindberg: Distributed Systems Concepts and Design. Addsion-Wesley, second edition, 1994 
    14. Alan Burns, Andy Wellings: Concurrency in Ada. Cambridge University Press, 1995. ISBN 0 521 41471 7

 

Ampliación de Sistemas Operativos (ITIS/ITIG)

ASIGNATURA: Ampliación de Sistemas Operativos.

TITULACIÓN: Ingeniería Técnica en Informática de Gestión e Ingeniería Técnica en Informática de Sistemas.

CENTRO: Escuela Superior de Ciencias Experimentales y Tecnología.

CURSO: Tercero.

ORGANIZACIÓN:   1º Cuatrimestre.

CRÉDITOS: 6 totales (3 Teoría + 3 Prácticas).

LINK: http://gsyc.escet.urjc.es/docencia/asignaturas/ampliacion_ssoo/


El curso anterior, en la asignatura de Sistemas Operativos se estudiaron los conceptos de concurrencia, interfaz de un sistema operativo y la gestión de recursos del sistema. Estos conceptos presuponian un sistema centralizado.

Con el advenimiento en estas dos últimas décadas de las redes de ordenadores, el campo de los sistemas operativos se ha ampliado para poder gestionar de manera coordinada esos recursos en red.

A estos nuevos sistemas operativos ampliados se les llama Sistemas Operativos Distribuidos. Este entorno de computación distribuido introduce problemas nuevos debidos a que disponemos de muchos recursos que presentan características muy diferentes. No disponemos de memoria compartida entre todos los nodos, por lo que no tenemos un único ``estado'' global ni en el sistema ni en las aplicaciones. Los procesos tardan tiempo en comunicarse entre sí, los nodos son de arquitecturas diferentes, las redes que empleamos son también de arquitecturas diferentes. Disponemos de mucha memoria y CPU en unos nodos (PCs, Sparcs, etc.) y de muy poca memoria y CPU en otros (teléfonos, Palms, etc.). Es más dificil hacer aplicaciones que gestionen recursos en puntos diversos, con arquitecturas heterogéneas e interconectados por diversas redes.

El objetivo de la asignatura es el estudio de los sistemas operativos distribuidos y la programación de aplicaciones en dichos sistemas.

 

En esta asignatura se tratan los Sistemas Operativos Distribuidos. El temario contemplará los siguientes temas:

    1. Introducción a los sistemas operativos distribuidos (SOD).
    2. Sistemas de Ficheros Distribuidos.
    3. Comunicación en SOD.
    4. Sincronización en SOD.
    5. Procesos en SOD.

El alumno dispone para aprobar la asignatura de dos convocatorias al año, una en febrero y otra en septiembre. Para aprobar una convocatoria el alumno deberá obtener una nota de al menos un 5 sobre 10 en teoría y 5 sobre 10 en prácticas.

La nota de Febrero se calculará en base a la suma de las calificaciones de las siguientes tres pruebas y se permitirá el uso de libros en los exámenes teóricos de esta asignatura:

· Un parcial a realizar hacia mitad del curso. El parcial es eliminatorio en el sentido de que si se pasa con éxito no es preciso examinarse de dicha materia en el examen final. La puntuación máxima es de 2.5 puntos, que contribuyen directamente a la nota total.

· La prueba final de teoría será un examen que se realizará al final del cuatrimestre en la fecha oficial del exámen de la asignatura. Constará de dos partes, cada una con puntuación máxima de 2.5 puntos, que contribuyen directamente a la nota total. La primera parte puede obviarse si se ha aprobado el exámen parcial.

· Las prácticas contribuyen con un máximo de 5 puntos a la nota total.

La nota de septiembre se calculará en base a la suma de las calificaciones de dos pruebas:

· Una prueba de teoría que contribuyen con un máximo de 5 puntos a la nota total. Esta prueba consta de toda la materia impartida durante el curso, no teniéndose en cuenta el exámen parcial ni el exámen final de febrero.

· Las práctica de septiembre que contribuyen con un máximo de 5 puntos a la nota total.

La nota total de teoría de febrero se guarda hasta septiempre en caso de suspender las prácticas; igualmente sucede con la nota de prácticas. No se guarda ninguna nota de un curso para otro.

La nota final será la media de teoría y prácticas.

Se permitirá el uso de libros en los exámenes teóricos de esta asignatura.

Para la convocatoria de septiembre se considerará la mejor nota sacada entre febrero y septiembre, tanto en las pruebas de teoría como en las de prácticas.

En caso de copia en los exámenes o en las prácticas, se suspenderá la convocatoria correspondiente a todos los alumnos implicados, y en la siguiente convocatoria se les hará (en caso de que se presenten) un examen oral además del examen escrito.


    1. A.S. Tanenbaum, Distributed Operating Systems, Prentice-Hall, 1995.
    2. G. Coulouris, J. Dollimore, T. Kindberg: Distributed Systems Concepts and Design. Addsion-Wesley, second edition, 1994
    3. Brian W Kernighan, Rob Pike. The Practice of Programming. Addison-Wesley. 1999
    4. B.W. Kernighan y R. Pike, El entorno de programación UNIX, Prentice-Hall, 1987.
    5. A.S. Tanenbaum y A.S. Woodhull, Sistemas Operativos: Diseño e implementación, Prentice-Hall, 1998 2 ed.
    6. Silberschatz y P. Galvin, Operating System Concepts, Addison Wesley, 1998, Quinta Ed.
    7. Silberschatz, J. Peterson y P. Galvin, Sistemas Operativos. Conceptos fundamentales, Addison Wesley, 1994, Tercera Ed.
    8. Luis Cearra, Sistemas Abiertos, Publicaciones de la E. U. Informática, UPM, 1998.
    9. M.J. Rochkind, Advanced UNIX Programming, Prentice-Hall, 1986.
    10. Frisch, Essential System Administration, O'Reilly & Associates, 1995.
    11. Andrew S. Tanenbaum, Modern Operating Systems. Prentice-Hall, 1992
    12. Maurice J. Bach: The Design of the Unix Operating System. Prentice-Hall, 1987
    13. Samuel J. Leffer, Marshall Kirk McKusick, Michael J. Karels, John S. Quarterman: The Design and Implementation of the 4.3BSD UNIX Operating System. Addison-Wesley, third edition, 1989

 

Diseño de Sistemas Operativos (II)

ASIGNATURA: Diseño de Sistemas Operativos.

TITULACIÓN: Ingeniería Informática.

CENTRO: Escuela Superior de Ciencias Experimentales y Tecnología.

CURSO: Cuarto.

ORGANIZACIÓN:   2º Cuatrimestre.

CRÉDITOS: 7,5 totales (0 Teoría + 7,5 Prácticas).

LINK: http://gsyc.escet.urjc.es/docencia/asignaturas/osd/


Un sistema operativo es software, un programa que ejecuta sobre el hardware para ofrecer unos servicos. Hoy dia, el hardware es siempre una red de ordenadores. El objetivo de la asignatura es comprender realmente cómo funciona un sistema operativo estudiando su código fuente. Como sistema objeto de estudio vamos a utilizar Plan 9 de Bell Labs. El sistema que usa hoy dia la gente que hizo UNIX.

En esta asignatura se tratan los Sistemas Operativos Distribuidos. El temario contemplará los siguientes temas:

1. Introducción a Plan 9 y a la asignatura.
2. Introducción al código fuente de Plan 9.
3. Arranque del primer proceso.
4. Mecanismo de llamadas al sistema e interrupciones.
5. Gestión de errores.
6. Descriptores de fichero y proxies.
7. Uso de ficheros en red.
8. Seguridad en Plan 9.
9. Backups y administración.

Dichos temas se abordarán exponiendo los conceptos teóricos necesarios para la comprensión del código, y estudiando el código fuente. En prácticas modificaremos dicho código para hacer que Plan 9 haga alguna cosa de un modo un poco diferente.

Vamos a utilizar un editor y la jerarquía de directorios que contiene el código. Antes de ver cada trozo de código, utilizaremos algunas transparencias para ver cual es el esquema del código a estudiar.

Disponemos de unos apuntes para utilizar como guía, y de diversa documentación mencionada en los apuntes, que pueden encontrarse en la sección de recursos, en la biblioteca, y en reprografía.

El planteamiento general de la asignatura consiste en ver cada parte del sistema que estamos estudiando siguiendo los siguientes pasos:

1. El profesor os cuenta una pequeña introducción al código que se va a ver en esta sesión, para intentar ver cual es la idea central del mismo y que aspectos son interesantes.
2. Se discuten las ideas y el contenido del código que se habrá asignado previamente como material de lectura para el tema en cuestión. Este punto consta de dos partes:

3. Se proponen y discuten ideas sobre cómo aplicar lo aprendido para realizar aplicaciones en la industria una vez concluida la carrera.
4. Se asigna el código a leer para el concepto siguiente y se proponen preguntas a contestar una vez leído el mismo.

Como puede verse, el final de cada parte plantea tareas para la siguiente, por lo que la primera es un tanto singular dado que no hay material asignado para leer con anterioridad. Por lo tanto, en la sesión 0 haremos una especie de simulación del procedimiento anteriormente descrito, y asignaremos lectura para la siguiente. Ten en cuenta que en general cada tema tiene varios conceptos y por lo tanto varias sesiones, no obstante, seguiremos el orden en que aparecen en el temario mostrado arriba.

En los apartados siguientes puedes encontrar los materiales de lectura según avance la asignatura.

    1. A.S. Tanenbaum, Distributed Operating Systems, Prentice-Hall, 1995.
    2. G. Coulouris, J. Dollimore, T. Kindberg: Distributed Systems Concepts and Design. Addsion-Wesley, second edition, 1994
    3. Brian W Kernighan, Rob Pike. The Practice of Programming. Addison-Wesley. 1999
    4. B.W. Kernighan y R. Pike, El entorno de programación UNIX, Prentice-Hall, 1987.
    5. A.S. Tanenbaum y A.S. Woodhull, Sistemas Operativos: Diseño e implementación, Prentice-Hall, 1998 2 ed.
    6. Silberschatz y P. Galvin, Operating System Concepts, Addison Wesley, 1998, Quinta Ed.
    7. Silberschatz, J. Peterson y P. Galvin, Sistemas Operativos. Conceptos fundamentales, Addison Wesley, 1994, Tercera Ed.
    8. Luis Cearra, Sistemas Abiertos, Publicaciones de la E. U. Informática, UPM, 1998.
    9. M.J. Rochkind, Advanced UNIX Programming, Prentice-Hall, 1986.
    10. Frisch, Essential System Administration, O'Reilly & Associates, 1995.
    11. Andrew S. Tanenbaum, Modern Operating Systems. Prentice-Hall, 1992
    12. Maurice J. Bach: The Design of the Unix Operating System. Prentice-Hall, 1987
    13. Samuel J. Leffer, Marshall Kirk McKusick, Michael J. Karels, John S. Quarterman: The Design and Implementation of the 4.3BSD UNIX Operating System. Addison-Wesley, third edition, 1989

Diseño y Administración de Sistemas y Redes (II)

ASIGNATURA: Diseño y Administración de Sistemas y Redes.

TITULACIÓN: Ingeniería Informática.

CENTRO: Escuela Superior de Ciencias Experimentales y Tecnología.

CURSO: Quinto.

ORGANIZACIÓN:   2º Cuatrimestre.

CRÉDITOS: 6 totales.

LINK: http://gsyc.escet.urjc.es/foros/dasr


Contenidos teóricos (tentativos)

1. Administración de sistemas tipo Unix.
2. Instalación de nuevos servicios en sistemas tipo Unix.
3. Monitorización y administración de redes.

Contenidos prácticos (tentativos)

1. Administración del sistema.
2. Instalaciones de nuevos servicios.
3. Evaluación y monitorización de redes.

 

Otras asignaturas del área de Sistemas Operativos

ASIGNATURA: Fundamentos de Sistemas Distribuidos.

TITULACIÓN: Ingeniería Informática.

CENTRO: Escuela Superior de Ciencias Experimentales y Tecnología.

CURSO: Tercero.

ORGANIZACIÓN:   2º Cuatrimestre.

CRÉDITOS: 6 totales.

 

ASIGNATURA: Construcción de Sistemas Críticos.

TITULACIÓN: Ingeniería Informática.

CENTRO: Escuela Superior de Ciencias Experimentales y Tecnología.

CURSO: Quinto.

ORGANIZACIÓN:   Optativa.

CRÉDITOS: 6 totales.