UNIVERSIDAD DE ALMERÍA

Sistemas Operativos (ITIS/ITIG)

ASIGNATURA: Sistemas Operativos.

TITULACIÓN: 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: Segundo.

ORGANIZACIÓN: 1º Cuatrimestre.

CRÉDITOS: 6 totales (4 Teoría + 2 Práctica).

LINK: http://www.ual.es/~rguirado/so/so.html

Se pretende que el alumno aprenda las nociones básicas sobre sistemas operativos, y algunos conceptos de su diseño, a la vez que adquiera la capacidad de utilizar los  mismos.

Programa de Teoría

TEMA 1 - Visión general de los sistemas operativos

1. Concepto de Sistema Operativo
2. Evolución de los sistemas operativos
3. Tipos de sistemas operativos
4. Visión de los sistemas operativos por parte de los usuarios

TEMA 2 - Procesos: concurrencia, sincronización y comunicación

1. Introducción
2. Conceptos básicos
3. Primitivas de sincronización y comunicación

TEMA 3 - El núcleo de un sistema operativo. Gestión de procesos

1. Introducción. Funciones del núcleo de un sistema operativo
2. Requisitos básicos de hardware
3. Gestión de interrupciones
4. Gestión de procesos
5. Implementación de primitivas de comunicación y sincronización

TEMA 4 - Asignación de recursos

1. Introducción. Concepto de recurso
2. Interbloqueos

TEMA 5 - Gestión de la memoria central

1. Conceptos básicos relacionados con el almacenamiento
2. Gestión de memoria en monoprogramación/multiprogramación
3. Multiprogramación con almacenamiento real
4. Multiprogramación con almacenamiento virtual
5. Swapping (Intercambio)

TEMA 6 - Gestión de Entrada/Salida

1. Introducción
2. Principios del hardware de E/S
3. Principios del software de E/S
4. Un caso de estudio: Driver de disco

TEMA 7 - El sistema de archivos

1. Objetivos y funciones del sistema de archivos
2. El sistema de archivos desde el punto de vista del usuario
3. Diseño del sistema de archivos

Programa de Prácticas

Práctica 1: Introducción al sistema operativo UNIX y al lenguaje C. (2 horas)

Práctica 2: Implementación de una Shell del sistema operativo usando fork( ). (4 horas)

Práctica 3: Implementación de un problema resuelto mediante semáforos. (4 horas)

Práctica 4: Implementación de un programa que utilice paso de mensajes. (6 horas)

Práctica 5: Implementación de un programa que utilice memoria compartida. (4 horas)

Se realizará un examen en Febrero y otro en Septiembre. En ambos exámenes se tendrán en cuenta las prácticas realizadas durante el curso 2002-2003. Para aprobar la asignatura, es requisito indispensable tener aprobadas las prácticas.

1. A. S. Tanenbaum. "Sistemas operativos. Diseño e implementación" (2ª edición). Ed. Prentice-Hall, 1998.

2. A. S. Tanenbaum. "Sistemas operativos modernos" (2ª edición). Ed. Prentice-Hall, 2001.

3. William Stallings. "Sistemas operativos" (4ª edición). Ed. Prentice-Hall, 2001.

4. A. Silberschatz y P. Galvin. "Sistemas operativos" (5ª edición). Ed. Addison Wesley Longman, 1999

5. J. Carretero, F. García, P. De Miguel y .... "Sistemas operativos. Una visión aplicada". Ed. McGraw-Hill, 2001.

6. A. M. Lister. "Fundamentos de los sistemas operativos".

7. Harvey M. Deitel. "Sistemas operativos" (2ª edición). Ed. Addison-Wesley, 1993.

8. Milan Milenkovic. "Sistemas operativos: Conceptos y diseño" (2ª edición). Ed. McGraw-Hill, 1994.

 

Administración de Sistemas Operativos (ITIS/ITIG)

ASIGNATURA: Administración de Sistemas Operativos.

TITULACIÓN: 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: Optativa, 1º Cuatrimestre.

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

LINK: http://www.ual.es/Universidad/Depar/LengComp/programas/Optativas/ASO.htm

- Programa de teoría

1. Visión general de la administración de un sistema operativo

2. Instalación de un SO

3. Administración de usuarios y de entornos de usuarios

4. Administración de archivos

5. Administración de una red

6. Arranque / Parada del SO

7. Administración de terminales e impresoras

8. Copias de seguridad

9. Monitorización del sistema

10. Seguridad del sistema

- Programa de prácticas de laboratorio

1. Determinar un conjunto de operaciones de administración de un sistema. Establecer las restricciones que se deben imponer en un sistema (usuarios, equipos, ...)

2. Preparación del equipo informático e instalaciónde un Sistema Operativo

3. Instalar X-Windows.

4. Crear cuentas de usuario y definir un perfil único para 2 usuarios distintos

5. Determinar la secuencia de arranque de un Sistema Operativo

6. Generar un disco con el gestor de arranque

7. Configurar WNT y Linux en red

8. Conectividad con Novell Netware

9. Monitorización del sistema

10. Establecer seguridad en un sistema

1. Tackett J. & Gunter D. “Utilizando Linux. Edición especial”. 2ª edición. Ed. QUE 1996

2. Martinez J.M. & Martinez, X. “Windows NT 4.0 Server”. Ed. Prentice-Hall

3. “Manuales de Windows NT”. Microsoft

4. Simson G. & Spafford G. “Practical Unix Security” Ed. O’Reilly & Associates, Inc.1994

5. Sheldon T. “Netware 4.1. Manual de Referencia”. Ed. McGraw-Hill 1996

6. Stalling S. “Sistemas Operativos”. De. Prentice-Hall

7. Pabrai U. “Unix Internetworking”. Ed. Artech House. 1993

Sistemas de Información Distribuidos (II/ITIS/ITIG)

ASIGNATURA: Sistemas de Información Distribuidos.

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 (Optativa de cuarto en II).

ORGANIZACIÓN: Optativa, 2º Cuatrimestre.

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

LINK: http://www.ual.es/~liribarn/docencia/Sistemas_Distribuidos/sid.htm

Capítulo 1. El modelo Cliente/Servidor.

1.1 Fundamentos de un entorno cliente/servidor.
1.2 Propiedades de un entorno cliente/servidor.

1.2.1 Flexible.
1.2.2 Adaptable.
1.2.3 Mantenencia.
1.2.4 Reutilizable.
1.2.5 Inmediato.
1.2.6 Interoperable.
1.2.7 Escalable.

1.3 Objetivos de un entorno cliente/servidor.

1.3.1 Localización transparente.
1.3.2 Recursos compartidos.
1.3.3 Escalabilidad de la aplicación.
1.3.4 Interoperabilidad.

1.4 Atributos de una aplicación cliente/servidor.

1.4.1 Independencia de funciones.
1.4.2 Portabilidad.
1.4.3 Operación síncrona/asíncrona.

1.5 Arquitecturas cliente/servidor.

1.5.1 Arquitecturas monolíticas.
1.5.2 Arquitecturas a dos niveles (2-tier).
1.5.3 Arquitecturas a tres niveles (3-tier).
1.5.4 Arquitecturas multinivel (N-tier).

1.6 Modelos para la distribución de aplicaciones.

1.6.1 Presentación distribuida.
1.6.2 Datos distribuidos.
1.6.3 Funciones distribuidas.

1.7 Características de un sistema C/S.
1.8 Sistemas distribuidos abiertos.
1.9 Normas y recomendaciones de estandarización.

1.9.1 El comité ISO/CEI.
1.9.2 El comité ITU-T.
1.9.3 La organización OMG.
1.9.4 El proceso de estandarización.

1.10 Bibliografía del capítulo.

Capítulo 2. Fundamentos de la programación distribuida.

2.1 Introducción.
2.2 Propiedades de los algoritmos distribuidos.
2.3 Migración de procesos en entornos distribuidos.
2.4 La técnica RPC (Remote Procedure Call).

2.4.1 Ventajas e inconvenientes.
2.4.2 La transferencia de control.
2.4.3 Transferencia de datos.

2.5 Tratamiento MCD en un SID.

2.5.1 Ventajas de una MCD.
2.5.2 Algoritmos de una MCD.

2.6 Distribución de los datos.
2.7 El modelo DCE (Distributed Computation Environment).

2.7.1 Características del modelo.
2.7.2 Los servicios de DCE.
2.7.3 El sistema RPC de DCE.
2.7.4 El lenguaje de definición de interfaces (IDL) de DCE.
2.7.5 Un ejemplo de aplicación basada en DCE.

2.8 Middleware de un sistema de información distribuido.

2.8.1 Message-Oriented Middleware (MOM).
2.8.2 Object Request Broker (ORB).
2.8.3 Comparativa CORBA, DCOM y RMI.

2.9 Bibliografía del capítulo.

Capítulo 3. Técnicas para el desarrollo de SID.

3.1 Introducción.

3.2.1 Diseño orientado a objetos.
3.2.2 Lenguajes de programación orientados a objetos.
3.2.3 CORBA (Common Object Request Broker Architecture).
3.2.4 DCOM (Distributed Component Object Model).
3.2.5 RMI (Remote Method Invocation).
3.2.6 Comparación de CORBA-DCOM-RMI.

3.3 Tecnología basada en Web.

3.3.1 Servidores Web.
3.3.2 Active Server Pages (ASP).
3.3.3 Java Server Pages (JSP) y Servlets.
3.3.4 SGML: XML y Esquemas.
3.3.5 Servicios Webs basados en XML: SOAP, UDDI, WSDL y ebXML.
3.3.6 CORBA, DCOM y RMI en Web.

3.4 Ingeniería del software basada en componentes distribuidos.

3.4.1 Definición de componente.
3.4.2 Interfaces. Definición sintáctica de un componente (IDL).
3.4.3 Comportamiento. Definición semática de un componente.
3.4.4 Especificación de componentes: comportamiento + protocolos.
3.4.5 Protocolos. Interconexión entre componentes.
3.4.6 Ingeniería del software basada en componentes para los SID.

3.5 Caso estudio: microsoft.com.
3.6 Métodos formales usados para el desarrollo de sistemas SID.
3.7 Bibliografía del capítulo.

Capítulo 4. Sistemas Multiagente.

4.1 Introducción.
4.2 Sistemas distribuidos vs Sistemas multiagente.

4.2.1 La inteligencia artificial distribuida (IAD).
4.2.2 Componentes de un SRDP.
4.2.3 Los SRDP/SMA en los sistemas de información distribuidos.
4.2.4 Algunas propiedades de un SMA.

4.3 Modalidades de ejecución de los agentes.

4.3.1 Modalidad local.
4.3.2 Modalidad centralizada.
4.3.3 Modalidad descentralizada.
4.3.4 Modalidad distribuida.

4.4 Principios del funcionamiento de un agente.

4.4.1 El conocimiento.
4.4.2 La experiencia.

4.5 Campos de aplicación de los agentes.
4.6 Un ejemplo de un sistema distribuido basado en sistemas de agentes.

4.6.1 Descripción del entorno de trabajo del sistema.
4.6.2 Arquitectura general del sistema SRDP/SMA.
4.6.3 Ciclo de ejecución del sistema.
4.6.4 El Espacio de Trabajo (ET).
4.6.5 El Generador del plan (GP).
4.6.6 El Optimizador del plan (OP). Algoritmo de optimización.
4.6.7 El distribuidor de planes.
4.6.8 El componente Habilitador de Agentes (HA).

4.7 Los agentes.
4.8 Bibliografía del capítulo.

  • Luis Iribarne y Rosa Ayala. Sistemas de Informacion Distribuidos. Servicio de Publicaciones de la Universidad de Almería. 2002

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 Politécnica Superior .

CURSO: Tercero (Optativa de cuarto en II).

ORGANIZACIÓN: Optativa, 2º Cuatrimestre.

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

LINK: http://www.ual.es/Universidad/Depar/LengComp/programas/Optativas/STR.htm

Tema 1. Introducción a los sistemas en tiempo real y los sistemas informáticos de control

1.1 Introducción a los sistemas en tiempo real y los sistemas informáticos de control.

1.2 Clasificación, elementos y características de los sistemas en tiempo real.

1.3 Introducción al control por computador y esquemas básicos de control en sistemas empotrados.

Tema 2. Diseño de sistemas de tiempo real

2.1 Introducción.

2.2 Tipos de notación.

2.3 Especificación de requisitos.

2.4 Actividades y métodos de diseño.

2.5 Lenguajes de programación.

2.6 Pruebas.

2.7 Prototipos.

2.8 Interfaz hombre-máquina en sistemas en tiempo real.

Tema 3. Introducción a la programación de sistemas en tiempo real en Ada

3.1 Introducción a Ada: estructura de bloques, tipos de datos, estructuras de control y subprogramas.

3.2 Estructura de un programa en Ada.

3.3 Programación modular y en gran escala.

3.4 Ocultamiento de información.

3.5 Compilación separada.

3.6 Tipos abstractos de datos. Sobrecarga de operadores y programación orientada a objetos.

3.7 Reutilización de software.

3.8 Entornos de desarrollo de software.

Tema 4. Fiabilidad en sistemas en tiempo real

4.1 Introducción.

4.2 Fiabilidad, fallos y averías.

4.3 Prevención y tolerancia a fallos.

4.4 Redundancia estática y dinámica en software y bloques de recuperación.

4.5 Excepciones y manejo de excepciones.

4.6 Aplicaciones.

Tema 5. Tareas y concurrencia en sistemas en tiempo real

5.1 Introducción.

5.2 Tareas concurrentes, tipos y objetos tarea y tareas dinámicas.

5.3 Comunicación y sincronización entre tareas.

5.4 Esquemas de comunicación y sincronización basados en uso compartido de memoria. Uso de objetos protegidos en Ada.

5.5 Esquemas de comunicación y sincronización basados en envío de mensajes. Cita extendida en Ada.

Tema 6. Gestión de recursos

6.1 Introducción.

6.2 Uso de recursos en acciones atómicas.

6.3 Control de acceso a recursos.

6.4 Esquemas de gestión de recursos.

Tema 7. Tiempo real

7.1 Introducción.

7.2 Medida del tiempo real y relojes.

7.3 Retardos.

7.4 Límites temporales: limitación del tiempo de espera, aceptación y llamada temporizada y/o condicional.

7.5 Requisitos temporales.

7.6 Tareas periódicas y esporádicas en Ada.

Tema 8. Planificación de tareas

8.1 Introducción a la planificación de tareas.

8.2 Planificación con ejecutivos cíclicos.

8.3 Planificación con prioridades de tareas periódicas independientes.

8.4 Planificación con prioridades de tareas esporádicas y aperiódicas.

8.5 Interacción entre tareas y bloques en planificación con prioridades.

8.6 Planificación con prioridades siguiendo un modelo de tareas generalizado.

8.7 Realización de sistemas con prioridades.

8.8 Otros métodos de planificación.

Tema 9. Manejadores de dispositivos

9.1 Introducción.

9.2 Un ejemplo simple de sistema de entrada-salida.

9.3 Dispositivos de entrada-salida y Ada.

9.4 Ejemplo de realización de un manejador de dispositivo.

9.5 Acceso a dispositivos de entrada-salida usando instrucciones especiales.

Tema 10. Otros aspectos de sistemas en tiempo real

10.1 Introducción.

10.2 Sistemas distribuidos de tiempo real.

10.3 Sistemas operativos en tiempo real

1. J.P. Barnes. Programming in Ada; Ada'95. Addison-Wesley, 1995.

2. S. Bennet. Real-Time Computer Control: An Introduction. Prentice-Hall. 1988.

3. G. Booch. Software Engineering with Ada. Addison-Wesley, 1994.

4. A. Burns y A. Wellings. Real-Time Systems and Programming Languages. Addison-Wesley. 1996.

5. Information technology - Programming languages - Ada Reference Manual. International Standard ISO/IEC 8652:1995(E), versión 6.0, Diciembre 1994.

6. H. Kopetz. Real-Time Systems. Design Principles for Distributed Embedded Applications. Kluwer, 1997.

7. G. Olsson y G. Piani. Computer Systems for Automation and Control. Prentice-Hall. 1992.

8. J.A. de la Puente. Apuntes de la asignatura Control de Procesos. Escuela Superior de Ingenieros de Telecomunicación. Madrid, 1990-97.

9. J.A. de la Puente. Apuntes y transparencias de la asignatura Sistemas en Tiempo Real. Escuela Superior de Ingenieros de Telecomunicación. Madrid, 1998.

Sistemas Operativos Avanzados (II)

ASIGNATURA: Sistemas Operativos Avanzados.

TITULACIÓN: Ingeniería Informática.

CENTRO: Escuela Politécnica Superior.

CURSO: Cuarto.

ORGANIZACIÓN: Optativa, 2º Cuatrimestre, Bianual.

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

LINK: http://www.ual.es/Universidad/Depar/arqcompu/Programas/4210818_0102.pdf

La asignatura tiene por objeto proporcionar al alumno una visión de los principios básicos de funcionamiento de los sistemas operativos modernos, desde una perspectiva eminentemente práctica. La asignatura se centra en el sistema operativo UNIX y basándose en éste se abordan los fundamentos de los sistemas operativos en red, sistemas operativos distribuidos y multiprocesador.

Teoría:

1. Introducción.
2. Arquitectura de los Modernos Sistemas Operativos UNIX.
3. Procesos e Hilos.

- Revisión de la estructura de un proceso.
- Procesos ligeros (hilos, threads).
- Planificación y Gestión de procesos.
- Llamadas al sistema para creación de procesos e hilos.
- Señales y Temporizadores
- Planificación de procesos distribuidos. Distribución de la carga.

4. Comunicación y sincronización entre procesos.

- Revisión del concepto de concurrencia.
- Semáforos, Mutex.
- Memoria compartida
- Tuberías
- Paso de mensajes
- Sockets
- Llamadas a procedimientos remotos (RPC).
- Sincronización distribuida.

5. Gestión de Memoria.

- Revisión del modelo de memoria centralizada.
- Modelo de memoria compartida
- Modelo de memoria compartida distribuida.

6. Gestión de Archivos y Directorios.

- Revisión de la arquitectura del Sistema de Ficheros en UNIX.
- Llamadas al sistema para manejo de ficheros, directorios y ficheros de dispositivo.
- Servicio de nombrado remoto.
- Servicios de ficheros y directorios distribuidos.
- NFS.

Prácticas:

La asignatura consta de 3.0 créditos prácticos distribuidos en sesiones semanales de dos horas cada una. Las sesiones prácticas se realizarán en el laboratorio de Arquitectura de Computadores.
Las prácticas consistirán en ejercicios prácticos sobre todos los conceptos teóricos estudiados en el temario. Estos ejercicios prácticos estarán descritos en guiones proporcionados por el profesor. Para el desarrollo de las prácticas se empleará el lenguaje C, bajo sistema operativo Linux.

Básica:

- Distributed Operating Systems. Concepts & Practice. D.L. Galli. Prentice Hall, 2000.
- Sistemas Operativos. Una visión aplicada. J. Carretero, P. de Miguel, F.G. Carballeira, F.P. Costoya. McGrawHill, 2001.
- UNIX. Programación Avanzada. 2da. Edición. F.M. Márquez. Ra-Ma, 1996.
- UNIX. Programación Práctica. Guía para la Concurrencia, la Comunicación y los Multihilos. K.A. Robbins and S. Robbins. Prentice Hall, 1997.

Complementaria:

- Descripción Funcional de los Sistemas Operativos. C. Rodríguez, I. Alegría, J. González, A. Lafuente. Síntesis, 1994.
- TCP/IP en UNIX. Programación de Aplicaciones Distribuidas. J.M Alonso. Ra-Ma, 1998.
- Operating Systems. Internals and Design Principles. W. Stallings. Prentice Hall, 1998.
- Distributed Operating Systems. A.S. Tanenbaum. Prentice Hall, 1995.
- Operating System Concepts.
A. Silberschatz and P.B. Galvin. Addison-Wesley, 1998.

Diseño de Sistemas Operativos (II)

ASIGNATURA: Diseño de Sistemas Operativos.

TITULACIÓN: Ingeniería Informática.

CENTRO: Escuela Politécnica Superior.

CURSO: Cuarto.

ORGANIZACIÓN: Optativa, 2º Cuatrimestre, Bianual.

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

LINK:

Estructuras y control de procesos. Políticas de gestión de memoria. Interfaces de dispositivos de E/S. Diseño de primitivas de sincronización y comunicación. Diseño de Sistemas de archivos.


UNIVERSIDAD DE CÁDIZ

Sistemas Operativos I y II (ITIG)

ASIGNATURA: Sistemas OperativosI y Sistemas OperativosII.

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

CENTRO: E. S. Ingeniería de Cádiz.

CURSO: Segundo.

ORGANIZACIÓN: Obligatoria segundo curso.

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

LINK: gopher://cain.uca.es/11/Departamento/Estudios y  http://www2.uca.es/escuela/ingenieria/proginfb.htm#SISTEMAS OPERATIVOS

 

Conseguir que el alumno adquiera los conocimientos fundamentales sobre los sistemas operativos centralizados y distribuidos. Esto se verá reforzado mediante la realización de prácticas consistentes en la realización de programas que utilizan las llamadas al sistema que proporciona el sistema operativo LINUX.
Dotar al alumno de los conocimientos necesarios para el manejo y la administración de un sistema multiusuario como LINUX.





PROGRAMA DE TEORÍA:

BLOQUE 1:INTRODUCCIÓN.

Tema 1: Introducción a los sistemas operativos.

1.1.¿Qué es un sistema operativo?
1.2.Evolución histórica de los sistemas operativos.
1.2.1.Los primeros sistemas.
1.2.2.Sistemas por lotes.
1.2.3.Sistemas por lotes multiprogramados.
1.2.4.Sistemas de tiempo compartido.
1.3.Sistemas para computadores personales.
1.4.Sistemas de tiempo real.
1.5.Sistemas con más de un procesador.
1.5.1.Sistemas paralelos.
1.5.2.Sistemas en red y distribuidos.
1.6.Mecanismos de protección.


Tema 2:Estructura y funciones de los sistemas operativos.

2.1.Funciones y componentes de los sistemas operativos.
2.2.Solicitud de servicios.
2.2.1.Llamadas al sistema.
2.2.2.Paso de mensajes.
2.3.Estructura de un sistema operativo.
2.3.1.Estructura simple o monolítica.
2.3.2.Estructura modular.
2.3.3.Máquinas virtuales.
2.3.4.Micronúcleo.
2.4.El sistema operativo LINUX.


BLOQUE 2:PROCESOS.

Tema 3:Descripción y control de procesos.

3.1.¿Qué es un proceso?
3.2.Vida de un proceso.
3.2.1.Creación de un proceso.
3.2.2.Terminación de un proceso.
3.2.3.Estados de un proceso.
3.3.Imagen de un proceso.
3.3.1.Bloque de control del proceso.
3.4.Control de los procesos.
3.5.Gestión de procesos.
3.5.1.Creación de procesos.
3.5.2.Cambio de proceso.
3.6.Hilos de ejecución.
3.7.Procesos en LINUX.


Tema 4:Planificación.

4.1.Introducción.
4.2.Niveles de planificación.
4.2.1.Planificación a largo plazo.
4.2.2.Planificación a medio plazo.
4.2.3.Planificación a corto plazo.
4.3.Algoritmos de planificación.
4.3.1.Primero en llegar, primero en ser servido.
4.3.2.El proceso más corto primero.
4.3.3.Tiempo restante más corto.
4.3.4.Tasa de respuesta más alta.
4.3.5.Asignación por turnos.
4.3.6.Prioridades.
4.3.7.Planificación en varios niveles.
4.3.8.Planificación en varios niveles con realimentación.
4.4.Evaluación de algoritmos de planificación.
4.4.1.Criterios del planificador a corto plazo.
4.4.2.Evaluación analítica.
4.4.3.Simulación.
4.4.4.Implementación.
4.5.Planificación en LINUX.


BLOQUE 3:CONCURRENCIA.

Tema 5:Sincronización y comunicación.

5.1.Introducción.
5.2.Recursos.
5.3.Interacción entre procesos.
5.3.1.Competencia.
5.3.2.Compartición.
5.3.3.Comunicación.
5.4.Exclusión mutua.
5.4.1.Soluciones software.
5.4.2.Soluciones con ayuda del hardware.
5.5.Semáforos.
5.6.Monitores.
5.7.Paso de mensajes.
5.8.Mecanismos de concurrencia en LINUX.


Tema 6:Interbloqueos.

6.1.Introducción.
6.1.1.Ejemplos de interbloqueos.
6.2.Condiciones necesarias.
6.3.Modelado del interbloqueo.
6.4.Estrategias para tratar los interbloqueos.
6.4.1.Prevención.
6.4.2.Predicción.
6.4.3.Detección y recuperación.

BLOQUE 4:MEMORIA.

Tema 7:Administración de la memoria.

7.1.Jerarquía del almacenamiento.
7.2.Traducción de direcciones.
7.3.Funciones del administrador de memoria.
7.4.Esquemas de asignación de la memoria.
7.5.Sistemas de monoprogramación.
7.6.Sistemas de multiprogramación con particiones fijas.
7.6.1.Selección del tamaño de las particiones.
7.6.2.Algoritmos de colocación.
7.6.3.Elementos de control.
7.6.4.Protección.
7.6.5.Inconvenientes.
7.7.Multiprogramación con particiones variables.
7.7.1.Compactación.
7.7.2.Algoritmos de colocación.
7.7.3.Elementos de control.
7.8.El sistema compañero.
7.9.Paginación.
7.9.1.Tabla de marcos.
7.9.2.Tabla de páginas.
7.9.3.Traducción de direcciones.
7.9.4.Páginas compartidas.
7.9.5.Protección.
7.9.6.Fragmentación.
7.9.7.Tamaño de las páginas.
7.10.Segmentación.
7.10.1.Tabla de segmentos.
7.10.2.Traducción de direcciones.
7.10.3.Compartición y protección.
7.10.4.Fragmentación y algoritmos de colocación.
7.11.Segmentación paginada.


Tema 8:Memoria virtual.

8.1.Introducción.
8.2.Principios de operación.
8.2.1.El área de intercambio.
8.3.Estructuras hardware y de control.
8.3.1.Tabla de marcos.
8.3.2.Tabla de páginas.
8.4.Funciones del gestor de memoria virtual.
8.4.1.Política de lectura.
8.4.2.Política de colocación.
8.4.3.Política de sustitución.
8.4.4.Gestión del conjunto residente.
8.4.5.Política de limpieza.
8.4.6.Control de la carga y la hiperpaginación.
8.4.7.Influencia del tamaño de la página en la tasa de fallos de página.
8.5.Gestión de memoria en LINUX.

BLOQUE 5:SISTEMAS DE ENTRADA/SALIDA.

Tema 9:Gestión de dispositivos.

9.1.Introducción.
9.2.Dispositivos de E/S.
9.2.1.Controladoras de dispositivos.
9.3.Organización del sistema de E/S.
9.4.Modos de realizar las operaciones de E/S.
9.4.1.E/S controlada por programa.
9.4.2.E/S controlada por interrupciones.
9.4.3.Acceso directo a memoria.
9.4.4.Canales.
9.5.Optimización de las operaciones de E/S.
9.5.1.Técnicas de buffering.
9.5.2.Caché de disco.
9.5.3.Planificación de discos.
9.6.E/S en LINUX.


Tema 10:Sistemas de ficheros.

10.1.El sistema de gestión de ficheros.
10.2.Interfaz del sistema de ficheros.
10.2.1.Ficheros.
10.2.2.Directorios.
10.3.Diseño del sistema de ficheros.
10.3.1.Tamaño del bloque.
10.3.2.Métodos de asignación de espacio a los ficheros.
10.3.3.Gestión del espacio libre.
10.3.4.Implementación del directorios.
10.4.Fiabilidad del sistema de ficheros.
10.4.1.Copias de seguridad.
10.5.Rendimiento del sistema de ficheros.
10.6.Sistema de ficheros en LINUX.

BLOQUE 6:SISTEMAS DISTRIBUIDOS.

Tema 11:Conceptos fundamentales.

11.1.Definición de un sistema distribuido.
11.1.1.Sistemas paralelos o multiprocesadores con tiempo compartido.
11.1.2.Sistemas operativos en red.
11.1.3.Sistemas distribuidos.
11.1.4.Comparativas entre los diferentes sistemas.
11.2.Objetivos de diseño de un sistema distribuido.
11.3.Servicios de un sistema distribuido.


Tema 12:Procesos distribuidos.

12.1.Introducción.
12.2.Comunicación entre procesos en un sistema distribuido.
12.2.1.Paso de mensajes.
12.2.2.Llamada a procedimientos remotos.
12.3.Sincronización en sistemas distribuidos.
12.3.1.Ordenación de eventos.
12.3.2.Exclusión mutua.
12.3.3.Interbloqueos.
12.4.Gestión de procesos.
12.4.1.Distribución de la carga y migración de procesos.
12.4.2.Planificación de procesos.


Tema 13:Recursos distribuidos.

13.1.Sistemas de ficheros distribuidos.
13.1.1.Servicio de ficheros.
13.1.2.Servicio de directorios.
13.1.3.Memoria caché.
13.1.4.Réplicas de ficheros.
13.2.Gestión de memoria en sistemas distribuidos.

BLOQUE 7:SEGURIDAD.

Tema 14:Seguridad.

14.1.Introducción.
14.2.Amenazas a la seguridad.
14.3.Servicios de protección del sistema operativo.
14.3.1.Control de acceso de los usuarios.
14.3.2.Control de acceso a los datos.
14.4.Protección de las comunicaciones.
14.4.1.Criptografía.
14.5.Clasificaciones de seguridad.


PROGRAMA DE PRÁCTICAS:

BLOQUE 1: EL SISTEMA OPERATIVO LINUX.

Práctica 1:Instalación del sistema LINUX.
Práctica 2:Configuración y manejo del entorno de trabajo.
Práctica 3:El sistema de ficheros ext2.
Práctica 4:Permisos.
Práctica 5:Aspectos básicos del shell de bash.
Práctica 6:Filtros.
Práctica 7:Administración del sistema operativo.
Práctica 8:Entorno del shell bash.
Práctica 9:Programación del shell bash.

BLOQUE 2: PROGRAMACIÓN EN EL SISTEMA LINUX.

Práctica 10:Utilización de las llamadas al sistema de LINUX.




Se realizarán exámenes independientes de la parte Teórica y Práctica de la asignatura. Para aprobarla, la nota obtenida en cada parte deberá ser igual o superior a cinco. En cada caso, la nota de la asignatura será la media de las obtenidas en cada parte.
En el caso de que se apruebe una de las partes (Teoría o Práctica) en Junio o Septiembre, se guardará la nota hasta la convocatoria de Diciembre. Los exámenes tanto de Teoría como de Prácticas constarán de una primera parte, formada por una serie de cuestiones tipo test relacionadas con conceptos fundamentales. Este test se corregirá mediante la fórmula:
(10/Nº Preg.) × (Aciertos-Errores/2).
Los exámenes tanto de Teoría como de Prácticas constarán de una primera parte, formada por una serie de cuestiones relacionadas con conceptos fundamentales que deberán contestarse correctamente en un 70% para poder aprobar el examen.
Durante el curso se propondrá la realización de trabajos por parte de los alumnos que así lo deseen. La realización de estos trabajos podrá suponer un aumento de la nota final, siempre que hayan aprobado los exámenes correspondientes.



Teoría: Las clases constarán fundamentalmente de las explicaciones del profesor y, ocasionalmente, de resúmenes escritos o ampliaciones de temas específicos. Estas explicaciones podrán ser apoyadas por el uso de transparencias. Al finalizar cada tema se proporcionará a los alumnos una colección de ejercicios relacionados.
Prácticas: Las prácticas se desarrollarán en aulas de ordenadores y tendrán carácter cerrado. Se proporcionará a los alumnos un manual sobre el contenido de las prácticas y relaciones de ejercicios. Las explicaciones del profesor se apoyarán en la utilización de medios audiovisuales.




BIBLIOGRAFÍA DE TEORÍA BÁSICA:
1. Carretero, J. & García, F.; De Miguel, P. & Pérez, F. Sistemas Operativos. Una visión aplicada. McGraw-Hill, 2001
2. Stallings, W. Operating System, 4ª ed. Prentice-Hall, 2001.
3. Silberschatz, A. & Galvin, P. Sistemas Operativos, 5ª ed. Pearson, 1999

BIBLIOGRAFÍA DE TEORÍA DE CONSULTA:
Ben-Ari, M. Principles of Concurrent and Distributed Programming Prentice Hall, 1990
Chow, R. & Johnson, T Distributed Operating Systems & Algorithms Addison-Wesley, 1997
Cornes, P. The Linux A-Z Prentice-Hall, 1997
Crichlow, J. M. The Essence of Distributed Systems Prentice Hall, 2000
Galli, D. L. Distributed Operating Systems.
Concepts & Practice Prentice Hall, 2000
Deitel, H.M. Sistemas Operativos, 2ª ed. Addison-Wesley Iberoamericana, 1993
Milenkovic, M. Sistemas Operativos. Conceptos y diseño. 2ª ed. McGraw-Hill, 1994.
Nutt, G. Operating Systems. A modern Perspective, 2nd. ed. Addison-Wesley, 2000
Editado por Purcell, J. & Robinson A. LINUX. The complete reference, 4ª ed. Linux Systems Lab, 1996.
Rusell, D. & Gangeni, G.T. Computer Security Basics O'Reilly & Associates, Inc., 1991
Rusling, D.A. The LINUX Kernel http://www.linuxdoc.org/LDP/tlk/tlk.html
Tanenbaum, A. S. Sistemas Operativos Distribuidos Prentice-Hall Hispanoamericana, 1996.
Tanenbaum, A. S. & Woodhull A. S. Sistemas Operativos: Diseño e Implementación. 2ª ed. Prentice-Hall Hispanoamericana, 1998

BIBLIOGRAFÍA DE PRÁCTICAS BÁSICA:
1. Estero, A. & Domínguez, J.J. Introducción al sistema operativo LINUX Servicio de publicaciones del dpto. Lenguajes y Sistemas Informáticos, 2000.
2. Estero, A. & Domínguez, J.J. Introducción al shell bash, 4ª ed Servicio de publicaciones del dpto. Lenguajes y Sistemas Informáticos, próxima aparición en 2002.
3. Domínguez, J.J. & Estero, A. Administración del Sistema Operativo LINUX Servicio de publicaciones del dpto. Lenguajes y Sistemas Informáticos, 2001.
4. Cornes, P. The LINUX A-Z Prentice-Hall, 1997.
5. Márquez García, F. M. UNIX. Programación avanzada RA-MA, 1993

BIBLIOGRAFÍA DE PRÁCTICAS DE CONSULTA:
AHO80 Aho, A.V., Kernighan, B.W. & Weinberger, P.J. The awk Programming Language Addison-Wesley, 1980
ANDR93 Andréasson T. & Skansholm, J. Getting Started with UNIX and X Addison-Wesley, 1993
DOUG92 Dougherty, D. sed & awk O'Reilly & Associates, 1992
NEME89 Nemeth, E., Snyder, G. & Seebas, S. UNIX System Administrator Handbook Prentice Hall, 1989
NEWH95 Newham, C. & Rosenblatt, B. Learning the bash shell O'Reilly Assoc., 1995
PURC96 Editado por Purcell, J. & Robinson A. LINUX. The complete reference, 4ª ed. Linux Systems Lab, 1996.
STEV92 Stevens, R. W. Advanced Programming in the UNIX Environment Addison-Wesley, 1992
WOOD90 Wood, P.H. & Kochan, S.G. UNIX System Security Hayden Books, 1990

UNIVERSIDAD DE GRANADA

Sistemas Operativos I

ASIGNATURA: Sistemas Operativos I.

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

CENTRO: Escuela Politécnica de Granada.

CURSO: Segundo.

ORGANIZACIÓN: 1º Cuatrimestre.

CRÉDITOS: 6 totales (4.5 Teoría + 1.5 Práctica).

LINK II: http://lsi.ugr.es/docencia/ii/soi , http://www-lsi.ugr.es/~jagomez/sisopi.html

LINK ITIS/ITIG: http://www-etsi2.ugr.es/planes/sistemas/segundo/sistemas_operativos_i.phtml , http://lsi.ugr.es/docencia/itis/soi/

1. Introducción a los sistemas operativos.
2. Procesos.
3. Sincronización y comunicación.
4. Gestión de memoria.
5. Organización de la memoria virtual.
6. Gestion del almacenamiento virtual.
7. Gestión de entradas y salidas.
8. Interfaz de los sistemas de archivos.
9. Temariode Prácticas
10. Aprendizaje de un sistema operativo multiusuario y un interprete de ordenes: Unix (Linux) y tcsh.
11. Sistema de Evaluación.




La nota final corresponde a un 80% de teoría y un 20% de prácticas. Para superar la asignatura hace falta superar el 50% de ambas partes. Los exámenes serán de la siguiente forma: (a) Teoría: constará de 7 a 10 preguntas cortas y/o ejercicios. Duración aprox.: 2 horas; (b) Prácticas: de 2 a 4 ejercicios prácticos similares a los realizados durante las sesiones de prácticas en el cuatrimestre. El examen de la convocatoria de febrero se hará en el laboratorio. En las convocatorias extraordinarias, será por escrito en la fecha y hora prevista para el examen de teoría. Se puede utilizar el Guión de prácticas. Duración aprox.: 1 hora.
Tanto para teoría como para prácticas se realizarán pruebas parciales que sólo puntuan positivamente. El de teoría supondrá un 10 % de la nota de teoría y el de prácticas un 0.25%.


1. Silberschatz, A., y Gavin, P. B. "Operating System Concepts". Addison-Wesley, 1994 (4a edición o posterior).
2. Stallings, W. "Sistemas Operativos". Prentice-Hall, 1997 (2a edición o posterior).
3. Tanenbaum, A. S. "Sistemas Operativos Modernos". Prentice-Hall, 1993.

 

Sistemas Operativos II

ASIGNATURA: Sistemas Operativos II.

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

CENTRO: Escuela Politécnica de Granada.

CURSO: Segundo.

ORGANIZACIÓN: 2º Cuatrimestre.

CRÉDITOS: 6 totales (4.5 Teoría + 1.5 Práctica).

LINK II: http://lsi.ugr.es/docencia/ii/soii/ , http://dino.ugr.es/~jagomez/sisopii.html

LINK ITIS/ITIG: http://www-etsi2.ugr.es/planes/sistemas/segundo/sistemas_operativos_ii.phtml , http://lsi.ugr.es/docencia/itis/soii/


1. Implementación de los sistemas de ficheros.
2. Implementación del núcleo de un sistema operativo.
3. Planificación de recursos: teoría e implantación.
4. Protección y seguridad.
5. Sistemas operativos distribuidos.
6. Sistema operativo Windows

Temario Prácticas:

1. Implementación de problemas de comunicación/sincronización utilizando hebras.
2. Programación en C utilizando llamadas del S. O. UNIX.




Examen teórico y de prácticas. Entrega voluntaria de memoria de prácticas de laboratorio. En la calificación final la teoría se valorará con un 75% y las prácticas con un 25%.


1. Silberschatz, A. "Sistemas Operativos" (5/e). Addison-Wesley, 1999.
2. Tanenbaum, A. S. "Sistemas operativos modernos". Prentice-Hall, 1993.
3. Bach, M. J. "The design of the UNIX operating system". Prentice-Hall, 1990.

 

Diseño de Sistemas Operativos

ASIGNATURA: Diseño de Sistemas Operativos.

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

CENTRO: Escuela Politécnica de Granada.

CURSO: Quinto.

ORGANIZACIÓN: Optativa.

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

LINK II: http://lsi.ugr.es/docencia/ii/dso/ , http://dino.ugr.es/~jagomez/disisop.html

LINK ITIS: http://www-etsi2.ugr.es/planes/ingenieria/quinto/diseno_de_sistemas_operativos.phtml , http://dino.ugr.es/~jagomez/disisop.html

1. Arquitecturas de sistemas operativos: un enfoque desde la extensibilidad.
2. Sistemas operativos distribuidos.
3. Sistemas operativos de tiempo-real.
4. Tolerancia a fallos.
5. Protección y seguridad.
6. Estudio de casos, tanto de sistemas comerciales como de investigación: Unix, Windows 2000, Mach, Chorus, L4, Exokernel, etc.

Temario de prácticas:

1. Programación avanzada de sistemas con la APIs POSIX.1.
2. Programación de sistemas con la API Win32 de Windows.
3. Programación sobre un sistema operativo de tiempo real.




La calificación final de la asignatura proviene en un 50% de la teoría y un 50% de prácticas. La calificación de teoría se obtiene por: un 100% del exámen final; bien un 50% de las preguntas del examen y otro 50% de la realización de un trabajo. La preguntas y/o ejercicios de teoría seran de tipo corto. La calificación del prácticas proviene en un totalidad de las soluciones a los supuestos prácticos propuestos en el guión de prácticas.


·        Selección de articulos sobre los temas.
* N. Singhal y N.G. Shivaratri, Advanced Concepts in Operating Systems. Distributed, Database, and Multiprocessor Operating Systems, McGraw-Hill, 1994.
* P. K. Sinha, Distributed Operating Systems. Concepts and Desing, IEEE Computers Society Press, 1996

UNIVERSIDAD DE HUELVA

 

 Sistemas Operativos (ITIS/ITIG)

 

 ASIGNATURA: Diseño de Sistemas Operativos.

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

CENTRO: Escuela Politécnica Superior de Rábida-Palos de la Frontera.

CURSO: Segundo.

ORGANIZACIÓN: Anual.Obligatoria.

CRÉDITOS: 13.5

LINK : http://www.uhu.es/eps/titulaciones/gestion.htm#inicio

 

 

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, Ingeniería Técnica en Informática de Sistemas.

CENTRO: Escuela Politécnica Superior de Rábida-Palos de la Frontera.

CURSO: Segundo.

ORGANIZACIÓN: Optativa.

CRÉDITOS: 4.5

LINK : http://www.uhu.es/eps/titulaciones/gestion.htm#inicio

 

 

UNIVERSIDAD DE JAÉN

 

Sistemas Operativos(II/ITIG)

ASIGNATURA: Sistemas Operativos.

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

CENTRO: E. P. de Jaén.

CURSO: Segundo.

ORGANIZACIÓN: 1º Cuatrimestre.

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

LINK: http://www.di.ujaen.es/plan.html





Se define el concepto de sistema operativo y se aprende a utilizar un sistema operativo concreto desde las perspectivas de un usuario y un programador. Se estudian también las principales abstracciones, conceptos, estructuras, principios de diseño, y políticas y mecanismos implicados en el diseño de los sistemas operativos.

Tras superar la asignatura un alumno debería:
1) Conocer el papel que ocupan los sistemas operativos dentro de un sistema informático.
2) Conocer la funcionalidad y el modo de uso de los sistemas operativos.
3) Conocer las abstracciones, conceptos, estructuras, principios de diseño, políticas y mecanismos de los sistemas operativos.
4) Ser capaz de razonar sobre las implicaciones derivadas de las decisiones de diseño fundamentales de los sistemas operativos.




Teoría:

1. Introducción
2. Gestión de procesos
3. Planificación de procesos
4. Concurrencia de procesos
5. Interbloqueos
6. Gestión de la memoria
7. Memoria virtual
8. Gestión de la entrada y salida
9. Planificación de disco
10. Sistemas de ficheros

Prácticas:

Módulo 1. El entorno UNIX
Módulo 2. Programación en shell
Módulo 3. Programación avanzada en UNIX


1. Willian Stallings. Sistemas operativos 4ª edición. Prentice-Hall, 2001.

2. J. Carretero, P. de Miguel, F. garcía, F. Pérez. Sistemas Operativos. Una Visión Aplicada, McGraw-Hill, 2001.

3. Abraham Silberschatz, Peter B. Galvin. Sistemas operativos 5ª Edición
4. Addison Wesley Longman, 1999.

5. Kurt Wall et al. Programación en Linux 2ª Edición. Prentice Hall.

6. Carling et al. Administración de Sistemas Linux. Prentice Hall.

7. Andrew S. Tanenbaum. Sistemas operativos modernos. Prentice Hall, 1993

8. Lister, A. M., Fundamentos de los Sistemas Operativos, Ed. Gustavo Gili,1986

 

UNIVERSIDAD DE MÁLAGA

Fundamentos de Sistemas Operativos

ASIGNATURA: Fundamentos 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 Ingeniería Informática.

CURSO: Tercero.

ORGANIZACIÓN: 2º Cuatrimestre.

CRÉDITOS: 6 totales.

LINK: http://www.ac.uma.es/educacion/cursos/informatica/FundSistOpI.html

Proporcionar una visión funcional del sistema operativo, introduciendo los conceptos necesarios para comprender las partes que componen, en general, un sistema operativo y su funcionamiento, dando respuestas a las preguntas: cómo es y qué hace un sistema operativo.

  1. Introducción
    • Concepto de sistema operativo
    • Evolución histórica de los sistemas operativos
    • Servicios (características y funciones) del sistema operativo

 

  1. Procesos
    • Proceso
    • Estados de los procesos
    • Transiciones de estado
    • Bloque de control de procesos
    • Gestión de procesos

 

  1. Administración y Planificación del Procesador
    • Niveles y objetivos de la planificación
    • Criterios de planificación
    • Algoritmos de planificación
    • Casos de estudio

 

  1. Administración y Gestión de Memoria
    • Organización del almacenamiento principal
    • Memoria virtual: Paginación, segmentación y estrategias de reposición de páginas

 

  1. Gestión de la Entrada/Salida
    • El problema de la entrada/salida (E/S)
    • Principios hardware y software de la E/S
    • E/S controlada por programa/interrupciones/concurrente
    • Discos y terminales

Prácticas:

  • Lenguaje de Programació C, para Análisis y Comprensión de un SO
  • Gestión de Procesos
  • Planificación de Procesos
  • Gestión de Memoria
  • Gestión de Entrada/Salida

Examen final (60% - 70%):

* Descripciones teóricas
* Interpretaciones
* Problemas de programación

Trabajo práctico (30% - 40%):

* Obligatorio y completo
* Memoria descriptiva y programas
* Grupos de 2 alumnos
* Supervisión en tutorías

  • A.S. Tanembaum, Modern Operating Systems, Prentice Hall, 1993.
     
  • A. Silberschatz,P. Galvin, J.L. Peterson, Operating Systems Concepts, 3th Ed., Addison-Wesley, 1991.
    Sistemas Operativos: Conceptos Fundamentales, 3ra. Ed. Addison-Wesley, 1994.
     
  • H.M. Deitel, Introducción a los Sistemas Operativos, Addison-Wesley, 1987.
     
  • A.S. Tanembaum, Sistemas Operativos, Diseño e Implementacion, Prentice Hall, 1988.
     
  • S. Krakowiak, Fundamentos de los Sistemas Operativos de los Ordenadores, Arcadia, 1987.
     
  • Rodríguez, Alegría, González, Lafuente, Descripción Funcional de los Sistemas Operativos, Síntesis, 1994.
     
  • C. Lhermitte, Sistemas Operativos, Estructura y Conceptos Fundamentales, Masson, 1987.
     
  • A.M. Lister y R.D. Eager, Fundamentals of Operating Systems, 5th Ed. MacMillan Education, 1993.
     
  • M. MilenKovic, Operating Systems: Concepts and Design, 2nd Ed. McGraw-Hill, 1992.
    Sistemas Operativos: Conceptos y Diseño, McGraw-Hill, 1994.
     
  • J.L. Peterson y A. Silberschatz, Sistemas Operativos, Conceptos Fundamentales, Reverté, 1989.
     
  • P.A. Janson, Operating Systems, Structures and Mechanisms, Academic Press, 1985.
     
  • J. Egan, T. Teixeira, Writing an UNIX Device Driver, Wiley & Sons, 1988.
     
  • G. Letwin, El OS/2 a Fondo, Anaya, 1988.
     
  • J. Richter, Advanced Windows-NT, Microsoft Press, 1993.
     
  • D.D. Miller, VAX-VMS Operating System Concepts, Digital Press, 1991.
     
  • B. Kernighan, R. Pike, El Entorno de Programacisn UNIX, Prentice-Hall, 1987.
     
  • H. Schildt, C: The Complete Reference, Borland-Osborne McGraw-Hill, 1976.

Diseño de Sistemas Operativos

ASIGNATURA: Diseño 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 Ingeniería Informática.

CURSO: Tercero.

ORGANIZACIÓN: Optativa.

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

LINK: http://www.ac.uma.es/educacion/cursos/informatica/DisSistOper.html

  1. Fases de diseño de un Sistema Operativo
    • Estructura de un sistema operativo
    • Manejo de memoria. Cache de datos
    • Sistema de ficheros
    • Entrada / Salida

 

  1. Cache de Datos
    • Organización de un buffer-cache
    • Algoritmos del kernel para manejo de la cache de buffers
    • Llamadas al sistema asociadas
    • Análsis comparativo del buffer-cache

 

  1. Sistema de Ficheros
    • Organización y manejo del espacio en disco
    • Almacenamiento de ficheros
    • Llamadas al sistema para el sistema de ficheros
    • Rendimiento del sistema de ficheros

 

  1. Procesos
    • Organización y gestión de los procesos
    • Estados y transiciones de estado de los procesos
    • Memoria para la gestión de procesos
    • Llamadas al sistema para la gestión de procesos

 

  1. Memoria
    • Gestión de memoria para los procesos
    • Técnicas de intercambio (swapping)
    • Un modelo de paginación

 

  1. Comunicación entre Procesos
    • Señales
    • Sockets (conectores)
    • Implementación de semáforos
    • Sistemas de red

 

  1. Entrada / Salida
    • Interfase con los manejadores de dispositivos
    • Manejadores de disco y terminal

  • S. Leffler, M. McKusick, M. Karels y J. Quarterman, The Design and implementation of 4.3 BSD UNIX Operating System, Addison-Wesley, 1989.
  • J. Bach Maurice, The Design of the Unix Operating System, Prentice Hall.
  • A.S. Tanembaum, Modern Operating Systems, Prentice Hall, 1992.
  • J. Egan y T. Teixeira, Writing a Unix Device Driver, J. Wiley & Sons, 1988.
  • P.A. Janson, Operating Systems, Structures and Mechanisms, Academic Press, 1985.

Otras asignaturas del área de Sistemas Operativos

ASIGNATURA: Sistemas Operativos Distribuidos.

TITULACIÓN: Ingeniería Informática.

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

CURSO: Indiferente.

ORGANIZACIÓN: Optativa.

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

 

 

UNIVERSIDAD DE SEVILLA

Sistemas Operativos (II/ITIS/ITIG)

ASIGNATURA: Sistemas Operativos.

TITULACIÓN: Ingeniería Informática, Ingeniería Técnica en Informática de Sistemas, 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 totales (3 Teoría + 3 Práctica).

LINK II: http://www.lsi.us.es/docencia/asignaturas/so_ii.html

LINK ITIS/ITIG: http://www.lsi.us.es/docencia/asignaturas/so_ii.html

Enseñar el funcionamiento interno de los sistemas operativos, las diferentes formas de estructurarlos, las relaciones entre sus componentes y las de éstos con el exterior. Se profundiza en los servicios que ofrecen y en su realización. El estudio se ilustra con ss.oo. reales, con especial atención al UNIX.

1. Introducción a los ss.oo.
2. Fundamentos.
3. Procesos.
4. Planificación de procesos.
5. Otros aspectos de la planificación.
6. Concurrencia de procesos.
7. Concurrencia y sincronización.
8. Sincronización y comunicación.
9. Interbloqueo.
10. Lectura/Escritura.
11. Gestión de la lectura/escritura.
12. Ejemplo de subsistema de lectura/escritura.
13. Administración contigua de la memoria.
14. Segmentación y paginación de la memoria.
15. Memoria virtual.
16. Ejemplo de administrador de memoria.
17. Administrador de archivos.
18. Servidores de archivos y otros conceptos.
19. Seguridad y protección del sistema de archivos.
20. Ejemplo de administrador de archivos.

Debido a que la materia está recogida en el actual Plan de Estudios como dos asignaturas separadas, la asignatura de Sistemas Operativos recoge la parte teórica, que incluye el estudio de casos reales, y la asignatura de Laboratorio de Sistemas Operativos está dedicada a las prácticas de laboratorio que complementan los conceptos teóricos, como establece dicho Plan.

  • Rovayo, M: Apuntes de la asignatura.
  • Tanenbaum, Andrew S.: Sistemas Operativos, Diseño e Implementación; Prentice Hall.
  • Tanenbaum, Andrew S.: Sistemas Operativos Modernos; Prentice Hall.
  • Carretero Pérez, Jesús, y otros: Sistemas Operativos. Una Visión Aplicada. McGraw-Hill.
  • Milenkovic, Milan: Sistemas Operativos, Conceptos y Diseño; McGraw-Hill.
  • Stallings, William: Sistemas Operativos; Prentice Hall.
  • Deitel, Harvey M.: Introduccion a los Sistemas Operativos; Addison-Wesley.
  • Finkel, Raphael A.: Fundamentos de los Sistemas Operativos;Anaya.
  • Davis, William S.: Operating Systems: A Systematic View; Addison-Wesley.
  • Silberschatz, A.: Sistemas Operativos. Pearson.

Laboratorio de Sistemas Operativos (II)

ASIGNATURA: Sistemas Operativos.

TITULACIÓN: Ingeniería Informática.

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

CURSO: Tercero.

ORGANIZACIÓN: 2º Cuatrimestre.

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

LINK: http://www.lsi.us.es/docencia/asignaturas/lso_ii.html

El objetivo de esta asignatura, como establece el vigente Plan de Estudios, es realizar las prácticas de la asignatura de Sistemas Operativos, para complementar los conceptos teóricos recogidos en ella.

    1. Introducción al UNIX.
    2. Compilador gcc.
    3. Archivos.
    4. Procesos, señales y tuberías.
    5. Semáforos.
    6. Mensajes entre procesos.
    7. Sockets.

Los alumnos podrán presentar un trabajo cuyo contenido se acordará con los profesores y se entregará antes del examen final de la primera convocatoria. Se calificará de 0 a 2 puntos, que se sumarán a la nota anterior si ésta alcanza los 5 puntos. Los alumnos que presenten el trabajo y alcancen 10 puntos (o más) podrán recibir la calificación de Matrícula de Honor; si hubiese más candidatos que Matrículas de Honor disponibles, se asignarán a los que tengan mayor nota global; los demás recibirán la calificación de Sobresaliente - 10.

  • Rovayo, M: Apuntes de la asignatura.
  • Tanenbaum, Andrew S.: Sistemas Operativos, Diseño e Implementación; Prentice Hall.
  • Tanenbaum, Andrew S.: Sistemas Operativos Modernos; Prentice Hall.
  • Carretero Pérez, Jesús, y otros: Sistemas Operativos. Una Visión Aplicada. McGraw-Hill.
  • Milenkovic, Milan: Sistemas Operativos, Conceptos y Diseño; McGraw-Hill.
  • Stallings, William: Sistemas Operativos; Prentice Hall.
  • Deitel, Harvey M.: Introduccion a los Sistemas Operativos; Addison-Wesley.
  • Finkel, Raphael A.: Fundamentos de los Sistemas Operativos;Anaya.
  • Davis, William S.: Operating Systems: A Systematic View; Addison-Wesley.
  • Silberschatz, A.: Sistemas Operativos. Pearson.

Arquitectura de Sistemas en Tiempo Real (II)

ASIGNATURA: Arquitectura de Sistemas en Tiempo real.

TITULACIÓN: Ingeniería Informática.

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

CURSO: Quinto.

ORGANIZACIÓN: Optativa, 1º Cuatrimestre.

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

LINK: http://icaro.eii.us.es/asignaturas/astr/astr.html