| CÓDIGO | NOMBRE | |
Asignatura |
1710015 |
SISTEMAS OPERATIVOS I |
Subject |
OPERATING SYSTEMS I | |
Titulación |
1710 |
INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN |
Departamento |
C137 |
LENGUAJES Y SISTEMAS INFORMATICOS |
Curso |
2 |
Créditos UCA |
|
Créditos ECTS |
5 |
Tipo |
Troncal |
Short Description |
|
Profesores |
Antonia Estero Botaro, antonia.estero@uca.es (Prof. coordinador) Juan José Domínguez Jiménez, juanjose.dominguez@uca.es Eugenio Juárez Clavaín, eugenio.juarez@uca.es José Antonio Ortega Pérez, joseantonio.ortega@uca.es Manuel Palomo Duarte, manuel.palomo@uca.es |
Objetivos |
Conseguir que el alumno adquiera los conocimientos fundamentales sobre la gestión de procesos y memoria en sistemas centralizados. Dotar al alumno de los conocimientos necesarios para el manejo de un sistema multiusuario como LINUX. Para poder conseguir estos objetivos sería recomendable que el alumno previamente haya cursado las asignaturas de Introducción a la programación, Estructuras de Datos I y Estructura y Tecnología de Computadores. |
Programa |
Programa de Teoría Tema 1:Introducción a los sistemas operativos (2 horas) 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 hardware de protección. Tema 2: Estructura y funciones de los sistemas operativos. (3 horas) 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. Tema 3: Descripción y control de procesos. (5 horas) 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 horas) 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.3.3 Planificación a corto plazo. 4.4 Algoritmos de planificación. 4.4.1 Primero en llegar, primero en ser servido. 4.4.2 El proceso más corto primero. 4.4.3 Tiempo restante más corto. 4.4.4 Tasa de respuesta más alta. 4.4.5 Asignación por turnos. 4.4.6 Prioridades. 4.4.7 Planificación en varios niveles. 4.4.8 Planificación en varios niveles con realimentación. 4.5 Evaluación de algoritmos de planificación. 4.5.1 Criterios del planificador a corto plazo. 4.5.2 Evaluación analítica. 4.5.3 Simulación. 4.5.4 Implementación. 4.6 Planificación en LINUX. Tema 5: Sincronización y comunicación (7 horas) 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 (3 horas) 6.1 Introducción. 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. Tema7: Administración de la memoria (4 horas) 7.1 Jerarquía del almacenamiento. 7.2 Traducción de direcciones. 7.3 Funciones del administrador de la 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. Programa de Prácticas: Uso del sistema operativo LINUX. Práctica 1: Instalación del sistema operativo LINUX. (1 sesión) Práctica 2: Configuración y manejo del entorno de trabajo. (1 sesión) Práctica 3: El sistema de ficheros ext2. (4 sesiones) Práctica 4: Permisos. (3 sesiones) Práctica 5: Aspectos básicos del shell bash. (2 sesiones) Práctica 6: Configuración del entorno del shell bash. (1 sesión) Práctica 7: Filtros. (2 sesiones) Cada sesión de prácticas es de 2 horas. |
Actividades |
Clases de teoría en aula: Se impartirán dos horas semanales de clases de teoría en aula. Clases prácticas: Para mejorar la comprensión de algunos temas de teoría se realizarán problemas que serán resueltos en el aula de teoría con la participación de los alumnos. Estas clases prácticas se realizarán a lo largo de todo el curso. Prácticas en aulas de informática: Se realizará una sesión semanal de dos horas de duración. Exámenes: Se realizarán los exámenes oficiales de la asignatura en las correspondientes convocatorias. Además de estos exámenes oficiales, se realizarán exámenes tipo test de forma periódica a lo largo del curso esto permitirá a los alumnos comprobar su grado de comprensión de la asignatura. Las notas de estos tests tendrán un peso en la nota final de la asignatura como se refleja en la sección evaluación. Estos tests se realizarán tanto de la parte teórica como de la parte práctica del temario de la asignatura. |
Metodología |
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. |
Criterios y sistemas de
evaluación |
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 ese caso, la nota de la asignatura será la media de las obtenidas en cada parte. Tanto en Teoría como en Prácticas se realizarán periódicamente exámenes tipo test, cuya puntuación formará parte de la nota final obtenida en la asignatura. En el caso de que se apruebe una de las partes (Teoría o Práctica) en Febrero o Junio, se guardará la nota hasta la convocatoria de Septiembre. 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. La nota tanto de la parte teórica como de la parte práctica de la asignatura tendrá 2 componentes: Nota = 0.2 (Nota tests) + 0.8 (Nota examen)} La nota de los tests realizados se obtendrá mediante la siguiente fórmula: (10 / Nº preguntas) × (Aciertos - Errores/2) |
Recursos bibliográficos |
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. Stallings, W. Sistemas Operativos, 4ª ed. Prentice Hall, 2002. Silberschatz, A., Galvin, P. & Gagne, G. Operting System Concepts with Java, 6º ed. John Wiley & Sons, Inc., 2004 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 Ben-Ari, M. Principles of Concurrent and Distributed Programming. Prentice Hall, 1990. Cornes, P. The Linux A-Z. Prentice Hall, 1997. Milenkovic, M. Sistemas Operativos. Conceptos y diseño. 2ª ed. McGraw Hill, 1994. Nutt, G. Sistemas Operativos, 3º ed. Addison Wesley, 2004. Editado por Purcell, J. & Robinson A. LINUX. The complete reference, 4ª ed. Linux Systems Lab, 1996. Rusling, D.A. The LINUX Kernel. http://www.linuxdoc.org/LDP/tlk/tlk.html 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 Domínguez, J.J. & Estero, A. Introducción al sistema operativo LINUX,2ª ed. Servicio de publicaciones del Dpto. de Lenguajes y Sistemas Informáticos, 2004. Cornes, P. The Linux A-Z. Prentice Hall, 1997. Bibliografía de Prácticas de consulta Andréasson T. & Skansholm, J. Getting Started with UNIX and X. Addison Wesley, 1993. Newham, C. & Rosenblatt, B. Learning the bash shell. O\\\'Reilly Assoc., 1995. Editado por Purcell, J. & Robinson A. LINUX. The complete reference, 4ª ed.} Linux Systems Lab, 1996. Wood, P.H. & Kochan, S.G. UNIX System Security. Hayden Books, 1990. |
El presente documento es propiedad de la Universidad de Cádiz y forma parte de su Sistema de Gestión de Calidad Docente.