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

 

 


 

UNIVERSIDAD DE ZARAGOZA- CAMPUS DE LA ALMUNIA DE Dª GODINA

Sistemas Operativos I (ITIS)

ASIGNATURA: Sistemas Operativos I.

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

CENTRO: Escuela Universitaria Politécnica de La Almunia de Dª Godina (Centro Adscrito).

CURSO: Segundo.

ORGANIZACIÓN: Anual.

CRÉDITOS: 6 totales.

LINK: aquí

Obtener un profundo conocimiento sobre el funcionamiento interno del sistema operativo, así como de las posibilidades de diseño e implementación. Para ello se estudian las partes fundamentales de forma teórica y luego se concreta con ejemplos prácticos de sistemas comerciales, casos Windows y Linux.



1. INTRODUCCIÓN

1.1. EVOLUCIÓN DE LOS SISTEMAS OPERATIVOS
1.2. TIPOS DE SISTEMAS OPERATIVOS
1.3. DIFERENTES PERSPECTIVAS DE UN SISTEMA OPERATIVO
1.4. RECORRIDO DE LA EJECUCION DE UNA ORDEN
1.5. ARRANQUE DE LA COMPUTADORA
1.6. COMPONENTES Y ESTRUCTURA DEL SISTEMA OPERATIVO
1.7. DISENO E IMPLEMENTACION DE SISTEMAS OPERATIVOS
1.8. CONCEPTO DE USUARIO Y GRUPOS DE USUARIOS
1.9. INTERFACE DEL PROGRAMADOR
1.10. INTERFAZ DE USUARIO DEL SISTEMA OPERATIVO

2. PROCESOS

2.1. CONCEPTO DE PROCESO
2.2. LOS PROCESOS DESDE LA PERSPECTIVA DEL PROGRAMADOR DE SISTEMAS
2.3. LOS PROCESOS DESDE LA PERSPECTIVA DEL SISTEMA OPERATIVO
2.4. PLANIFICACION
2.5. ALGORITMOS DE PLANIFICACION
2.6. EVALUACION DEL RENDIMIENTO
2.7. SEÑALES Y EXCEPCIONES
2.8. TEMPORIZADORES
2.9. SERVIDORES Y DEMONIOS
2.10. SERVICIOS DEL SISTEMA OPERATIVO PARA GESTION DE PROCESOS

3. SINCRONIZACION ENTRE PROCESOS

3.1. NECESIDAD DE SINCRONIZACION ENTRE PROCESOS
3.2. EXCLUSION MUTUA
3.3. SEMÁFOROS
3.4. SOPORTE HARDWARE PARA EXCLUSION MUTUA
3.5. IMPLEMENTACIÓN DE SEMÁFOROS CON COLAS
3.6. PROBLEMAS CLASICOS EN PROGRAMACION CONCURRENTE
3.7. SEMÁFOROS POSIX
3.8. SEMÁFOROS WIN32

4. COMUNICACIÓN Y SINCRONIZACION ENTRE PROCESOS

4.1. TUBERIAS
4.2. MONITORES (MUTEX)
4.3. MENSAJES
4.4. ASPECTOS DE IMPLEMENTACIÓN DE LOS MECANISMOS DE SINCRONIZACION
4.5. INTERBLOQUEOS

5. GESTION DE MEMORIA

5.1. MONITOR DE UN SOLO PROCESO
5.2. ASIGNACION DE MEMORIA PARTICIONADA. ESTATICA
5.3. ASIGNACIÓN DE MEMORIA PARTICIONADA. DINÁMICA
5.4. SEGMENTACION
5.5. PAGINACIÓN
5.6. MEMORIA VIRTUAL
5.7. ARCHIVOS PROYECTADOS EN MEMORIA
5.8. SERVICIOS DE GESTIÓN DE MEMORIA

6. GESTIÓN DE ARCHIVOS

6.1. EL SISTEMA DE ARCHIVOS DESDE LA VISIÓN DEL USUARIO DE ORDENES
6.2. EL SISTEMA DE ARCHIVOS DESDE LA VISIÓN DEL PROGRAMADOR DE SISTEMAS
6.3. ORGANIZACION DEL DISCO
6.4. CONTROLADOR Y RUTINA DE DISCO
6.5. LA GESTION DE ARCHIVOS DESDE LA PERSPECTIVA DEL SISTEMA OPERATIVO
6.6. CACHES DE DISCO Y CACHÉ DE BUFFERS EN UNIX
6.7. GENERALIZACION DE LOS SERVICIOS DE ARCHIVOS
6.8 SERVICIOS DE ARCHIVOS Y DIRECTORIOS

7. ENTRADA / SALIDA: PRINCIPIOS Y PROGRAMACIÓN

7.1 EL PROBLEMA DE LA ENTRADA / SALIDA
7.2 INTERFACES DE ENTRADA / SALIDA
7.3 EJEMPLOS DE PUERTOS DE E/S
7.4 E/S CONTROLADA POR PROGRAMA
7.5 E/S CONTROLADA POR INTERRUPCIÓN
7.6 E/S CONCURRENTE
7.7 SERVICIOS DE E/S

8. SEGURIDAD Y PROTECCIÓN

8.1 CONCEPTOS DE SEGURIDAD Y PROTECCIÓN
8.2 PROBLEMAS DE SEGURIDAD
8.3 POLÍTICAS DE SEGURIDAD
8.4 DISEÑO DE SISTEMAS OPERTIVOS SEGUROS
8.5 CRIPTOGRAFÍA
8.6 CLASIFICACIONES DE SEGURIDAD
8.7 SEGURIDAD Y PROTECCIÓN EN SISTEMAS OPERATIVOS DE PROPÓSITO GENERAL
8.8 SERVICIOS DE PROTECCIÓN Y SEGURIDAD
8.9 EL SISTEMA DE SEGURIDAD DE WINDOWS NT
8.10 KERBEROS.

 

  1. MILAN MILENKOVIC.Sistema operativos. Conceptos y diseño. Ed: Mc Graw Hill
  2. JESÚS CARRETERO PÉREZ Y OTROS. Sistemas operativos. Una visión aplicada. Ed: Mc Graw Hill
  3. ANDREW S. TANENBAUM. Sistemas operativos. Diseño e implementación. Ed: Prentice Hall
  4. WILLIAM STALLINGS. Sistemas operativos. Prentice Hall
  5. KERNIGHAN & PIKE. El Entorno de programación UNIX. Ed: Prentice Hall
  6. KERNIGHAN & RITCHIE. El lenguaje de programación C. Ed: Prentice Hall

Sistemas Operativos II (ITIS)

ASIGNATURA: Sistemas Operativos II.

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

CENTRO: Escuela Universitaria Politécnica de La Almunia de Dª Godina (Centro Adscrito).

CURSO: Indiferente.

ORGANIZACIÓN: Optativa, Anual.

CRÉDITOS: 9 totales.

LINK: aquí

Comprensión de los conceptos de sistemas operativos avanzados: Incluye los sistemas operativos distribuidos, de tiempo real, seguridad, criptografía y administración.



TEMA 01. SISTEMAS DISTRIBUIDOS: Procesos y procesadores, hilos, modelos de sistema, asignación de procesadores, planificación. Sistemas distribuidos de tiempo real. Sistemas distribuidos de archivos, interfaz, semántica de archivos compartidos, estudio experimental, estructura del sistema, ocultamiento, consistencia de caché.

TEMA 02. PATRONES DE DISEÑO EN SISTEMAS DISTRIBUIDOS: Patrones comando, proxy, factoría, broker, cliente-despachador-servidor, amo-esclavo. CORBA, Java RMI, JavaSpaces.

TEMA 03. SEGURIDAD Y CRIPTOGRAFÍA: Cifrado convencional. Cifrado de clave pública, secreto, autentificación, secreto y autentificación. Firmas digitales. Distribución de claves. SSL, Kerberos, seguridad y criptografía en Java.

TEMA 04. Introducción a la seguridad en los Sistemas Operativos UNIX, WINDOWS NT y AS/400

TEMA 05. Introducción a la administración de los Sistemas Operativos UNIX, WINDOWS NT y AS/400

  • AELEEN FRISCH. Essential System Administration. O’Reilly.
  • DOUGH LEA. Concurrent Programming in Java. Design Principles and Patterns. Addison Wesley.
  • FARLEY. Java Distributed Computing. O’Reilly.
  • GUNTER, BURNETT, GUNTER. Guía de Integración de Windows NT y UNIX. McGraw-Hill Interamericana.
  • KERNIGHAN, PIKE. El Entorno de Programación UNIX. Prentice Hall.
  • PASTOR FRANCO, SARASA LÓPEZ. Criptografía Digital. Fundamentos y Aplicaciones. Prensas Universitarias.
  • STALLINGS. Sistemas Operativos. Prentice Hall.
  • SUHAIL M. AHMED. CORBA Programming Unleashed. SAMS Publishing.
  • TANENBAUM. Sistemas Operativos Moderno. Prentice Hall.
  • Apuntes de la asignatura.

 

UNIVERSIDAD DE ZARAGOZA- CAMPUS DE TERUEL

Sistemas Operativos I (ITIG)

ASIGNATURA: Sistemas Operativos I.

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

CENTRO: Escuela Universitaria Politécnica de Teruel.

CURSO: Segundo.

ORGANIZACIÓN: 2º Cuatrimestre.

CRÉDITOS: 7,5 totales.

LINK: aquí

Adquirir los conocimientos básicos para el uso de los servicios de un Sistema Operativo desde el punto de vista de un usuario avanzado.
Aproximación a la estructura y función de un sistema operativo a través de sus principales objetos: procesos y ficheros.

Teoría:

Tema 0 - Presentación de la asignatura.
Motivación y Objetivos. Relación con otras asignaturas. Programa. Prácticas de laboratorio. Evaluación. Bibliografía, etc.

Tema 1 - Introducción: Organización, estructura y servicios de los sistemas operativos.
¿Qué es un sistema operativo?. Historia de los sistemas operativos. Tipos de sistemas operativos. Estructura de los sistemas operativos. Conceptos básicos de sistemas operativos.

Tema 2 - Sistemas de E/S.
Dispositivos de E/S. Controladores de dispositivos. Interrupciones. Acceso directo a memoria (DMA).

Tema 3 - Gestión de Procesos.
Definición. Estados de un proceso. Planificación de procesos. Operaciones con procesos. Comunicación entre procesos.

Tema 4 - Sistemas de Archivos.
Archivos: atributos, operaciones, tipos, modo de acceso, etc. Directorios: estructura.

Tema 5 - Gestión de Memoria.
Espacio de direcciones físico y lógico. Asignación continua. Paginación. Segmentación. Segmentación con paginación. Memoria Virtual. Paginación por demanda.

Prácticas:

  • Introducción al shell. Aprender a manejar comandos básicos del sistema operativo.
  • Realizar programas en C utilizando llamadas al Sistema.
  • Realizar un intérprete de comandos (shell) sencillo en C.

· Silberschatz, A; Galvin, P. Sistemas Operativos. 5ª Edición Addison Wesley Longman, 1999
· Tanenbaum, A.S. Sistemas Operativos Modernos. Prentice Hall, 1992
· Stallings W. Sistemas Operativos. Prentice Hall, 1997
· Kernighan, B; Ritchie, D. El lenguaje de programación C. Prentice Hall, 1985
· Kernighan, B; Pike, R. El entorno de programación Unix. Prentice Hall, 1987
· Stevens W.R. Advanced Programming in the UNIX Environment.
Addison Wesley, 1994

Sistemas Operativos II (ITIG)

ASIGNATURA: Sistemas Operativos II.

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

CENTRO: Escuela Universitaria Politécnica de Teruel.

CURSO: Tercero.

ORGANIZACIÓN: 1º Cuatrimestre.

CRÉDITOS: 6 totales.

LINK: aquí

Establecer los conceptos y técnicas relacionados con procesos en los sistemas operativos.
Mecanismos de comunicación y sincronización de procesos, la problemática relativa a bloqueos y aplicaciones prácticas de estos conceptos.

Teoría:

Tema 0 - Presentación de la asignatura.
Tema 1 - Revisión de los conceptos de procesos. El caso UNIX.
Tema 2 - Scheduling de la CPU.
Tema 3 - Sincronización de procesos: conceptos y ejemplos en UNIX.
Tema 4 - Comunicación entre procesos: conceptos y ejemplos en UNIX.
Tema 5 - El problema de bloqueos en sistemas operativos.

Prácticas:

Operaciones con procesos.
Comunicación y sincronización entre procesos.
Gestión de eventos en el sistema operativo.
Desarrollo de aplicaciones cliente-servidor.

· Silberschatz, A; Galvin, P. Sistemas Operativos. 5ª Edición. Addison Wesley Longman, 1999
· Tanenbaum, A.S. Sistemas Operativos Modernos. Prentice Hall, 1992
· Tanenbaum, A.S. Sistemas Operativos Distribuidos. Prentice Hall, 1992
· Chris Brown. UNIX Distributed Programming. Prentice Hall, 1994
· Stevens W.R. Advanced Programming in the UNIX Environment. Addison Wesley, 1994
· Stevens W.R. UNIX Network Programming. Prentice Hall, 1990

Sistemas Distribuidos (ITIG)

ASIGNATURA: Sistemas Distribuidos.

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

CENTRO: Escuela Universitaria Politécnica de Teruel.

CURSO: Tercero.

ORGANIZACIÓN: Optativa, 2º Cuatrimestre.

CRÉDITOS: 6 totales.

LINK: aquí

Presentar conceptos básicos para la implementación de sistemas operativos distribuidos.
Conocer las arquitecturas que dan soporte a las aplicaciones distribuidas.
Conocer los servicios y aplicaciones disponibles en los sistemas operativos en red, así como el diseño de las mismas.
Conocer el diseño de los sistemas operativos distribuidos y en red más notables.
Proporcionar la capacidad para el diseño de aplicaciones distribuidas, describiendo los modelos arquitectónicos propuestos, los compromisos de diseño que aparecen y las soluciones propuestas.

Teoría:

Tema 1.- Introducción.
Tema 2.- El soporte del Sistema Operativo.
Tema 3.- Comunicación en Sistemas Distribuidos: "El modelo C/S"
Tema 4.- Seguridad.
Tema 5.- Datos compartidos.

Prácticas:

Diseño e implementación de servicios de un sistema operativo distribuido: Sockets, RPC, Java - RMI, CORBA sobre Java.

· Tanenbaum, A.S. Sistemas Operativos Modernos. Prentice Hall, 1992
· Tanenbaum, A.S. Sistemas Operativos Distribuidos. Prentice Hall, 1992
· Goscinski, A.: Distributed Operating Systems. The Logical Design. Addison Wesley, 1991
· Bacon, J.: Concurrent Systems. An Integrated Approach to Operating Systems, Database, and Distributed Systems. Addison Wesley, 1993
· G. Coulouris, J. Dollimore, T. Kindberg. Distributed Systems. Concepts and Design. Addison Wesley
· M. Campione, K Walrath. The Java Tutorial: Object Oriented Programming for the Internet. Addison Wesley Java Series, 2ª edición, 1998
· M. Campione, K Walrath, A Huml. The Java Tutorial Continued: The rest of the JDK. Addison Wesley Java Series, 1999
· R. Orfali, D. Harkey. Client/Server Programming with JAVA and CORBA. Addison Wesley
· S.J Mullender (ed.).
Distributed Systems. ACM Press

 

UNIVERSIDAD DE ZARAGOZA- CAMPUS DE ZARAGOZA

Sistemas Operativos I (II)

ASIGNATURA: Sistemas Operativos I.

TITULACIÓN: Ingeniería Informática.

CENTRO: Centro Politécnico Superior de Zaragoza.

CURSO: Segundo.

ORGANIZACIÓN: 1º Cuatrimestre.

CRÉDITOS: 6 totales.

LINK: aquí

Conocimientos y utilización de los servicios de un S.O. desde el punto de vista de un usuario avanzado.
Aproximación a la estructura y función de un S.O. a través de sus elementos principales: ficheros y procesos.

TEMA 1. Visión general y terminología básica.
TEMA 2. Gestión de ficheros: Llamadas asociadas.
TEMA 3. Gestión de procesos: Llamadas asociadas.
TEMA 4. Gestión de memoria.

1. SILBERSCHATZ, A. Y GALVIN, P.A.:Operating system Concepts. Fifth Edition. Addison-Wesley Publishing Company, 1998.
2. KERNIGHAN y R. PICKE, B. W.: The UNIX Programming Environment. Prentice Hall. 1984.
3. STEVENS, W.R. : Advanced Programming in the UNIX Environment.
Addison-Wesley. 1994.

Sistemas Operativos II (II)

ASIGNATURA: Sistemas Operativos II.

TITULACIÓN: Ingeniería Informática.

CENTRO: Centro Politécnico Superior de Zaragoza.

CURSO: Segundo.

ORGANIZACIÓN: 2º Cuatrimestre.

CRÉDITOS: 6 totales.

LINK: aquí

Establecer los conceptos y técnicas relacionados con procesos en los sistemas operativos, tanto desde una perspectiva de uso como desde una perspectiva de programación a nivel de sistema.
Se hace especial énfasis en los temas de mecanismos de comunicación y sincronización de procesos, la problemática relativa a bloqueos y aplicaciones prácticas de estos conceptos.
Como plataforma de experimentación se utilizará el sistema operativo UNIX.

Teoría:

1. Revisión conceptos proceso. El caso UNIX
2. Sincronización de procesos: conceptos y ejemplos en UNIX
3. Comunicación entre procesos: conceptos y ejemplos en UNIX.
4. El problema de bloqueos en sistemas operativos.
5. Subsistemas de Memoria y Entrada/Salida. Su relación con la gestión de procesos.
6. Seguridad en los sistemas operativos
7. Evaluación de prestaciones en sistemas operativos

Prácticas:

  • Operaciones con procesos
  • Comunicación y sincronización entre procesos
  • Gestión de eventos en el sistema operativo
  • Desarrollo de aplicaciones cliente-servidor

Se realizará un examen escrito cuya duración se adaptará a las directrices de la comisión Docente del Centro (en los últimos años su duración ha sido de tres horas). El alumno para la realización de la prueba escrita puede disponer de cuanta documentación considere oportuna sin restricción de ningún tipo. No se puede utilizar computadores personales para la realización del examen. El examen consistirá en la realización de varios problemas. En cada uno de los problemas se valorará el análisis del problema, el esquema de razonamiento utilizado para alcanzar la solución y la bondad de la solución medida en términos de eficiencia, economía, simplicidad, etc.. La calificación final del examen será un valor entre 0 y 10.
El alumno durante el curso deberá realizar un total de 5 prácticas con una duración máxima de trabajo de laboratorio de 4 horas por práctica. La práctica número cuatro consistirá en un problema de diseño informático, las cuaatro restantes serán prácticas guiadas consistentes en la realización de pequeños ensayos ilustrando conceptos y proponiendo el alumno pequeñas cuestiones. En el caso de la práctica número cuatro el alumno deberá entregar un informe detallado sobre los algoritmos diseñados, los programas construidos y los resultados de los ensayos que demuestren su buen funcionamiento. La calificación final de la práctica número cuatro será un valor entre 0 y 10. En las cuatro prácticas restantes el alumno deberá entregar un pequeño resumen de los ensayos realizados y los resultados obtenidos. La calificación conjunta de estas cuatro prácticas será un valor entre 0y 10. No es condición necesaria la realización de las practicas en los horarios habilitados por el centro. Los enunciados de las prácticas pueden sufrir variaciones de un curso a otro. Todos los alumnos matriculados un año en la asignatura tienen la obligación de presentar los dos informes anteriormente citados.
Para poder presentarse a un examen escrito, un alumno deberá haber entregado previamente los dos informes relacionados con las practicaas. La nota final de la asignatura se obtendrá realizando la media ponderada entre la calificación del examen escrito, del informe de la práctica cuatro,y del informe de las cuatro prácticas restantes. La ponderación será: 75% para la nota del examen escrito, 15% para la nota del informe de la práctica cuatro; 10% para la nota del informe de las otras cuatro prácticas.

1. SILBERSCHATZ, A. y GALVIN, P.: Operating System Concepts. Addison Wesley Pub. Co.. 1994. 4th Edition.
2. STEVENS, A. S.: Advanced Programming in the UNIX Environment. Addisson Wesley Pub.
Co.. 1992.
3. TANEMBAUM, A.S.: Modern Operating Systems. Prentice-Hall. 1992.

Conceptos Avanzados de Sistemas Operativos (II)

ASIGNATURA: Conceptos Avanzados de Sistemas Operativos.

TITULACIÓN: Ingeniería Informática.

CENTRO: Centro Politécnico Superior de Zaragoza.

CURSO: Quinto.

ORGANIZACIÓN: Optativa, 1º Cuatrimestre.

CRÉDITOS: 6 totales.

LINK: aquí

Presentar conceptos básicos para la implementación de sistemas operativos distribuidos y sistemas operativos en red .
Presentar algunos casos de estudio y herramientas básicas de programación a nivel de sistema.

-Sistemas operativos en Red y distribuidos.
-Conceptos de comunicación en sistemas operativos distribuidos.
-Aspectos de diseño.
-Comunicación y sincronización entre procesos. Identificación. Gestión de procesos.
-Asignación de recursos. Detección de bloqueos.
-Protección de recursos. Seguridad de comunicación. Autentificación usuarios. Servicio de ficheros.
-Ejemplos de sistemas operativos experimentales.

Prácticas de laboratorio:

1. Análisis y uso de servicios distribuidos stándars en un sistema operativo en Red.
2. Diseño de una aplicación distribuida cliente/servicios utilizando comunicación/sincronización por RPC.
3. Estudio y evaluación de diferentes soluciones al problema de sección crítica en un entorno distribuido (optativa).
4. Análisis y presentación pública de un artículo de una revista sobre temas relacionados con la asignatura.

1. TANEMBAUN, A.S.: Sistemas Operativos Distribuidos. Prentice-Hall Hispanoamericana, S.A. 1996.
2. GOSCINS, A.: Distributed Operating Systems. The Logical Design. Addison-Wesley. 1991
3. BACON, J.: Concurrent Systems. An Integrated Approach to Operating Systems, Database, and Distributed Systems.
Addison-Wesley. 1993.

Administración de Sistemas Informáticos (II)

ASIGNATURA: Administración de Sistemas Informáticos.

TITULACIÓN: Ingeniería Informática.

CENTRO: Centro Politécnico Superior de Zaragoza.

CURSO: Quinto.

ORGANIZACIÓN: Optativa, 1º Cuatrimestre.

CRÉDITOS: 6 totales.

LINK: aquí

Presentar los conceptos y las técnicas necesarios para la instalación, explotación, sintonización y aspectos de seguridad informática de sistemas operativos y redes de ordenadores.

— Introducción.

Parte 1 : Administración básica de sistemas operativos. Conceptos y técnicas.

— Elementos básicos de Unix para administradores : comandos, programación Bourne Shell.
— Instalación del sistema operativo. Arranque y parada. Usuarios y cuentas.
— El sistema de ficheros. Control de procesos y eventos. Procesos periódicos.
— Dispositivos. Copias de Seguridad. El núcleo.

Parte 2 : Administración de la red.

— TCP-IP. DNS. NFS. NIS y NIS+. El protocolo de gestión SNMP. Aplicaciones.

Parte 3 : Temas generales.

— Seguridad. Evaluación y sintonización. Tareas diarias. Políticas administrativas. Etica.

Prácticas de Laboratorio:

1) Instalación del sistema operativo Linux(1 sesión).
2) Administración básica (2 sesiones).
3) Administración de red (2 sesiones).
4) Seguridad (1 sesión).
5) Evaluación y sintonización (2 sesiones).

1. NEMETH, SNYDER, SEEBASS.: Unix System Administration Handbook (2ª ed.) Prentice Hall. 1995.
2. FRISCH.: Essential System Administration (2ª ed.) . O’Reilly & Associates. 1995.
3. GARFINKEL, SPAFFORD.: Practical Unix & Internet Security (2ª ed.). O’Reilly & Associates. 1996.
4. LOUKIDES.: System Performance Tunning. O’Reilly & Associates. 1990.
5. KOCHA, VOOD.: Unix shell programming.
Hayden Books. 1990.
6. KERNINGHAN y PIKE.: El entorno de programación Unix. Prentice Hall. 1987.

 

Sistemas de Tiempo Real (II)

ASIGNATURA: Sistemas de Tiempo Real.

TITULACIÓN: Ingeniería Informática.

CENTRO: Centro Politécnico Superior de Zaragoza.

CURSO: Quinto.

ORGANIZACIÓN: Optativa, 2º Cuatrimestre.

CRÉDITOS: 6 totales.

LINK: aquí

Presentación de aspectos específicos involucrados en sistemas de tiempo real (manejo del tiempo, manejo de dispositivos físicos, tolerancia a fallos). La asignatura se impartirá desde dos puntos de vista: 1) Teórico, mediante la presentación de técnicas específicas de análisis y diseño (p.e. análisis RMA, planificación basada en prioridades); y 2) Práctico, mediante la presentación de las caracterísitcas específicas de un lenguaje de programación y de casos prácticos.

La asignatura se estructura en tres módulos que se imparten de forma entrelazada en el tiempo:

MODULO TEORIA

1. Introducción
2. Desarrollo de sistemas de tiempo real
3. Nociones sobre concurrencia
4. Medida y control del tiempo
5. Planificación: ejecutivos cíclicos, prioridades dinámicas, prioridades estáticas
6. Sistemas multiprocesador y distribuidos
7. Núcleos de sistema operativos de tiempo real
8. Manejadores de dispositivos
9. Tolerancia a fallos

MODULO LENGUAJE (Ada/Ada95)

1. Programación secuencial en pequeña escala
2. Programación secuencial en gran escala
3. Entradas/salidas
4. Programación concurrente
5. Medida y control del tiempo
6. Ejecución de programas concurrentes
7. Cláusulas de representación y características dependientes de la implementación
8. Excepciones

MODULO PROBLEMAS

1. Realización de ejecutivos cíclicos
2. Planificación basada en prioridades
3. Utilización de núcleos de tiempo real
4. Programación de manejo de dispositivos
5. Programación de aplicaciones tolerantes a fallos
6. Desarrollo de un caso práctico completo

Prácticas de laboratorio:

P1 Programación de un ejecutivo cíclico
P2 Planificación de un análisis “rate monotonic”
P3 Tareas esporádicas, por interrupción y emergencias
P4 Programación de un manejador de una tarjeta conversora AD/DA
P5 Tolerancia a fallos mediante excepciones

Las prácticas, 5 sesiones, se realizarán sobre PC con periféricos específicos (tarjetas de entradas salidas, generadores de ondas, osciloscopio, sistema físico a controlar o monitorizar) disponibles en el laboratorio de control del área de ISA. El plan de prácticas se completa con el desarrollo por el alumno de un sistema de control/monitorización tiempo real de un sistema físico.

(1) BURNS, A.; WELLINGS, A.: Real-Time Systems and their Programming Languages. Second Edition. Addison-Wesley. 1997.
(2) BARNES H.G.P.: Programación en ADA. Díaz de Santos. 1987.
(3) M.H. KLEIN et all: A Practitioner’s Handbook for Real-Time Analysis:Guide to Rate Monotonic Analysis for Real-Time.
(4) BARNES, .: Programming in Ada 95. Addison-Wesley. 1996.
(5) BURNS, A.; WELLINGS, A: Concurrency in
Ada. Cambridge University Press. Second Edition. 1998.

 

 

UNIVERSIDAD DE BALEARES

Sistemas Operativos I (ITIS/ITIG)

 


ASIGNATURA: Sistemas Operativos.

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

CENTRO: Escuela Politécnica Superior de Palma de Mallorca.

CURSO: Segundo.

ORGANIZACIÓN: 1º Cuatrimestre.

CRÉDITOS: 6.

LINK: http://www.uib.es

 

Teoría

TEMA 1. Introducción

o Que és un SO.
o Sistemas Primitivos.
o Buffering y Spooling.
o Historia.
o Multiprogramación.
o Tiempos compartidos.
o Protección.
o Arquitectura de los SSOO.


TEMA 2. Sistema Operativo UNIX

o Conceptos Bàsicos
o Comparación y diferencias
o Usuarios y componentes.
o El núcleo
o El shell
o Sistema de Ficheros
o Entorno de desarrollo

TEMA 3. Processos

o Concepto de Proceso
o Estados de procesos.
o Transiciones de estados.
o Bloque de Control de Procesos
o Operaciones sobre Procesos.
o Suspensión y reanudación.
o Señales.
o Núcleo del Sistema Operativo.
o Procesos en UNIX.

TEMA 4. Concurrencia

o Problema del Productor/Consumidor.
o SeccióN Crítica.
o Problemas de Sincronización de Procesos
o Semàforos.
o Monitores.
o Comunicación entre Procesos.
o Comunicación en UNIX:
-Mensajes.
-Señales.
-Memoria Compartida.

TEMA 5. Asignación del Procesador

o Concepto de Multiprogramación.
o Concepto de Asignación.
o Algoritmos de Asignación.
o Evaluación de Algoritmos
o Asignación del Procesador en UNIX

Pràcticas (40% de la asignatura)

o Concurrencia:
Desarrollo de programas en Linux o Windows utilizando sistemas y librerías para solucionar problemas de concurrencia.

Examen final (test) más corrección de pràcticas.

 

 

ASIGNATURA: Ampliación de Sistemas Operativos.

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

CENTRO: Escuela Politécnica de Palma de Mallorca.

CURSO: Tercero.

ORGANIZACIÓN: 2º Cuatrimestre.

CRÉDITOS: 6.

TEMA 1. Entrada/Salida

o Principios de E/S en hardware.
o Principios de E/S en software.
o Recursos
o Deadlocks
- Condiciones Bàsicas.
- Prevención.
- Tècnicas para evitar deadlocks.
- Detección.
- Recuperación
o Implementación de E/S en UNIX

TEMA 2. Emmagatzemant Real

o Organización.
o Administración.
o Jerarquía.
o Estrategias de Administración.
o Particiones fijas.
o Particiones Variables.
o Memoria Virtual

TEMA 3. Emmagatzemant Virtual

o Paginación
o Segmentación
o Segmentación Paginada
o Estrategias de Administración.
o Reemplazamiento de Páginas.
o Localización.
o Conjuntos de Treball.
o Reemplazamiento por Fallos de Pàgina.
o Paginación por Demanda.
o Paginación Anticipada.
o La liberación de Pàginas.
o Comportamiento de Programas.

TEMA 4. Gestión de Emmagatzemant Secundaria

o Características Físicas
o Directorio de Dispositivos.
o Gestión de Espacio Libre.
o Mètodos de Asignación.
o Gestión de Discos.
o Jerarquía de Emmagatzemat

TEMA 5. Sistemss de Ficheros

o Concepto de Ficheros.
o Operaciones sobre Ficheros
o Mètodos de Acceso.
o Sistema de Directorios.
o Seguridad
o Mecanismos de protección
o Implantación en UNIX
o Sistemas de ficheros remotos.

TEMA 6. Sistemas Distribuidos.

o Xarxes, hardware, protocolos.
o Arquitectura IS/OIS.
o Protocolos TAP/PI.
o Migración de Procesos.
o Sistemas de interfici: X-Windows, NeWs, MOTIF

Pràcticas (50% de la asignatura)

o Desarrollo de una shell bàsica.
o Gestión de memoria:
Desarrollo de una serie de funciones que gestionen la memoria de un proceso utilizando tècnicas de particiones variables (malloc).


Examen final (test) más corrección de pràcticas.
Aquellos grupos de no hayan presentado todas las prácticas con su documentación no podrán presentarse al examen final (caso contrario tendrán un suspenso).


1. Applied Operating System Concepts. Abraham Silberschatz, Peter Galbin, G. Gagne. John Wiley and Sons, Setembre 1999.
2. Sistemas Operativos, segunda edición. Willliam Stalling. Prentice Hall 1997.
3. Inside Windows NT. Helen Custer. Microsoft Press 1993.
4. The Design and Implementation of the 4.3 BSD UNIX Operating System. S. Leffler, M. K. McKusick, M. J. Karels, J. S. Quaterman. Addison-Wesley, 1990.
5. Operating System Design. Andrew Tannembaum. Prentice Hall 1987.
6. Operating System Concepts - Alternate Edition.
Abraham Silberschatz, James Peterson. Addison Wesley 1988.
7. Sistemas Operativos. Conceptos Fundamentales. Tercera Edición. Abraham Silberschatz, James Peterson, P. Galvin. Addison Wesley, 1994.
8. Sistemnas Operativos - Segunda Edición. H. M. Deittel. Addison Wesley Iberoamericana 1993.
9. The UNIX Programming Environment.
Brian Kernighan, Rob Pike. Prentice Hall 1984


ASIGNATURA: Administración de Sistemas Operativos.

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

CENTRO: Escuela Politécnica de Palma de Mallorca.

CURSO: Segundo.

ORGANIZACIÓN: 2º Cuatrimestre.

CRÉDITOS: 6


Teoría

1. Introducción
o Sistemas multiusuario UNIX, Windows NT, VMS.
o Tareas de un administrador de sistemas
o El usuario administrador
2. Arranque y terminación del sistema
3. Sistema de ficheros
4. Control de procesos
5. Administración de usuarios
6. Dispositivos y drivers
7. Sistemas de disco
8. Copias de seguridad
9. Procesos periòdicos
10. Auditoría del sistema: ficheros de logs y syslog
11. Configuración del núcleo
12. Aspectos de xarxa:
o Introducción a TCP/IP
o Configuración de la xarxa
o Monitorización
o Servicios de xarxa, NFS, NIS, NIS+ i DNS
13. Monitorización del sistema
o Seguridad

Prácticas
1. Prácticas asistidas:
o Introducción a UNIX
o Comandos y utilidades de UNIX
o awk
o Editor vi
o Programación con Shell
o Tractamiento de texto (expresiones regulares)
2. Programación con shell (PRÁCTICA)
3. Presentación de un tema



UNIVERSIDAD DE LAS PALMAS DE GRAN CANARIA

Sistemas Operativos

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: Facultad de Informática.

CURSO: Segundo.

ORGANIZACIÓN: 1º Cuatrimestre.

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

LINK: http://sopa.dis.ulpgc.es/ , http://sopa.dis.ulpgc.es/doc/guia2003.htm

Esta asignatura cubre plenamente la materia troncal de Sistemas Operativos, definida en las directrices para planes de estudios de esta forma: “organización, estructura y servicio de los sistemas operativos. Gestión y administración de memoria y de procesos. Gestión de entrada/salida. Sistemas de ficheros.”

La práctica de esta asignatura irá encaminada a consolidar los conocimientos teóricos impartidos en el aula, haciendo que el estudiante construya componentes de un sistema operativo. Para ello el estudiante tendrá que aprender a manejarse en un entorno de programación, en concreto C++ bajo UNIX (Linux). Gracias a esto, la parte práctica servirá también como adiestramiento en la programación de sistemas.

En suma, los objetivos docentes de Sistemas Operativos son:

  • Conceptos generales sobre sistemas operativos
  • estructura
  • funciones
  • diseño
  • Programación de sistemas
  • Operación y programación en entorno UNIX
  • Programación básica en lenguaje C++

PROGRAMA TEÓRICO:

1. Conceptos generales de sistemas operativos

1.1. Definición de sistema operativo.
1.2. Recorrido histórico. Tipos de sistemas.
1.3. Estructura de computadores y sistema operativo.
1.4. Estructura de un sistema operativo.

2. Procesos y concurrencia

2.1. Fundamentos de procesos y concurrencia.
2.2. Planificación de procesos.
2.3. Sincronización y comunicación.
2.4. Interbloqueo.

3. Entrada/salida

3.1. Manejadores de dispositivos.
3.2. Gestión de colas: spooling.

4. Memoria

4.1. Organización de la memoria.
4.2. Gestión de memoria contigua.
4.3. Segmentación y paginación.
4.4. Memoria virtual: paginación por demanda.

5. Archivos

5.1. Interfaz del sistema de archivos.
5.2. Implementación del sistema de archivos.

El texto de referencia para todas estas unidades es la obra Sistemas operativos. Conceptos fundamentales, de A. Silberschatz y P. Galvin [1]


PROGRAMA PRÁCTICO:

Práctica número 1
Descripción: Operación en entorno UNIX
Objetivos: Conseguir que el estudiante sea capaz de trabajar como usuario en un entorno UNIX-Linux: manejo de archivos, entorno de ventanas, editores, etc.
Material de Laboratorio recomendado: Por cada persona, un PC con Linux conectado a la red y que tenga instalados los paquetes de desarrollo en C/C++ y un entorno gráfico

Práctica número 2
Descripción: Programación en C++ bajo UNIX
Objetivos: Dar a conocer al estudiante el subconjunto de C++ que se va a emplear en los trabajos. Que el estudiante conozca y utilice las herramientas básicas para desarrollar en C/C++ bajo Linux:compilador, depurador, make, compilación en Emacs.
Material de Laboratorio recomendado: Por cada persona, un pecé con Linux conectado a la red y que tenga instalados los paquetes de desarrollo en C/C++ y un entorno gráfico

Práctica número 3
Descripción: Introducción al sistema operativo Nachos
Objetivos: Presentar la arquitectura del s.o. instruccional Nachos, así como las instrucciones básicas para instalarlo, explorarlo y modificarlo.
Material de Laboratorio recomendado: Por cada persona, un pecé con Linux conectado a la red y que tenga instalados los paquetes de desarrollo en C/C++ y un entorno gráfico

Práctica número 4
Descripción: Primer trabajo: hilos y concurrencia en Nachos
Objetivos: Implementar en Nachos herramientas de sincronización entre procesos. Adiestrarse en programación concurrente mediante la realización de ejercicios básicos.
Material de laboratorio recomendado: Por cada dos personas, un pecé con Linux conectado a la red y que tenga instalados los paquetes de desarrollo en C/C++ y un entorno gráfico.

Práctica número 5
Descripción: Segundo trabajo: llamadas al sistema y multiprogramación
Objetivos: Implementar llamadas al sistema de Nachos. Dar soporte a programas de usuario multiprogramados mediante tiempo compartido. Gestión de memoria elemental.
Material de laboratorio recomendado: Por cada dos personas, un pecé con Linux conectado a la red y que tenga instalados los paquetes de desarrollo en C/C++ y un entorno gráfico.

Práctica número 6
Descripción: Tercer trabajo: memoria virtual (opcional)
Objetivos: Incorporar memoria virtual al Nachos y evaluar el rendimiento de las políticas de reemplazo de páginas.
Material de laboratorio recomendado: Por cada dos personas, un pecé con Linux conectado a la red y que tenga instalados los paquetes de desarrollo en C/C++ y un entorno gráfico.

La asignatura se evaluará mediante ex­ámenes, el resultado de los trabajos prácticos y controles discrecionales en clase.

Los exámenes teóricos constituyen en 75% de la calificación final. Habrá un examen obligatorio de convocatoria (junio o septiembre, según lo dispuesto oficialmente). Además, a mitad del cuatrimestre se celebrará un examen parcial, optativo y no liberatorio. Este examen parcial está concebido como una preparación al examen definitivo y también para compensar malos resultados en el examen final.

Si se obtiene mayor nota en el parcial que en la convocatoria, el examen parcial supondrá un 25% de la nota final y el examen de convocatoria, un 50%. En otro caso, el examen de convocatoria representará el 75% de la nota final. Es decir, el examen parcial nunca perjudicará la nota final y sólo se tendrá en cuenta si beneficia al alumno. Además, la nota del examen parcial se tiene en cuenta tanto en junio como en septiembre. La nota del examen parcial se tiene en cuenta tanto en junio como en septiembre. El examen parcial no libera materia exigible y contendrá preguntas de los temas explicados hasta mitad del cuatrimestre. El examen obligatorio siempre abarcará todo el temario de la asignatura.

Los dos trabajos prácticos obligatorios serán evaluados y su calificación contribuirá en un 25% a la nota final de la asignatura. Cada trabajo representa el 12’5% de la nota final. Los integrantes de un grupo de prácticas habrán de completar con éxito los dos trabajos, como muy tarde una semana antes del examen de junio. El tercer trabajo, optativo, incrementará la nota hasta en un 10% adicional. Los trabajos prácticos superados tendrán validez en las convocatorias de junio, septiembre y en la de diciembre del siguiente curso. En las convocatorias extraordinarias no hay que presentar trabajos adicionales.

A lo largo del curso podrán realizarse controles escritos sobre alguna de las unidades teóricas de la asignatura. Estos controles serán a discreción del profesor, así que no tendrán fecha prefijada. Los controles se realizarán durante la hora de clase. La calificación obtenida en estos controles podrá incrementar hasta en un 10% la nota obtenida mediante exámenes y trabajos.

La calificación final resultará de aplicar los porcentajes antedichos a la nota obtenida en exámenes, trabajos prácticos y en su caso, a la evaluación continua. No obstante, para aprobar la asignatura habrá que obtener más del 50% de la nota máxima tanto en el examen como en de cada uno de los los trabajos obligatorios y de la media de los exámenes. La nota media de los exámenes se calcula de la siguiente forma: a)si la nota del final es mayor que la del parcial, coincide con la nota del final; b)en otro caso, es (P+2*F)/3, donde P es la nota del parcial y F es la nota del final. Si un alumno tiene una nota media superior a 5 pero no cumple los mínimos en exámenes o prácticas, figurará en las actas con una nota de 4’5.

1. Sistemas operativos. Quinta Edición. A.Silberschatz, P. Galvin. Addison-Wesley. 1999

2. Sistemas Operativos. Una visión aplicada. J. Carretero, P. de Miguel, F. García, F. Pérez. McGrawHill. 2001

3. El lenguaje de programación C++. B. Stroustrup. Addison-Wesley. 1998

4. Edición especial Linux 4ª edición. J. Tackett, S. Burnett. Prentice may. 2000

 

 

 

Programación de Sistemas

ASIGNATURA: Programación de Sistemas.

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

CENTRO: Facultad de Informática.

CURSO: Tercero.

ORGANIZACIÓN: Optativa.

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

LINK: http://sopa.dis.ulpgc.es/ , http://sopa.dis.ulpgc.es/psis/

1. Introducción, Conceptos generales y Herramientas
2. Programación básica en UNIX
3. Procesos y Señales
4. Comunicación y Sincronización de procesos
5. Memoria
6. Entrada/salida avanzada
7. Manejadores de dispositivos

  • 2 horas teoría + 2 horas prácticas
  • Examen teórico = 50%
  • Dos trabajos prácticos (20% + 20%)
  • Un trabajo práctico optativo (15% adicional)
  • Hasta un 10% por evaluación contínua

  • Advanced programming in the UNIX environment, W. Richard Stevens
  • Unix. Programación Avanzada. Fco. Manuel Márquez
  • Programación Linux 2.0. Card, Dumas & Mével
  • Advanced UNIX programming, Marc J. Rochkind
  • Programación en Linux al descubierto. Kurt Wall

 

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: Facultad de Informática.

CURSO: Tercero.

ORGANIZACIÓN: Optativa.

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

LINK: http://sopa.dis.ulpgc.es/ , http://sopa.dis.ulpgc.es/aso-itis/aso-2002-guia.PDF

Pretendemos que los alumnos y alumnas que cursen esta asignatura adquieran los conocimientos básicos y dominen las técnicas fundamentales de la Administración de los Sistemas Operativos. Concretamente:

  • Mantenimiento del sistema. En esta faceta se contemplan todas aquellas acciones encaminadas a mantener al Sistema Operativo al día de acuerdo con los cambios y nuevas necesidades que se producen en los
    entornos operativos.
  • Control del uso de los recursos (contabilidad del sistema). Este apartado de la administración abarca a todas aquellas acciones que nos permiten conocer cómo, cuando y en qué medida los recursos son utilizados por los usuarios. Esta información es vital a la hora de definir políticas de uso y nuevos requerimiento de recursos en el sistema.
  • Dominio de los parámetros que influyen en el rendimiento del sistema. Mediante el conocimiento de éstos y cómo repercuten en el sistema se estará en condiciones de optimizar el funcionamiento del Sistema Operativo en base a especificaciones de funcionamiento.

Tema 1: la figura del administrador del sistema opertivo

1.1 El administrador del sistema y sus privilegios
1.2 Tareas básicas del administrador
1.3 Relación entre el administrador y los usuarios del sistema
Bibliografía Básica: FRI-95, MEM-89 y CAR-00
Bibliografía complementaria: TAC-00

Tema 2: herramientas básicas para la administración del sistema operativo

2.1 La documentación
2.1.1 Los distintos tipos de manuales
2.1.2 Epígrafes específicos para la administración del sistema operativo
2.1.3 Los distintos soportes de distribución
2.2 Utilidades especiales para el administrador
2.2 .1 Órdenes generales de uso frecuente
2.2.2 Órdenes específicas para la administración del sistema operativo
2.2.3 Utilidades específicas para la administración del sistema operativo
2.3 Lenguajes de control de órdenes
2.3.1 Características generales
2.3.2 Tipos de datos utilizados
2.3.3 sentencias de control
2.4. Instalación de aplicaciones
2.4.1. Disciplina
2.4.2. Utilidades
Horas de teoría estimadas: 3.5
Horas de prácticas estimadas: 4
Bibliografía básica: : FRI-95, MEM-89 y OLC-99
Bibliografía complementaria: TAC-00

Tema 3: usuarios y seguridad del sistema

3.1 Usuarios y grupos
3.1.1. Tipos de usuarios
3.1.2 Atributos que definen el perfil de un usuario
3.1.3 Mantenimiento de los usuarios del sistema
3.1.4 Organización lógica de usuarios: grupos de usuarios
3.2 Integridad: seguridad física
3.2.1 Aspectos ambientales y políticos.
3.2.2 Requerimientos: dispositivos y utilidades comúnmente empleadas.
3.2.2 Técnicas y políticas para el salvaguardado de la información.
3.3 Protección: seguridad lógica
3.3.1 El problema de la seguridad lógica
3.3.2 Los puntos débiles de los sistemas
3.3.3 Recomendaciones para evitar a los intrusos
3.3.4 Procedimientos para la detección de intrusos
Horas estimadas: 2
Horas de prácticas estimadas: 6
Bibliografía básica: FRI-95, MEM-89 y CAR-00
Bibliografía complementaria: TAC-00

Tema 4: administración de recursos

4.1 Discos
4.1.1 Organización lógica de los discos
4.1.2 Operaciones: formateo y particionado
4.2 Sistema de ficheros
4.2.1 Visión del usuario
4.2.2 Visión del sistema: Organización y tipos de sistemas de ficheros
4.2.3 Operaciones: creación, tipos y control de accesos
4.2.4 Establecimiento de cuotas
4.2.5 Control de la integridad de los sistemas de ficheros
4.3 Impresoras y colas de impresión
4.3.1 Visión general del subsistema de impresión: spool de impresión
4.3.2 Configuración del subsistema de impresión
4.3.3 Control del subsistema de impresión
4.4 Servicios de red
4.4.1 Directrices de configuración de una red
4.4.3 Configuración de una red TCP/IP
4.4.4 Servicios de red: FTP, TELNET, NFS y correo electrónico
4.5 Terminales y modems
4.5.1 Aspectos hardware de terminales: tipos y señales de control
4.5.2 Configuración local de terminales
4.5.3 Instalación de terminales en el sistema
4.5.4 Instalación de modems en el sistema
4.5.5 Accesos remotos
Horas de teoría estimadas: 6
Horas de prácticas estimadas: 12
Bibliografía básica: FRI-95, MEM-89 y CAR-00
Bibliografía complementaria: TAC-00 y BAC-86

Tema 5: rendimiento y afinamiento del sistema

5.1 Objetivos del afinamiento del sistema
5.2 Monitorización del sistema
5.2.1 Criterios de rendimiento
5.2.2 Herramientas para la monitorización
5.3 Control de la carga de trabajo
5.4 Rendimiento y afinamiento del sistema de discos
5.5 Rendimiento y afinamiento del sistema de ficheros
5.6 Rendimiento y afinamiento del manejo de memoria
5.7 Rendimiento y afinamiento del sistema de comunicaciones
Horas de teoría estimadas: 1
Horas de prácticas estimadas: 4
Bibliografía básica: FRI-95, MEM-89 y CAR-00
Bibliografía complementaria: LOU-92 TAC-00 y BAC-86

Tema 6: sistema de contabilidad de recursos

6.1 Objetivos de la contabilidad del sistema
6.2 Requerimientos
6.4 Recursos típicos contabilizados
6.4.1 Uso de la CPU
6.4.2 Uso de disco
6.4.3 Uso de impresoras
6.4.4 Sesiones
Horas de teoría estimadas: 2
Horas de prácticas estimadas: 4
Bibliografía básica: FRI-95, MEM-89 y CAR-00
Bibliografía complementaria: TAC-00 y BAC-86

Debido a la naturaleza de la asignatura la evaluación se realizará de forma continuada, consistiendo en ejercicios prácticos que el alumno individualmente deberá resolver en el laboratorio en presencia del profesor, concretamente:

  • El alumno deberá superar unos ejercicios prácticos de evaluación cuyos contenidos coincidirán con los impartidos en las actividades prácticas, por tanto habrán entre 2 o 3 ejercicios de evaluación dependiendo de la evolución del curso. Cada ejercicio puntuará de 0 a 10 puntos. Para superar cada uno de estos ejercicios el alumno dispondrá de dos oportunidades. Para realizar los ejercicios en primera oportunidad cada
    alumno dispondrá de un calendario fechas que se comunicará con antelación. Para realizar los ejercicios en segunda oportunidad se dispondrá de un segundo calendario de fechas que también se comunicarán con antelación.
  • Para aprobar la asignatura se deberá obtener al menos una puntuación de 5 en cada uno de los ejercicios de evaluación. Aquellos alumnos que tuvieran al menos un ejercicio de evaluación suspendido, menos de 5 puntos en la calificación, podrán acudir a las convocatorias oficiales para optar a aprobarlos, estos ejercicios de evaluación serán del mismo tipo que los realizados durante el curso, o sea de tipo práctico. Sólo se tendrán que examinar de aquellos contenidos no aprobados, guardándose las notas de los ejercicios en todas las convocatorias oficiales de un curso académico.
  • La nota final será la resultante de la media aritmética de las notas obtenidas en cada uno de los ejercicios de evaluación.

Bibliografía principal
[FRI-95] “Essential System Administration”, Frisch A., O´Reilly & Associates, Inc.
[NEM-95] "UNIX System Administration Handbook" (2ª ed.), Nemeth E., Snyder G., Seebass S. And Hein T., Prentice Hall.
[CAR-00] “Administración de Sistemas Linux”, Carling M., Degler S. Y Dennis J., Prentice Hall
[OLC-92] "The Korn Shell. User & Programming Manual", Olczak A., Addison-Wesley.

Bibliografía complementaria
[TACK-00] “Utilizando LINUX” (2ª edi.), Tackett J. y Gunter D., Prentice Hall.
[BAC-86] "The Design of the UNIX operating system", Bach M.J., Prentice-Hall International Editions.
[LOU-92] "System Perfrmance Tuning", Loukides M., O´Relly & Associates, Inc.

 

 

Ampliación de Sistemas Operativos

ASIGNATURA: Ampliación de Sistemas Operativos.

TITULACIÓN: Ingeniería Informática

CENTRO: Facultad de Informática.

CURSO: Quinto.

ORGANIZACIÓN: Optativa.

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

LINK: http://sopa.dis.ulpgc.es/ , http://sopa.dis.ulpgc.es/ii-aso/portal_aso/index.htm

Estudio de las nuevas tecnologías en las que se basan los sistemas operativos actuales. Comprender cómo trabajan estos sistemas y como lo hacen. Analizar los algoritmos estructuras de datos y código que conforman estos nuevos sistemas operativos. Estudio de primitivas de comunicación en sistemas operativos distribuidos.

La concreción de estos objetivos se basa en el estudio del sistema operativo actual LINUX, por su fácil disponibilidad, gratuidad y su uso cada vez mayor en los sistemas informáticos servidores de información y en los sistemas distribuidos.

TEMA 1. Introducción

1.1 Historia de Linux

1.2 Conceptos generales

1.3 La licencia pública GNU

TEMA 2. Arquitectura del núcleo

2.1 Características de diseño del núcleo

2.2 Visión general de la arquitectura del núcleo

2.3 Estudio detallado de la arquitectura

2.4 Estructura de directorios

TEMA 3. Arranque del sistema e inicialización

3.1 Encendido del Computador

3.2 Carga del sistema e inicialización

3.3 El programa INIT

TEMA 4. Sistema de interrupciones

4.1 Interrupciones en Linux

4.2 Interrupciones Hardware

4.3 Interrupciones por llamadas al sistema

TEMA 5. Gestión de procesos e hilos

5.1 Conceptos generales sobre procesos e hilos

5.2 Representación de los procesos en el núcleo

5.3 Generación de procesos Fork, Clone

5.4 Ejecución de una imagen Exec

5.5 Terminación de un proceso Exit

5.6 La llamada wait

TEMA 6. Manejo de Memoria

6.1 La memoria virtual en Linux

6.2 La Unidad de Manejo de Memoria

6.3 Paginación y Tabla de Páginas

6.4 Segmentación

TEMA 7. Sistema de Ficheros

7.1 El sistema de ficheros en Linux

7.2 La estructura superbloque

7.3 La estructura inode

7.4 Estructura de directorios

7.5 Sistema de Ficheros Virtual

7.6 Montar un sistema de ficheros

7.7 El bufer cache

7.8 Ficheros asociados a dispositivos

TEMA 8. Comunicación entre procesos

8.1 Conceptos generales de comunicación

8.2 Señales

8.3 Mensajes

8.4 Semáforos

8.5 Memoria compartida

  • [BEK-97] Linux Kernel Internals. Michael Beck. Addison Wesley, 1997.
  • [CAN-03] Anatomía del núcleo de Linux 2.4. Santiago Candela, Rubén García, Gabino Padrón. Universidad de Las Palmas de Gran Canaria, 2003
  • [CAR-97] Programación Linux 2.0 API del Sistema y Funcionamiento del Núcleo. Rémy Card, Eric Dumas, Franck Mevel. Gestion 2000 D.L., 1997

 

Ampliación de Sistemas Operativos

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: 6 totales (3 Teoría + 3 Práctica).

LINK: http://sopa.dis.ulpgc.es/ , http://sopa.dis.ulpgc.es/ii-dso/

Nos planteamos una estrategia para una ampliación de sistemas operativos, consistente en el estudio y desarrollo de varios temas, que por su integridad, e independencia los podemos construir en módulos separados, que aunque interrelacionados entre sí, cada uno tiene una temática propia que conforma un todo con su propia identidad.

El módulo Diseño del Núcleo de un Sistema Operativo está basado en el estudio del Sistema Operativo "LINUX" desarrollado por Linus Torvalds.

La disponibilidad de los programas fuentes de este S.O. Así como libros y documentación en Internet, proporcionan una buena herramienta pedagógica para cubrir los objetivos de este módulo, permitiendo el análisis, síntesis, desarrollo y prueba de nuevos módulos que conforman parte de un S.O.

Los principales objetivos didácticos que se tratan en este curso de Diseño de Sistemas Operativos, tratan con: Afianzar los conceptos básicos estudiados en asignaturas anteriores de sistemas operativos. Planteamiento y resolución de problemas prácticos derivados de una implementación real, utilizando las llamadas y librerías del sistema. Diseño e implementación de utilidades del sistema. Estudio de temas relacionados con los últimos avances en sistemas operativos. Presentamos un desglose de objetivos por temas según programa:


TEMA 1: INTRODUCCIÓN AL LINUX

El primer capítulo, introduce la información básica para que un usuario pueda utilizar LINUX, realizándose una descripción de la arquitectura y estructura del núcleo. También se describe la utilización de llamadas al sistema.

TEMA 2: ARRANQUE E INICIALIZACIÓN DEL NÚCLEO

Los objetivos del segundo capítulo tratan de la comprensión de todos los pasos que ocurren desde que se enciende el computador, hasta que este presenta el simbolo del procesador de comandos. Analizar y estudiar el programa de inicialización INIT.

TEMA 3: INTERRUPCIONES

Los objetivos de este capitulo tratan de afianzar el concepto de interrupción y los pasos que ejecuta el núcleo cuando se realiza una interupción. Se estudia como implementa Linux el sistema de interrupciones, se analizan las estructuras de datos y procedimientos que permiten gestionar y atender las interrupociones hardware. Se estudia el mecanismo de interrupción software de las llamadas al sistema, sus pasos, estructuras y procedimientos. Finalmente se estudia el sitema de señales, las estructuras y los procedimientos que gestiónan el envio y recepción de señales.

TEMA 4: LLAMADAS AL SISTEMA

El tercer capítulo está relacionado con las llamadas al sistema, que están soportadas por LINUX, haciéndose un estudio funcional de cada una de ellas y agrupándolas según su aplicación a procesos, señales, manejo de ficheros, relativas a directorios, protección y manejo de tiempos.

TEMA 5: PROCESOS

El siguiente conjunto de capítulos trata sobre los bloques fundamentales que conforman un S.O. comenzando con el bloque que estudia los procesos. En él se hace un repaso a los conceptos sobre procesos, su estructura interna, pasándose a continuación a estudiar su realización. Se analizan las estructuras de datos para el manejo de procesos. Se estudia la implementación de estructuras y procedimientos para la gestión de CPU. Se estudian llamadas al sistema que están relacionadas con la creación de procesos FORK y CLONE, con la ejecución de la imagen de un programa EXEC, la terminación de un proceso EXIT y la espera por un proceso WAIT.

TEMA 6: MEMORIA

En el siguiente capítulo sobre memoria, se trata de estudiar las estructuras y procedimientos que asignan memoria virtual a un proceso, se analiza la técnica de paginación las estructuras de tablas de páginas y los procedimientos que las manejan, se estudian los procedimientos que permiten tratar el disco como una prolongación de la memoria SWAP. Se analizan las llamadas que permiten proyectar un fichero de disco en memoria, MMAP. Se termina estudiando llamdas relacionadas con el manejo de memoria como BRK.

TEMA 7: ARCHIVOS

Este capítulo versa sobre ficheros donde se estudia el sistema de ficheros virtual implementado por Linux, con sus estructuras de datos principales, el bloque cache, el superbloque, el inodo, y la estructura de directorio. Se estudia uno de los sistemas de ficheros reales que soporta, la segunda parte de este capítulo está relacionada con la implementación de las operaciones sobre ficheros, CREAT, MAKENOD, OPEN, CLOSE READ, WRITE y SEEK, el manejo de directorios y la implementación de las llamadas PIPE, MOUNT, UMOUNT, así como otras llamadas como CHDIR, CHROOT, STAT y FSTAT.

TEMA 8: COMUNICACIÓN ENTRE PROCESOS

Los objetivos de este capitulo tratan de estudiar las primitivas de comunicación entre procesos PIC. Se estudian los mecanismo de mensajes, semaforos y memoria compartida, con las estructuras de datos y procedimientos que los implementan.

TEMA 9: AVANCES EN SISTEMAS OPERATIVOS

Este capítulo trata de introducir al alumno, en aquellos tópicos que son novedosos en S.O., para ello se selección articulos y temas sobre sistemas operativos, aparecidos en revistas, que por su actualidad y novedad son de interes para el alumno.

[RUB-92] Linus Device Drivers. Alesandro Rubini. O'Reilly Associates INC, 1992

[BAC-86] The Desing of the UNIX Operating System. Bach. Prentice Hall, 1986

[MAR-96] UNIX Programación Avanzada. Francisco Manuel Márquez. Ra-ma

[GRO-86] File Systems Design and Implementation. Grosshans. Prentice Hall, 1986

[BEK-97] Linux Kernel Internals. Michael Beck. Addison Wesley, 1997

[PET-85] Operating System Concepts. 2Nd ed. Peterson and Silberschatz. Addison Wesley, 1985

[CAR-97] Linux 2.0 API Sistema y Funcionamiento del Núcleo. Rémy Card, Eric Dumas, Franck Mével. Ediciones Gestión 2000, 1998

[MAX-99] Linux Core Kernel Commentary. Scott Maxwell. Coriolis Open Press, 1999

[TAN-98] Sistemas Operativos. Diseño e implementación 2º edición. Tanembaun. Prentice-Hall, 1997

[TAN-96] Sistemas Operativos Distribuidos. Tanembaun, Prentice-Hall, 1996

[TIS-96] PC Interno. Tischer M., Jennrich B. Editorial Marcombo Data Beker, 1996

[CAN-03] Anatomia de LINUX 2.4. Candela S, Garcia C, Padrón G. Universidad de Las Palmas de Gran Canaria, 2003

[MOS-02] IA-64 Linux Kernel Design and implementation. David Mosberger, Stéfphane Eranian. Prentice Hall PTR, 2002

UNIVERSIDAD DE LA LAGUNA

Sistemas Operativos I(ITIS/ITIG)

ASIGNATURA: Sistemas Operativos.

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

CENTRO: Centro Superior de Informática de La Laguna.

CURSO: Segundo.

ORGANIZACIÓN: 1º Cuatrimestre.Troncal

CRÉDITOS: 7,5 totales

LINK: http://www.csi.ull.es/asignas/info.php3?ID=182

 

Sistemas Operativos Avanzados (ITIS/ITIG)

ASIGNATURA: Sistemas Operativos Avanzados.

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

CENTRO: Centro Superior de Informática.

CURSO:Tercero.

ORGANIZACIÓN: 1º Cuatrimestre.Optativa.

CRÉDITOS: 6 totales

LINK: http://www.csi.ull.es/asignas/info.php3?ID=200

   

Diseño de Sistemas Operativos(ITIS/ITIG)

ASIGNATURA: Diseño de Sistemas Operativos.

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

CENTRO: Centro Superior de Informática de La Laguna.

CURSO: Cuarto.

ORGANIZACIÓN: 2º Cuatrimestre.Optativa.

CRÉDITOS: 7.5 créditos

LINK: http://www.csi.ull.es/asignas/info.php3?ID=82 , http://cabrilla.lct.ull.es/

Estudio de la estructura interna de un sistema operativo. Caso de estudio: UNIX

 

PARTE 0:INTRODUCCIÓN
CAPITULO 1: Repaso general del sistema operativo UNIX.
- Historia del Sistema Operativo Unix.
- Estructura del UNIX
- Introducción al kernel.
PARTE I: SUBSISTEMA DE FICHEROS
CAPITULO 2: El buffer cache.
- Estructura del buffer.
- Recuperación de datos del buffer.
- Lectura y escritura de bloques del disco.
- Ventajas e inconvenientes del buffer cache.
CAPITULO 3: Representación de ficheros
- Introducción al subsistema de ficheros.
- Estructura de datos independiente del subsistema de ficheros. Inodos
- Capa dependiente del subsistema de ficheros.
- Gestión de inodos en memoria.
- Implementación de sistema de ficheros: s5fs, ext2fs.

CAPITULO 4: Llamadas al sistema relacionadas con el subsistema de ficheros.
- Llamadas al sistema para la manipulación de ficheros: open, read, write, close, lseek.
- Creación de ficheros y ficheros especiales.
- Cambio de propietario y cambio de permisos de un fichero.
- Llamada stat y fstat.
- Mecanismo de comunicación simple: pipes
- Duplicado de ficheros.
CAPITULO 5: Controladores de dispositivos
- Interfaces de controladores de dispositivos
- Dispositivos de bloque
- Dispositivos carácter
PARTE II: SUBSISTEMA DE PROCESOS.
CAPITULO 6: Estructura de procesos.
- Programas y procesos
- Estados de procesos y transiciones.
- Estructuras para la gestión de procesos.
- Subsistema de gestión de memoria.
- Imagen de un proceso en el espacio de kernel.
- El contexto de un proceso.
- Situaciones en la que se modifica el contexto de un proceso
- Operaciones que se realizan sobre el espacio de direcciones de un proceso.
- Algoritmos sleep-wakeup.
CAPITULO 7: Control de procesos.
- Creación de procesos.
- Señales.
- Finalización de procesos: algoritmo exit.
- Esperando la finalización de procesos: algoritmo wait.
- Ejecución de otros programas: llamada exec.
- Identificación de procesos
CAPITULO 8: Planificación de procesos.
- Política de planificación. Colas multinivel.
- Planificación de grupos de procesos
CAPITULO 9: Políticas de administración de memoria.
- Política de swapping.
- Política de demanda de páginas.
- Robo de páginas.
CAPITULO 10: Comunicación entre procesos
- Traza de procesos.
- Facilidades IPC del System V.
a) Sockets.
PARTE III: SISTEMAS OPERATIVOS DISTRIBUIDOS.
CAPITULO 11: Introducción a los sistemas operativos distribuidos
- Comunicación en los sistemas operativos distribuidos
- Sincronización
- Gestión de procesos.


Tutorías:

El horario de tutorías es el siguiente: Lunes de 09:00 a 11:00, martes de 11:00 a 13:00

Evaluación:
La evaluación final estará determinada por la media ponderada de la evaluación del ejercicio teórico y de la presentación de las prácticas. Es necesario superar con más de un 5 cada una de las partes para realizar la media. La evaluación se desglosa de la siguiente manera.



Ejercicio teórico:
a) Convocatoria de Junio
El ejercicio consistirá en una serie de preguntas y cuestiones que cubran las partes 0, 2 y 3 del temario así como el capítulo 3 de la parte 1. Representa el 50% de la calificación general.
b) Restantes convocatorias:
El ejercicio consistirá a su vez de dos partes:
1. Ejercicio de las mismas características que en la convocatoria de junio. Representa el 50% de la calificación final.
2. Ejercicio que cubran los restantes capítulos de la parte 1 del temario. Representa el 15% de la calificación final.

Ejercicio práctico:
Consistirá en la entrega de las prácticas.
a) Convocatoria de Junio
Representa el 50% de la calificación general.
b) Restantes convocatorias:
Representa el 35% de la calificación general.

Prácticas

Consistirán en la realización de una serie de programas bajo UNIX/Linux que cubran los siguientes contenidos de la asignatura:

1. Introducción a la programación con llamadas al sistema.
2. Implementación del buffer cache.
3. Desarrollo de un intérprete de comandos (Shell).
4. Desarrollo de aplicaciones cliente/servidor usando llamadas al sistema.

Las prácticas se realizarán en la sala B del centro de cálculo. El horario reservado para estas prácticas es el siguiente:

Día Hora Lugar Grupo
Lunes 11:00-13:00 Sala B A
Martes 9:00-11:00 Sala B B
Miercoles 11:00-13:00 Sala B C


La asistencia a las prácticas no es obligatoria.

La entrega de las prácticas consistirá en la presentación de las mismas al profesor. Además, las prácticas 2 y 3 deberán llevar acompañadas un informe donde se describan los detalles más importantes de la implementación de las mismas. La fecha límite para la presentación será el día anterior a la fecha del primer llamamiento de la correspondiente convocatoria. Será necesario la solicitud de cita previa para la corrección. Ninguna práctica será tenida en cuenta con posterioridad a esa fecha para la presente convocatoria.

Se guardarán las notas de prácticas durante un curso. Transcurrido éste, la no superación de la asignatura, implica la repetición de las prácticas.

Bibliografía

- Maurice J. Bach: "The design of the Unix Operating System". Ed. Prentice Hall International.
- Prabhat K. Andleigh: "Unix System Architecture". Ed. Prentice Hall.
- Steve D. Pate: "UNIX Internals. A Practical Approach". Ed. Addison-Wesley.
- M. Beck, H. Böhme, M. Dziadzka, U. Kunitz, R. Magnus, D. Verworner: "Linux Kernel Internals". Ed. Addison-Wesley.
- A. S. Tanenbaum: “Sistemas operativos distribuidos”. Ed. Prentice Hall
- Leffler, McKusick, Karels, Quarterman. "The Design and Implementation of the 4.3 BSD UNIX Operating System. Ed. Addison-Wesley.
- Fco. Manuel Márquez: "UNIX Programación Avanzada". Ed. rama
- Keith Haviland, Ben Salama: "Unix System Programming". Ed. Addison-Wesley.