Usted está aquí: Inicio web asignaturas

Fichas de asignaturas 2006-07


  CÓDIGO NOMBRE
Asignatura 1711016 SISTEMAS OPERATIVOS II
Titulación 1711 INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS
Departamento C137 LENGUAJES Y SISTEMAS INFORMATICOS
Curso 2  
Duración (A: Anual, 1Q/2Q) 2Q  
Créditos ECTS 4,5  

Créditos Teóricos 3 Créditos Prácticos 3 Tipo Troncal

 

Profesorado
Antonia Estero Botaro (antonia.estero@uca.es) (Prof. coordinador)
Manuel Palomo Duarte (manuel.palomo@uca.es)
Situación
prerrequisitos
Es aconsejable que el alumno haya cursado previamente las asignaturas
siguientes:
- Introducción a la programación
- Estructuras de Datos I
- Estructura y Tecnología de Computadores
- Sistemas Operativos I
Contexto dentro de la titulación

      
Competencias
Competencias transversales/genéricas
- Capacidad de análisis y síntesis.
- Comunicación oral y escrita.
- Resolución de problemas.
- Trabajo en equipo.
- Capacidad de organización.
- Razonamiento crítico.

Objetivos
Los objetivos específicos de la asignatura son:

- Conocer qué es un sistema de memoria virtual, las diferentes formas de
implementarlo y las ventajas e inconvenientes de cada una de ellas.

- Conocer los aspectos relacionados con la gestión de los dispositivos de E/S
por
parte del sistema operativo.

- Conocer el papel que juega el sistema operativo en la gestión de ficheros.

- Analizar los compromisos de diseño de los sistemas de ficheros, incluyendo
los métodos de asignación, gestión del espacio libre y las estructuras de
directorios.
- Conocer las diferencias que existen entre los sistemas centralizados y los
distribuidos en relación a:
- Objetivos de diseño
- Comunicación de procesos
- Sincronización de procesos
- Gestión de procesos
- Sistemas de ficheros
- Conocer y saber utilizar el lenguaje de programación que proporciona el shell
bash.
- Conocer las herramientas de control de recursos que proporciona Linux.
- Conocer las herramientas de monitorización del sistema Linux.
Programa
PROGRAMA DE TEORÍA

1. Memoria virtual. (8 horas)
1.1 Introducción.
1.2 El principio de localidad.
1.3 Fundamentos de paginación y segmentación.
1.4 Principios de operación.
1.4.1 El área de intercambio.
1.5 Estructuras hardware y de control.
1.5.1. Tabla de marcos.
1.5.2. Tabla de páginas.
1.6 Funciones del gestor de memoria virtual.
1.6.1. Política de lectura.
1.6.2. Política de colocación.
1.6.3. Política de sustitución.
1.6.4. Gestión del conjunto residente.
1.6.5. Política de limpieza.
1.6.6. Control de la carga y la hiperpaginación.
1.7. Gestión de memoria en LINUX.

2. Gestión de dispositivos. (4 horas)
2.1. Introducción.
2.2. Dispositivos de E/S.
2.2.1. Controladoras de dispositivos.
2.3. Organización del sistema de E/S.
2.4. Modos de realizar las operaciones de E/S.
2.4.1. E/S controlada por programa.
2.4.2. E/S controlada por interrupciones.
2.4.3. Acceso directo a memoria.
2.5. Optimización de las operaciones de E/S.
2.5.1. Técnicas de buffering.
2.5.2. Caché de disco.
2.5.3. Planificación de discos.
2.6. E/S en LINUX.

3. Sistemas de ficheros. (7 horas)
3.1. Introducción
3.2. Funciones del sistema de ficheros.
3.3. Interfaz del sistema de ficheros.
3.3.1. Ficheros.
3.3.2. Directorios.
3.4. Diseño del sistema de ficheros.
3.4.1. Agrupamiento de registros.
3.4.2. Métodos de asignación de espacio a los ficheros.
3.4.3. Gestión del espacio libre.
3.4.4. Implementación de directorios.
3.5. Fiabilidad del sistema de ficheros.
3.5.1. Copias de seguridad.
3.5.2. Consistencia del sistema de ficheros.
3.6. Rendimiento del sistema de ficheros.
3.7. Sistema de ficheros en LINUX.

4. Conceptos fundamentales de los sistemas distribuidos. (2 horas)
4.1. Definición de un sistema distribuido.
4.2. Sistemas paralelos.
4.3. Sistemas en red.
4.4. Sistemas distribuidos.
4.5. Comparativas entre los diferentes sistemas.
4.6. Objetivos de diseño de un sistema distribuido.
4.7. Servicios de un sistema distribuido.

5. Procesos distribuidos. (4 horas)
5.1. Introducción.
5.2. Comunicación entre procesos.
5.2.1. Paso de mensajes.
5.2.2. Llamadas a procedimientos remotos.
5.3. Sincronización.
5.3.1. Ordenación de eventos.
5.3.2. Exclusión mutua.
5.3.3. Interbloqueos.
5.4. Gestión de procesos.
5.4.1. Distribución de la carga y migración de procesos.
5.4.2. Planificación de procesos.

6. Recursos distribuidos. (3 horas)
6.1. Sistemas de ficheros distribuidos.
6.1.1. Servicio de ficheros.
6.1.2. Servicio de directorios.
6.1.3. Memoria caché.
6.1.4. Réplicas de ficheros.
6.2. Gestión de memoria en sistemas distribuidos.


PROGRAMA DE PRÁCTICAS

1. El lenguaje de programación del shell bash (6 sesiones)
2. Configuración del entorno de trabajo (1 sesión)
3. Inicialización del sistema Linux (1 sesión)
4. Herramientas de monitorización del sistema Linux (3 sesiones)
5. Control de los recursos del sistema Linux (3 sesiones)

Cada sesión de prácticas es de 2 horas.

Actividades
- Resolución de problemas en grupos
- Ejercicios tipo test
- Debates sobre diferentes aspectos de la materia
- Clases magistrales

Metodología
La metodología que se va a utilizar tanto en las clases de teoría como en las de
prácticas va a estar apoyada fundamentalmente en el trabajo del alumno que
mediante los problemas propuestos por el profesor y bajo la tutoría de éste debe
alcanzar los objetivos de aprendizaje y las competencias transversales indicadas
anteriormente.

El alumno dispondrá de información sobre cada tema (se le proporcionará a través
del campus virtual). Al inicio de cada tema el profesor expondrá los objetivos
de éste así como un breve resumen de su contenido.

El resto de las clases del tema se dedicarán a la resolución de problemas por
parte de los alumnos trabajando en grupos de 4 o 5 miembros. Las soluciones
propuestas por el grupo serán expuestas en clase por un miembro de éste y se
discutirán con el resto de los alumnos.

El trabajo realizado en clase se deberá complementar con el trabajo individual
del alumno, que dispondrá de ejercicios específicos para desarrollar fuera de
las horas de clase.

Los alumnos deberán elaborar un portafolio que debe contener todos los trabajos
que hayan realizado a lo largo del curso. Este portafolio servirá para
determinar el trabajo realizado por el alumno, y establecer al alumno un
mecanismo de organización de toda la materia de la asignatura. Este portafolio
podrá ser solicitado por el profesor durante el curso para su revisión, y será
de
obligada entrega al finalizar el curso para proceder a la evaluación del alumno.


Distribución de horas de trabajo del alumno/a

Nº de Horas (indicar total): 125

  • Clases Teóricas: 7  
  • Clases Prácticas: 26  
  • Exposiciones y Seminarios:  
  • Tutorías Especializadas (presenciales o virtuales):
    • Colectivas: 6 (virtuales)  
    • Individules: 1  
  • Realización de Actividades Académicas Dirigidas:
    • Con presencia del profesorado: 19  
    • Sin presencia del profesorado: 15  
  • Otro Trabajo Personal Autónomo:
    • Horas de estudio: 30  
    • Preparación de Trabajo Personal:  
    • ...
      Elaboración del
      portafolio   17
       
  • Realización de Exámenes:
    • Examen escrito: 3  
    • Exámenes orales (control del Trabajo Personal):  
Técnicas Docentes
Sesiones académicas teóricas:   Exposición y debate:   Tutorías especializadas:  
Sesiones académicas Prácticas:   Visitas y excursiones:No   Controles de lecturas obligatorias:  
Otros (especificar):
Realización de ejercicios en grupos.
Debates sobre temas de la asignatura.

 
Criterios y Sistemas de Evaluación
Se va a realizar una evaluación contínua del trabajo del alumno en la
asignatura en la que se valorarán tanto los conocimientos específicos adquiridos
como las competencias transversales.

Los conocimientos específicos se evaluarán mediante exámenes de tipo test que
se realizarán después de cada tema a través del campus virtual. La nota de los
tests se obtendrá mediante la siguiente fórmula:

(10 / Nº preguntas) × (Aciertos - Errores/(Nº respuestas - 1))

La evaluación de las competencias transversales se llevará a cabo valorando la
participación de los alumnos durante las clases (trabajo en grupo, exposición de
resultados, etc.) así como mediante la valoración del portafolio, que será
revisado, al menos una vez, por el profesor a lo largo del curso previa cita con
el alumno. Esta valoración será ponderada por los siguientes aspectos:
- asistencia a clase - 5%
- participación en los debates - 15%
- trabajo en equipo - 20%
- presentación de resultados - 10%
- elaboración de portafolio - 20%
- asistencia a la tutoría individual de revisión del portafolio - 10%
- controles de lectura previos - 20%

La nota final se obtendrá mediante la siguiente fórmula:


Nota final = 0.3 * NTT + 0.15 * NTP + 0.15 * NPP + 0.3 * NCT + 0.1 * EP

donde:

NTT: Nota media tests Teoría
NTP: Nota media tests Prácticas (Administración Linux)
NPP: Nota Programa en Perl
NCT: Nota Competencias Transversales
EP:  Nota Ejercicios Prácticas

Para poder aplicar estas fórmulas se deberá obtener una nota mínima de 4 puntos
en los componentes NTT y NTP. Aquellos alumnos que no alcancen esta nota tendrán
la posibilidad a final de curso de recuperar aquellos temas que no hayan
superado
inicialmente.

Los alumnos, que aún habiendo seguido el método de evaluación continua no
consigan superar la asignatura en la convocatoria de febrero, podrán realizar
un examen en las convocatoria de junio o septiembre de la parte no superada
(NTP o NTT), así como entregar el programa en Perl que se le solicite.

Los alumnos que acrediten estar trabajando y que no puedan asistir a las clases
podrán optar por un modo alternativo de evaluación que consistirá en un examen
final de la asignatura. El plazo para adherirse a esta forma alternativa de
evaluación será el primer mes del curso, para ello deberán entregar un
certificado de la empresa en la que trabajan. En este caso, el método de
evaluación será un examen final.

Recursos Bibliográficos
Bibliografía de Teoría Básica

Estero, A. & Domínguez, J.J.
Sistemas Operativos. Conceptos fundamentales.
Servicio de Publicaciones de la Universidad de Cádiz, 2002.

Deitel, H.M.; Deitel, P.J. & Choffnes, D.R.
Operating Systems, 3ª ed.
Pearson, 2004.

Silberschatz, A.; Galvin, P. B. & Gagne, G.
Fundamentos de Sistemas Operativos, 7ª Edición
McGraw-Hill, 2006.

Stallings, W.
Sistemas Operativos, 5ª ed.
Prentice Hall, 2005.

Carretero, J.; García, F.; De Miguel, P. & Pérez, F.
Sistemas Operativos. Una visión aplicada.
McGraw Hill, 2001.

Tanenbaum, A.S.
Modern Operating Systems, 2ª ed.
Prentice Hall, 2001.

Bibliografía de Teoría de consulta

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.

Milenkovic, M.
Sistemas Operativos. Conceptos y diseño. 2"a ed.
McGraw Hill, 1994.

Nutt, G.
Sistemas Operativos, 3ª ed.
Addison Wesley, 2004.

Editado por Purcell, J. & Robinson A.
LINUX. The complete reference, 4"a ed.
Linux Systems Lab, 1996.

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"a ed.
Prentice Hall Hispanoamericana, 1998.

Bibliografía de Prácticas básica

Domínguez, J.J. & Estero, A.
Introducción al shell bash. Cuarta edición.
Servicio de publicaciones del Dpto. de Lenguajes y Sistemas Informáticos,
2002.

Linux. Administración del sistema y la red
Iñaki Alegría Loinaz, Roberto Cortiñas Rodríguez, Aitzol Ezeiza Ramos
Ed. Pearson, 2005

Ajuste y Planificación con Linux
Fink / Shere
Ed. Pearson, 2003

SUSE LINUX 10 BIBLE
Davies, Justin; Whittaker, Roger; Hagen, William von (WILEY)
Ed. Sams, 2006

Software libre para una sociedad libre
Richard M. Stallman
Ed. Traficante de sueños, 2004

Linux Shell Scripting with Bash
Ken O. Burtch
SAMS, 2004


GNU Bash Reference Manual
Chet Ramey and Brian Fox
Network Theory Limited, 2003

Bibliografía de Prácticas de consulta

Learning the bash Shell
Cameron Newham
O'Reilly, 3rd Edition,2005

Bandel, D. & Napier, R.
Linux 6ª Edición
Prentice Hall, 2000.

Wells, N.
Guide to Linux Installation and Administration, Second ed.
Thomson, 2003.


Editado por Purcell, J. & Robinson A.
LINUX. The complete reference, 4"a ed.
Linux Systems Lab, 1996.


Configuración de sistemas Linux
Daniel L. Morrill
Anaya Multimedia, 2003

La Biblia de Administración de sistemas Linux
Dee-Ann Leblanc
col. La Biblia de, Ed. Anaya Multimedia, 2001


SUSE™ Linux 10 Unleashed
Michael McCallister
Sams, 2005

Linux(R) Debugging and Performance Tuning : Tips and Techniques
Steve Best
Prentice Hall, 2005


Self-Service Linux: Determining Problems and Finding Solutions
Mark Wilding
Prentice Hall PTR,2005


Linux and Unix Shell Programming
David Tansley
Addison-Wesley Pub Co, 1999

Classic Shell Scripting
By Nelson H.F. Beebe, Arnold Robbins
O'Reilly, 2005


Performance Tuning for Linux Servers
Sandra K. Johnson, Gerrit Huizenga, Badari Pulavarty
IBM Press, 2005

El presente documento es propiedad de la Universidad de Cádiz y forma parte de su Sistema de Gestión de Calidad Docente.