Usted está aquí: Inicio web asignaturas

 

Fichas de asignaturas 2009-10


SISTEMAS OPERATIVOS II

Asignaturas
 

  Código Nombre    
Asignatura 1711016 SISTEMAS OPERATIVOS II Créditos Teóricos 3
Descriptor   OPERATING SYSTEMS II Créditos Prácticos 3
Titulación 1711 INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS Tipo Troncal
Departamento C137 LENGUAJES Y SISTEMAS INFORMATICOS    
Curso 2      
Duración (A: Anual, 1Q/2Q) 2Q      
Créditos ECTS 4,5      

Para el curso Créditos superados frente a presentados Créditos superados frente a matriculados
2007-08 82.4% 70.7%

 

 

Pulse aquí si desea visionar el fichero referente al cronograma sobre el número de horas de los estudiantes.

Profesorado

Juan José Domínguez Jiménez (juanjose.dominguez@uca.es) (Prof. coordinador)
Antonia Estero Botaro (antonia.estero@uca.es)
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

Esta asignatura se enmarca en el segundo curso como una continuación natural
de la asignatura Sistemas Operativos I. El objetivo es proporcionar al alumno
una visión de aquellos aspectos de los sistemas operativos multiusarios y
multiprogramados que no pudieron ser recogidos en la primera asignatura, tales
como la gestión de memoria y de la E/S, los sistemas de ficheros y abordar los
aspectos fundamentales sobre los sistemas distribuidos.

Asimismo, pretende iniciar al alumnado en la programación del shell del sistema
operativo LINUX, así como dar a conocer las herramientas de control y
monitorización de dicho sistema.

Recomendaciones

Sería recomendable que el alumno dispusiera de un ordenador personal donde
instalarse el sistema operativo LINUX con objeto de obtener un mejor
aprovechamiento de los contenidos impartidos en la asignatura.

Competencias

Competencias transversales/genéricas

- Capacidad de análisis y síntesis.
- Comunicación escrita.
- Resolución de problemas.
- Trabajo en equipo.
- Capacidad de organización.
- Razonamiento crítico.
- Preparación y presentación de documentación.

Competencias específicas

  • Cognitivas(Saber):

    - Conocer las técnicas de gestión de memoria en los sistemas
    operativos actuales.
    - Diferenciar los componentes que intervienen en la realización de
    una operación de E/S.
    - Conocer las diferentes estructuras que pueden adoptar los sistemas
    de ficheros.
    - Conocer los conceptos básicos relacionados con los sistemas
    operativos distribuidos.
    - Conocer las diferentes herramientas y estrategias existentes en un
    sistema operativo distribuido para la resolución de problemas de
    sincronización, comunicación y réplica.
    
  • Procedimentales/Instrumentales(Saber hacer):

    - Evaluar diferentes soluciones a un problema y determinar la
    solución óptima.
    - Resolución de problemas de gestión de memoria de procesos.
    - Resolución de problemas de sistemas de ficheros.
    - Manejo del sistema operativo Linux como usuario avanzado.
    - Programación del sistema operativo Linux en un lenguaje
    interpretado.
    - Interpretación de documentación técnica.
    - Evaluar con ayuda del profesor la solución a un ejercicio realizado
    por un compañero.
    
    
  • Actitudinales:

    - Aprendizaje autónomo.
    - Planificación de las actividades a desarrollar.
    - Toma de decisiones.
    
    

Objetivos

Los objetivos específicos de la asignatura son:
- Conocer las técnicas de gestión de memoria en sistemas de asignación contigua.
- 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

Bloque 1:  Memoria
1. Administración de la memoria
1.1 Introducción.
1.2 Traducción de direcciones.
1.3 Funciones del administrador de la memoria.
1.4 Esquemas de asignación de la memoria.
1.5 Sistemas de asignación contigua
1.6 Sistemas de asignación no contigua

2. Memoria virtual
2.1 Introducción
2.2 El principio de localidad.
2.3 Fundamentos de paginación y segmentación.
2.4 Principios de operación.
2.5 Estructuras hardware y de control.
2.6 Funciones del gestor de memoria virtual.
2.7. Gestión de memoria en LINUX.

Bloque 2: E/S
3. Gestión de dispositivos.
3.1. Introducción.
3.2. Dispositivos de E/S.
3.3. Organización del sistema de E/S.
3.4. Modos de realizar las operaciones de E/S.
3.5. Optimización de las operaciones de E/S.
3.6. E/S en LINUX.

4. Sistemas de ficheros.
4.1. Introducción
4.2. Funciones del sistema de ficheros.
4.3. Interfaz del sistema de ficheros.
4.4. Diseño del sistema de ficheros.
4.5. Fiabilidad del sistema de ficheros.
4.6. Rendimiento del sistema de ficheros.
4.7. Sistema de ficheros en LINUX.

Bloque 3: Sistemas distribuidos
5. Introducción a los sistemas distribuidos.
5.1. Sistemas multiprocesadores.
5.2. Objetivos de diseño de un sistema distribuido.
5.3. Gestión de procesos.
5.4 Comunicación de procesos.
5.5 Sincronización de procesos.
5.6 Sistemas de ficheros distribuidos.

PROGRAMA DE PRÁCTICAS

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

Actividades

- Resolución de ejercicios en grupos e individuales
- Debates sobre diferentes aspectos de la materia
- Explicaciones del profesor
- Realización de prácticas con ordenador
- Realización de cuestionarios de autoevaluación
- Evaluación de ejercicios realizados por compañeros
- Elaboración de un portafolio que contenga todos los trabajos realizados sobre
la asignatura
- Realización de un programa en el lenguaje de programación del shell bash

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 en dos pilares fundamentales:
- Explicaciones del profesor de los aspectos más importantes y complejos de la
materia.
- Realización de ejercicios por parte de los alumnos. Se realizarán ejercicios
en grupo e individuales.

La combinación de ambas actividades permitirá a los alumnos alcanzar los
objetivos de aprendizaje y las competencias transversales indicadas
anteriormente.

Para poder seguir esta metodología se proporcionará al alumno antes de la
impartición de cada tema la información necesaria para abordar su estudio:
contenido, objetivos, apuntes, etc. Durante el transcurso del tema se irán
proporcionando los ejercicios adecuados que permitirán alcanzar los objetivos de
aprendizaje propuestos.

Las clases constarán de explicaciones del profesor que irán seguidas
de la realización de ejercicios en grupo por parte de los alumnos que se
entregarán al final de la clase.

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 y que también deberá entregar al profesor.

Los alumnos deberán elaborar un portafolio que debe contener todos los trabajos
que hayan realizado a lo largo del curso. El objetivo docente del portafolio es
dotar al alumno de la competencia sobre preparación y presentación de
documentación. El portafolio será solicitado por el profesor a final de curso
para su revisión y evaluación.

La asignatura dispondrá de un espacio en el campus virtual donde estará toda la
información de la misma. En él se habilitarán una serie de foros temáticos para
la participación de los alumnos y la resolución de dudas.

Distribución de horas de trabajo del alumno/a

Nº de Horas (indicar total): 112.5

  • Clases Teóricas: 13  
  • Clases Prácticas: 13  
  • Exposiciones y Seminarios:  
  • Tutorías Especializadas (presenciales o virtuales):
    • Colectivas: 4  
    • Individules:  
  • Realización de Actividades Académicas Dirigidas:
    • Con presencia del profesorado: 30  
    • Sin presencia del profesorado: 11.5  
  • Otro Trabajo Personal Autónomo:
    • Horas de estudio: 38  
    • Preparación de Trabajo Personal:  
    • ...
        
  • Realización de Exámenes:
    • Examen escrito: 3  
    • Exámenes orales (control del Trabajo Personal):  

Técnicas Docentes

Sesiones académicas teóricas:Si   Exposición y debate:No   Tutorías especializadas:Si  
Sesiones académicas Prácticas:Si   Visitas y excursiones:No   Controles de lecturas obligatorias:No  
Otros (especificar):
- Realización de ejercicios en grupo e individuales
- Participación en los foros de la asignatura
- Preparación de un portafolio de la asignatura
- Realización de ejercicios de autoevaluación
- Exámenes con coevaluación
 

Criterios y Sistemas de Evaluación

Se va a realizar una evaluación continua 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, algunos de los
cuales pueden ser de tipo test, y la realización de un programa en el lenguaje de
programación del shell bash.

La nota de los exámenes tipo test se obtendrá mediante la siguiente fórmula:

Nota=(10/Nº preguntas) × (Aciertos - Errores/(Nº respuestas - 1) - Blancos*0,1)

Algunos exámenes tendrán asociada una coevaluación, donde los alumnos deberán
calificar, bajo la supervisión del profesor, los ejercicios de dos compañeros
elegidos al azar. Para ello, el profesor presentará una solución canónica y los
criterios de corrección a emplear. Si tras revisar el resultado de una
coevaluación los profesores detectan negligencia o fraude, el ejercicio del
alumno corrector se calificará con 0.

La nota obtenida en estos exámenes se obtendrá mediante la siguiente fórmula:

Nota= 0.9 * Nota examen + Coevaluación

El componente Coevaluación tendrá en cuenta la desviación entre la nota otorgada
por el alumno al examen de su compañero y la dada por el profesor. Si la
desviación es superior a 0,5 puntos se obtendrá un 0, si está entre 0 y 0,5 se
obtendrá 0,5 puntos, si ambas notas coindiciden se obtendrá un 1.

La evaluación de las competencias transversales se llevará a cabo valorando la
participación de los alumnos en las clases y en los foros de la asignatura, así
como mediante la valoración del portafolio.

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

Nota final = 0.4 * Teoría + 0.2 * Bash + 0.2 Linux Int. + 0.2 * Actividades

donde:

Teoría: Nota media obtenida en exámenes y ejercicios individuales de Teoría
Bash: Nota obtenida en el programa realizado empleando el lenguaje del shell Bash
Linux Int.: Nota obtenida en examen sobre Aspectos internos de Linux
Actividades: Nota de otras actividades académicas desarrolladas a lo largo del
curso. Estas actividades valorarán los siguientes aspectos:
* Portafolio: 5%
* Realización de ejercicios a lo largo de la asignatura: 15%

Además se valorará la participación de los alumnos en los foros de dudas de la
asignatura con hasta 0,5 puntos.

Para poder aplicar estas fórmulas se deberá obtener una nota mínima de 4 puntos
(sobre 10) en los componentes Teoría, Bash y Linux Interno.
Los componentes Teoría, Bash y Linux Interno serán los únicos que
podrán recuperarse en las convocatorias oficiales establecidas por la
Universidad. Estos componentes se recuperarán mediante un examen final (Teoría y
Administración) o mediante la entrega de un programa (Bash).

La nota del programa de Bash se irá ponderando según sea la primera convocatoria
donde el alumno realiza su primera entrega:
- Mayo (al no ser convocatoria oficial, el plazo será fijado al inicio de la
asignatura): 100%
- Junio: 75%
- Septiembre: 50%
- Enero: 25%

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.

Silberschatz, A.; Galvin, P. B. & Gagne, G.
Operating System Concepts, 8th Edition
John Wiley & Sons, Inc., 2008

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

Stallings, W.
Operating Systems. Internals and Design Principles, 6th ed.
Pearson, 2008.
Página web con recursos para estudiantes:
http://williamstallings.com/OS/OS6e.html



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

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

----------------------------------
Bibliografía de Teoría de consulta
----------------------------------
Linux Kernel 2.4 Internals
Tigran Aivazian, 2004
http://tldp.org/guides.html

Linux Filesystem Hierarchy
Binh Nguyen, 2004
http://tldp.org/guides.html

Chow, R. & Johnson, T
Distributed Operating Systems & Algorithms.
Addison Wesley, 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.


Rusling, D.A.
The LINUX Kernel.
http://www.tldp.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. En aplicación de la Ley 3/2007, de 22 de marzo, para la igualdad efectiva de mujeres y hombres, así como la Ley 12/2007, de 26 de noviembre, para la promoción de la igualdad de género en Andalucía, toda alusión a personas o colectivos incluida en este documento estará haciendo referencia al género gramatical neutro, incluyendo por lo tanto la posibilidad de referirse tanto a mujeres como a hombres.