Sistemas Operativos
La asignatura de Sistemas Operativos pertenece a la materia Sistemas Informáticos, siendo la primera asignatura de la materia que se cursa. El resto de las asignaturas (Sistemas distribuidos e Internet, Administración de sistemas y redes, Seguridad de sistemas informáticos) se cursarán en el sexto semestre del grado.
En la asignatura se estudiarán las bases organizativas, los conceptos básicos y los servicios que ofrece un componente fundamental en todo sistema informático, como es el sistema operativo. Esto sentará las bases para poder estudiar las demás asignaturas de la materia.
Para comprender adecuadamente la materia a tratar y poder cursar la asignatura en buenas condiciones es necesario que el alumno siga el itinerario recomendado en la memoria de verificación. En concreto, es importante que el alumno haya cursado con anterioridad las siguientes asignaturas:
- Fundamentos de informática.
- Arquitectura de computadores.
- Estadística.
- Tecnología Electrónica de Computadores.
- Fundamentos de Computadores y Redes
- Estructura de Datos
- Introducción a la Programación
- Metodología de la Programación
En todas esas asignaturas se introducen conceptos que se considerarán conocidos en la impartición de Sistemas Operativos.
En términos de competencias, el alumno debe tener, con anterioridad a cursar la asignatura, las siguientes:
- Capacidad para la resolución de los problemas matemáticos que puedan plantearse en la ingeniería. Aptitud para aplicar los conocimientos sobre estadística y optimización.
- Capacidad para diseñar, desarrollar, seleccionar y evaluar aplicaciones y sistemas informáticos, asegurando su fiabilidad, seguridad y calidad, conforme a principios éticos y a la legislación y normativa vigente.
- Conocimiento y aplicación de los procedimientos algorítmicos básicos de las tecnologías informáticas para diseñar soluciones a problemas, analizando la idoneidad y complejidad de los algoritmos propuestos.
- Conocimiento, diseño y utilización de forma eficiente los tipos y estructuras de datos más adecuados a la resolución de un problema.
- Capacidad de conocer, comprender y evaluar la estructura y arquitectura de los computadores, así como los componentes básicos que los conforman.
La asignatura de Sistemas Operativos se encuadra dentro de la materia "Sistemas Informáticos". Dicha materia está descrita en las páginas 5-66 a 5-72 de la memoria de verificación del título de Grado en Ingeniería Informática del Software.
Las competencias asignadas en dicho módulo a la asignatura son las siguientes:
- CG-4: Análisis y síntesis
- CG-7: Destreza en la expresión escrita
- CG-9: Habilidades de Comunicación oral (bien directa, bien apoyada por medios audiovisuales)
- CG-11: Competencia para el trabajo en equipo
- Bas.4: Conocimientos básicos sobre el uso y programación de los ordenadores, sistemas operativos, bases de datos y programas informáticos con aplicación en ingeniería.
- Com.1: Capacidad para diseñar, desarrollar, seleccionar y evaluar aplicaciones y sistemas informáticos, asegurando su fiabilidad, seguridad y calidad, conforme a principios éticos y a la legislación y normativa vigente.
- Com.2: Capacidad para planificar, concebir, desplegar y dirigir proyectos, servicios y sistemas Informáticos en todos los ámbitos, liderando su puesta en marcha y su mejora continua y valorando su impacto económico y social.
- Com.10: Conocimiento de las características, funcionalidades y estructura de los Sistemas Operativos y diseñar e implementar aplicaciones basadas en sus servicios.
- Com.14: Conocimiento y aplicación de los principios fundamentales y técnicas básicas de la programación paralela, concurrente, distribuida y de tiempo real
Los resultados de aprendizaje de la asignatura son los siguientes:
- RA.SI-1. Identificar el papel del sistema operativo, distinguiendo sus relaciones con el hardware y con las aplicaciones del usuario, así como las distintas funciones que debe llevar a cabo, analizando su diseño interior y siendo capaces de implementar a pequeña escala dicha funcionalidad básica.
- RA.SI-3. Diseñar e implementar aplicaciones centralizadas utilizando servicios del sistema operativo así como aplicaciones y servicios distribuidos.
- RA.SI-4. Analizar las implicaciones del uso de hilos en una aplicación. comprendiendo las implicaciones en la compartición de recursos y utilizando los mecanismos básicos de comunicación y sincronización para solventar los posibles problemas a que dicha compartición pueda dar lugar.
- RA.SI-5. Instalar, configurar, y utilizar a nivel de usuario de manera adecuada un sistema informático.
- RA.SI-6. Conocer los aspectos implicados en la gestión de los recursos del sistema, siendo capaz de planificar su explotación y su posible crecimiento.
- RA.SI-8. Diseñar sistemas informáticos seguros, incluyendo las aplicaciones que puedan incluir.
- RA.SI-9. Trabajar en equipo en la elaboración trabajos en los que sea preciso desarrollar una documentación técnica y exponer el resultado a través de una presentación oral.
- RA.SI-10. Manejar mapas conceptuales y otras herramientas de síntesis y abstracción de características relevantes.
Con esta asignatura el alumno adquirirá conocimientos acerca de las partes que componen un sistema operativo, comprendiendo su funcionamiento y el modo en que se realiza la gestión de los recursos existentes en el sistema de computación, así como la importancia que tiene en el mismo.
El alumno trabajará y adquirirá destreza y conocimientos acerca de los sistemas operativos en tres niveles diferentes a través de esta asignatura:
- Nivel de usuario, mediante el cual el alumno reconoce, utiliza y diferencia las herramientas de alto nivel que acompañan al sistema operativo.
- Nivel de programador de aplicaciones, que proporciona al alumno una visión directa y global de las funciones que el Sistema Operativo ofrece a través de su interfaz de llamadas al sistema.
- Nivel de diseñador, a través del cual el alumno descubre, desarrolla y relaciona las funciones y mecanismos que proporciona el sistema operativo.
Como objetivos específicos podemos señalar:
- Conocer la necesidad de tener sistemas operativos eficientes en un sistema de computación.
- Conocer las distintas partes que integran un sistema operativo, cómo se relacionan entre ellas y con su entorno: el hardware de la máquina y el software de aplicación.
- Ver cómo se implementa en algún sistema operativo real la gestión de los recursos vista en teoría.
- Ser capaces de implementar algunos de los subsistemas que constituyen un sistema operativo.
- Conocer los servicios que ofrecen los sistemas operativos a los distintos tipos de usuarios: usuario de aplicaciones, usuario programador y administrador del sistema. Conocer, tanto internamente como desde el punto de vista del usuario, alguno de los sistemas operativos más utilizados en la actualidad.
- Tema 1. Introducción
- Concepto y funciones del Sistema Operativo
- Arranque y activación del Sistema
- Tipos de Sistemas Operativos
- Componentes de los Sistemas Operativos
- Interfaces que ofrece el Sistema Operativo
- Diseño de los Sistemas Operativos
- Evolución de los Sistemas Operativos
- Tema 2. Gestión de Procesos
- Conceptos básicos de gestión de procesos
- Elementos de un proceso
- Ciclo de vida de un proceso
- Hilos o procesos ligeros
- Planificación de procesos e hilos
- Tema 3. Concurrencia
- Revisión de conceptos de Programación Concurrente
- Papel del SO para la gestión de la Concurrencia
- Mecanismos de Sincronización
- Mecanismos de Comunicación
- Interbloqueo
- Tema 4. Gestión de Memoria
- Conceptos básicos de gestión de memoria
- Esquemas de asignación de memoria
- Memoria Real
- Memoria Virtual
- Administración de la Memoria Virtual
- Tema 5. Gestión de Entrada/Salida
- Introducción a la gestión de entrada/salida
- Hardware de E/S
- Comunicación entre dispositivo y Sistema Operativo
- Software de E/S
- Ejemplos de gestión de dispositivos
- Tema 6. Gestión de archivos
- El Sistema de Gestión de Ficheros
- Ficheros
- Directorios
- El sistema de ficheros
- Respaldo y recuperación
- Tema 7. Seguridad y protección
- Conceptos básicos de seguridad de sistemas informáticos
- La seguridad y el Sistema Operativo
- Autenticación de usuarios
- Control de acceso a recursos
- Malware
Para llevar a cabo un aprendizaje activo y desarrollar las competencias que han sido marcadas en esta asignatura se plantean distintos tipos de actividades. Todas ellas contribuyen al desarrollo de las competencias técnicas que han sido definidas para la asignatura y cada una de ellas contribuye al desarrollo de ciertas competencias transversales concretas. Las técnicas empleadas son las siguientes:
- Uso de mapas conceptuales para la organización y estructuración del conocimiento respecto a la estructura y funcionamiento Sistema Operativo.
- Realización de evaluaciones de tipo test a través del campus virtual o de otros medios, como parte de la evaluación formativa.
- Técnicas de resolución de problemas en las clases de seminario y trabajo no presencial.
- Elaboración de prácticas guiadas, en el laboratorio, de manera individual, para la adquisición de destreza en el manejo del sistema operativo Unix a nivel de usuario.
- Elaboración de un proyecto global de diseño e implementación, en el laboratorio, y de manera individual, de la funcionalidad básica de un sistema operativo didáctico: gestión de procesos, memoria, y ficheros. Este proyecto constituye la puesta en práctica del fundamento teórico desarrollado en las clases expositivas y de seminario. Se tiene en cuenta la coordinación en el tiempo de este trabajo con la materia trabajada en las clases de teoría y seminarios.
- Elaboración de trabajos en grupo, para la mejora en las destrezas de expresión escrita, búsqueda y síntesis de información.
- Presentación oral de un trabajo para la adquisición de destreza en comunicación oral, apoyada en medios audiovisuales.
De forma excepcional, si las condiciones sanitarias lo requieren, se podrán incluir actividades de docencia no presencial. En cuyo caso, se informará al estudiantado de los cambios efectuados.
Las siguientes tablas resumen los contenidos que se van a tratar por tipos de actividad, indicando también el número de horas presenciales y no presenciales.
TRABAJO PRESENCIAL | TRABAJO NO PRESENCIAL | |||||||||
Temas | Horas totales | Clase Expositiva | Prácticas de aula | Prácticas de laboratorio | Tutorías grupales | Sesiones de Evaluación | Total | Trabajo grupo | Trabajo autónomo | Total |
1. Introducción | 31,4 | 3 | 1 | 6 | 0,2 | 0,2 | 10,4 | 8 | 10 | 21 |
2. Gestión Procesos | 31,8 | 4 | 1 | 10 | 0,6 | 0,4 | 15,8 | 16 | 16 | |
3. Concurrencia | 21,5 | 2 | 0 | 0 | 0 | 0,25 | 3,5 | 8 | 18 | |
4. Gestión de Memoria | 25,8 | 4 | 2 | 6 | 0,6 | 0,4 | 11,8 | 16 | 14 | |
5. Gestión de E/S | 17,6 | 3 | 1 | 4 | 0,3 | 0,3 | 8,6 | 12 | 9 | |
6. Gestión de Ficheros | 19,7 | 4 | 1 | 2 | 0,2 | 0,35 | 7,7 | 16 | 12 | |
7. Seguridad | 2,2 | 1 | 1 | 0 | 0,1 | 0,1 | 2,2 | 4 | 0 | |
Total | 150 | 21 | 7 | 28 | 2 | 2 | 60 | 8 | 82 | 90 |
El resumen de las actividades a realizar se muestra en la siguiente tabla:
MODALIDADES | Horas | % (1) | % (2) | Totales | |
Presencial | Clases Expositivas | 21 | 35,00 | 14,00 | 60 |
Práctica de aula | 7 | 11,67 | 4,67 | ||
Prácticas de laboratorio | 28 | 46,67 | 18,67 | ||
Tutorías grupales | 2 | 3,33 | 1,33 | ||
Sesiones de evaluación | 2 | 3,33 | 1,33 | ||
No presencial | Trabajo en Grupo | 8 | 8,89 | 5,33 | 90 |
Trabajo Individual | 82 | 91,11 | 54,67 | ||
Total | 150 |
(1) Porcentaje sobre el total de horas Presencial o No presencial.
(2) Porcentaje sobre el total de horas de la asignatura.
Convocatoria ordinaria
La evaluación del aprendizaje se realizará a través de un proceso de evaluación continua basado en:
- Nota de controles de Teoría (NCT): Se realizarán dos exámenes, que podrá incluir preguntas de tipo test, de respuesta corta y de respuesta larga, aproximadamente con la mitad de la materia cada uno
- Nota de Trabajo Individual de Teoría (NTIT): Se realizarán una serie test y ejercicios en clase y de manera no presencial que el alumno deberá realizar de manera individual. La calificación media de todos ellos constituirá NTIT. Para obtener esta nota se requiere obtener al menos 3,5 puntos en el 80% de las pruebas realizadas.
- Nota de Trabajos Grupales de Teoría (NTGT): Se evaluará la realización en grupo de un trabajo para sobre la temática que se determine en su momento y la exposición oral del mismo.
- Nota de Prácticas de Laboratorio (NPL): En función del tipo de práctica la evaluación de cada una será distinta y se dará conocer al alumnado al comienzo de la misma. Así, en algunas prácticas se realizará un examen sobre la materia tratada en dicha práctica; en otras de desarrollo de proyectos de realización individual, se evaluará dicho proyecto; y en algunos casos, además, el estudiante defenderá cada proyecto planteado en un examen donde se podrán proponer diversas modificaciones al mismo.
Se aplicarán mecanismos automatizados de detección de plagios en el código de las prácticas. De la misma manera, para el resto de trabajos individuales y grupales se emplearán todas aquellas técnicas que se estime oportuno para detectar cualquier tipo de comportamiento ilícito. Se aplicará el Reglamento de evaluación de los resultados de aprendizaje y las competencias adquiridas por el alumnado.
Para superar este proceso de evaluación continua se requiere:
- Asistencia Mínima. Para poder calcular las notas de las actividades prácticas de laboratorio (NPL) se requiere una asistencia mínima de un 80% en clases de laboratorio.
- Puntuación Mínima: Se requiere obtener al menos 3,5 puntos (sobre 10) en cada uno de los dos exámenes parciales de teoría, y en las Prácticas de Laboratorio salvo una.
Si se cumplen los requisitos anteriores, la nota final se calculará como:
Nota final = 0,3 * NCT + 0,1 * NTIT + 0,1 * NTGT + 0,6 * NPL
Si no se cumplen y el estudiante ha participado en actividades de evaluación cuyo peso en la calificación total suponga al menos el 50%, la nota final será de:
Nota final = Suspenso, con calificación numérica=mínimo (Nota final, 4).
En otro caso se considerará al alumno como no presentado.
Nótese que no habrá exámenes finales en la convocatoria ordinaria.
Convocatorias extraordinarias
Las notas del trabajo individual (NTIT) y del trabajo en grupo (NTGT) se conservarán hasta la convocatoria extraordinaria adelantada (enero) del curso siguiente, no pudiendo volver a obtenerse en las convocatorias extraordinarias.
De la misma forma, en caso de que la nota de teoría (NCT) o la nota de prácticas de laboratorio (NPL) sean mayores o iguales que 4, dichas notas se conservarán hasta la convocatoria extraordinaria adelantada (enero) del curso siguiente, debiendo el alumno presentarse a aquella parte que no cumpla esta condición y pudiendo en cualquier caso presentarse al examen teórico o al práctico para modificar la nota anterior (en este caso, el estudiante perdería la calificación anterior, siendo sustituida por la nota obtenida en este examen).
Respecto a la teoría
Se realizará un único examen final con el contenido de toda la materia tratada en la teoría, dando lugar a la nota NCT.
Respecto a las prácticas
Se realizará un único examen final. El alumno deberá entregar un único proyecto que englobe todas las prácticas realizadas durante el curso. Además, el estudiante defenderá dicho proyecto en un examen en la que se podrán proponer diversas modificaciones al mismo. De esta forma se calculará la nota de la parte de prácticas (NPL).
Cálculo de la nota final
La nota final se calculará igual que en la convocatoria ordinaria si NCT y NPL son al menos 3,5:
Nota final = 0,3 * NCT + 0,1 * NTIT + 0,1 * NTGT + 0,6 * NPL
En caso contrario, la nota final será de:
Nota final = Suspenso, con calificación numérica=mínimo (Nota final, 4).
Sistema de evaluación diferenciado
Para aquellos alumnos acogidos al modelo de evaluación diferenciada, el sistema de evaluación será el mismo, tanto en la convocatoria ordinaria como en la extraordinaria, con las siguientes matizaciones:
- Estarán eximidos de los requisitos mínimos de presencialidad.
- Deberán realizar la prueba presencial en cada entrega de prácticas.
- Deberán realizar los controles teóricos de manera presencial.
- El trabajo en grupo se realizará trabajando de manera no presencial con el resto de componentes del grupo, debiendo acudir presencialmente sólo a la defensa del mismo.
Las fechas concretas de las sesiones a las que debe acudir el alumno de manera presencial se darán a conocer una vez iniciado el semestre con suficiente antelación.
De forma excepcional, si las condiciones sanitarias lo requieren, se podrán incluir métodos de evaluación no presencial. En cuyo caso, se informará al estudiantado de los cambios efectuados.
- Arpaci-Dusseau, Remzi H. Arpaci-Dusseau and Arpaci-Dussea, Andrea C. (2015). Operating Systems: Three Easy Pieces. Disponible en http://pages.cs.wisc.edu/~remzi/OSTEP/
- Andrew S. Tanenbaum. Sistemas Operativos Modernos 3ª Ed. Pearson Educación. 2009.
- STALLINGS, William; (2005) Sistemas Operativos. 5ª edición. Pearson Educación. ISBN 84-205-4462-0.
- STALLINGS, William; (2011) Operating Systems: Internals and Design Principles. 7ª edición. Prentice Hall. ISBN 978-0132309981.
- CARRETERO, Jesús, GARCÍA, Félix, MIGUEL, Pedro de, PÉREZ, Fernando; (2007) Sistemas Operativos. Una visión aplicada. 2ª edición. McGraw Hill. ISBN: 978-84-481-5643-5.
- SILBERSCHATZ, Abraham, GALVIN, Peter B., GAGNE, Greg; (2005) Fundamentos de Sistemas Operativos. 7ª edición. McGraw Hill. ISBN: 0-471-69466-5.
- SILBERSCHATZ, Abraham, GALVIN, Peter B., GAGNE, Greg; (2010) Operating System Concepts. 8ª edición. John Wiley Sons. ISBN: 978-0-470-23399-3.
- NUTT, Gary (2003) Operating Systems. 3ª edición. Addison Wesley. ISBN: 978-0201773446.
- NUTT, Gary; (2004) Sistemas Operativos. 3ª edición. Prentice Hall. ISBN: 8478290672.
- CANDELA, Santiago, GARCÍA, Carmelo Rubén, QUESADA, Alexis, SANTANA, Francisco José, SANTOS, José Miguel; (2007) Fundamentos de Sistemas Operativos. Ed. Thomson. ISBN 978-84-9732-547-9.
- AFZAL, A. (1997) Introducción a Unix. Un enfoque práctico. Prentice Hall. ISBN: 84-83220-01-6
- ANDRÉS, J.L, ARIAS, J.C. (1994). Libro de prácticas de Unix. Ed. Síntesis. ISBN: 978-8477382621
- TACKETT, J., GUNTER. D. (1996) Utilizando Linux 2ª Ed. Ed. Prentice Hall. ISBN: 84-89660-55-7