Sentido de la materia en el plan de estudios |
Bloque formativo al que pertenece la materia
La asignatura pertenece a la materia de SISTEMAS OPERATIVOS (24 créditos ECTS), integrada por las siguientes asignaturas obligatorias: Sistemas Operativos I (2º, C3), Sistemas Operativos II (2º, C4), Administración de Sistemas (3º, C6) y Sistemas Distribuidos (4º, C8).
Papel de la asignatura dentro del Bloque formativo y del Plan de Estudios
Una vez analizados las técnicas de funcionamiento y componentes básicos utilizados en la construcción de un sistema operativo moderno en la asignatura Sistemas Operativos I, esta asignatura permitirá asentar dichos conocimientos obtenidos ampliándolos. A lo largo de esta asignatura se estudiarán mecanismos de comunicación y sincronización en los sistemas operativos y su aplicación a la práctica, fundamentalmente basándose en la programación del sistema en los entornos UNIX y WIN32.
Perfil profesional
Al ser una asignatura de carácter obligatorio, resulta fundamental en cualquier perfil vinculado al Grado en Ingeniería Informática.
|
|
|
Recomendaciones previas |
Para Sistemas Operativos II, es aconsejable haber superado Sistemas Operativos I.
|
|
|
Objetivos de la asignatura |
- Plantear y solucionar problemas informáticos que involucren la creación y comunicación de varios procesos o hilos en un sistema operativo
- Conocer la estructura y funciones de un sistema operativo moderno y su evolución histórica
- Enfrentarse y plantear soluciones a un nivel medio con mecanismos del sistema operativo para problemas de concurrencia propuestos
- Trabajar adecuadamente en equipo en la realización de prácticas, organizarse, repartirse el trabajo y cumplir los plazos establecidos
- Adquirir habilidades individuales de comunicación y defensa del trabajo realizado
|
|
|
Contenidos |
Teoría
TEMA I: Concurrencia: exclusión mutua
- Principios generales de la concurrencia
- Soluciones por software para la exclusión mutua
- Soluciones por hardware para la exclusión mutua
- Soluciones ofrecidas por el sistema operativo
- Semáforos
- Monitores
TEMA II: Concurrencia: sincronización y comunicación
- Reparto y consumo de CPU
- Las señales como mecanismo de comunicación
- Paso de mensajes
- Tipos de sincronización
- Sincronización por paso de mensajes
- Sincronización mediante semáforos
- Exclusión mutua como sincronización
- Comunicación por memoria compartida. Necesidad de sincronización
- Prioridades e inanición
- Problemas clásicos: productor-consumidor, barbería, lectores y escritores
TEMA III: Concurrencia: interbloqueo (una instancia por recurso)
- Caracterización de interbloqueos: condiciones necesarias, grafo de asignación de recursos
- Recuperación de interbloqueos
- Prevención de interbloqueos
- Detección de interbloqueos
- Evitación de interbloqueos: algoritmo del banquero
TEMA IV: Concurrencia: interbloqueo (varias instancias por recurso)
- Recursos e instancias
- Detección de interbloqueos
- Evitación de interbloqueos: algoritmo del banquero
- Problemas clásicos: el atasco de tráfico, los filósofos
TEMA V: Entrada/salida
- Gestión de la entrada/salida. Drivers. Seguridad
- Transparencia. Ficheros de dispositivo
- Aspecto del diseño del software de entrada/salida
- Entrada/salida programada
- Entrada/salida dirigida por interrupciones
- Acceso directo a memoria, memoria mapeada
- El disco magnético: estructura física, parámetros de rendimiento, algoritmos de planificación, gestión, RAID
- El buffer caché
- El área de intercambio
TEMA VI: Sistema de ficheros
- Organización de ficheros: direccionamiento, entrada de directorio
- Gestión del área de datos y espacio libre: contigua, enlazada, indizada
- Sistema de ficheros virtual
- Ejemplos de sistemas de ficheros
- Posibilidades opcionales: montaje de unidades, cuotas de disco, seguridad, journalling, herramientos auxiliares
Prácticas
PRIMERA PARTE: Programación avanzada con llamadas al sistema de UNIX
- Creación y manejo de procesos e hilos
- Señales como mecanismo de comunicación
- Mecanismos IPC
- Semáforos
- Tuberías
- Paso de mensajes
- Memoria compartida
- Terminales
SEGUNDA PARTE: Programación con llamadas al sistema de WIN32
- Manejo de ficheros en WIN32
- Creación y manejo de procesos e hilos
- Semáforos
- Mutexes
- Eventos
- Secciones críticas
- Operaciones atómicas sobre variables de tipo LONG
- Entrada/salida solapada
- Memoria compartida y ficheros proyectados en memoria
- Mensajes en WIN32
- Manejo de DLLs
|
|
|
Competencias a adquirir |
Básicas
- CB4: 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
- CB5: Conocimiento de la estructura, organización, funcionamiento e interconexión de los sistemas informáticos, los fundamentos de su programación, y su aplicación para la resolución de problemas propios de la ingeniería.
Comunes
- CC5: Conocimiento, administración y mantenimiento de sistemas, servicios y aplicaciones informáticas.
- CC6: Conocimiento, administración y mantenimiento de sistemas, servicios y aplicaciones informáticas.
- CC10: Conocimiento de las características, funcionalidades y estructura de los Sistemas Operativos y diseñar e implementar aplicaciones basadas en sus servicios.
- CC11: Conocimiento y aplicación de las características, funcionalidades y estructura de los Sistemas Distribuidos, las Redes de Computadores e Internet y diseñar e implementar aplicaciones basadas en ellas.
- CC14: Conocimiento y aplicación de los principios fundamentales y técnicas básicas de la programación paralela, concurrente, distribuida y de tiempo real.
Específicas
- TI6: Capacidad de concebir sistemas, aplicaciones y servicios basados en tecnologías de red, incluyendo Internet, web, comercio electrónico, multimedia, servicios interactivos y computación móvil.
Transversales
- CT1: Conocimientos generales básicos
- CT2: Conocimientos básicos de la profesión
- CT3: Capacidad de análisis y síntesis
- CT4: Capacidad de organizar y planificar
- CT5: Comunicación oral y escrita en la lengua propia
- CT7: Habilidades básicas en el manejo del ordenador
- CT8: Habilidades de gestión de la información
- CT9: Resolución de problemas
- CT10: Toma de decisiones
- CT12: Trabajo en equipo
- CT14: Responsabilidad y compromiso ético
- CT15: Liderazgo
- CT16: Capacidad de aplicar los conocimientos en la práctica
- CT18: Capacidad de aprender
- CT19: Capacidad de adaptarse a nuevas situaciones
- CT21: Habilidad para trabajar de forma autónoma y cumplir plazos
|
|
|
Metodologías |
Las actividades formativas que se proponen para esta materia son las siguientes:
Actividades presenciales:
- Lección magistral: exposición de teoría y resolución de problemas
- Realización de prácticas guiadas en laboratorio
- Sesiones de tutorías, seguimiento y evaluación, individuales o en grupo
- Exposición de trabajos y pruebas de evaluación
Actividades no presenciales:
- Estudio autónomo por parte del estudiante
- Revisión bibliográfica y búsqueda de información
- Realización de trabajos, prácticas libres, informes de prácticas…
Para esta materia las actividades formativas presenciales, que implican una interacción profesor-estudiante, suponen el 40% de los créditos ECTS. En las asignaturas la distribución temporal asignada a cada actividad se corresponde con el modelo de tipo C (modelos presentados en el apartado 5.1 de la memoria del Grado).
El contenido teórico de las materias presentado en las clases magistrales junto con su aplicación en las clases de problemas y las prácticas guiadas, facilitará la asimilación de las competencias anteriormente descritas. En las sesiones y seminarios tutelados se resolverán las dudas y el trabajo personal permitirá afianzar dichas competencias.
|
|
|
Previsión de Técnicas (Estrategias) Docentes |
Nombre
|
Horas presenciales
|
Horas no presenciales dirigidas por el profesor
|
Horas de trabajo autónomo del estudiante
|
Horas totales
|
Clases magistrales
|
30
|
0
|
38
|
68
|
Seminarios
|
0
|
0
|
0
|
0
|
Prácticas en aula
|
0
|
0
|
0
|
0
|
Prácticas en el laboratorio
|
0
|
0
|
0
|
0
|
Prácticas en aula de informática
|
22
|
0
|
22
|
44
|
Prácticas de campo
|
0
|
0
|
0
|
0
|
Prácticas de visualización
|
0
|
0
|
0
|
0
|
Trabajo personal de contenidos presenciales y recursos on line
|
0
|
0
|
0
|
0
|
Exposiciones y debates
|
3
|
0
|
0
|
3
|
Tutorías
|
2
|
0
|
0
|
2
|
Actividades de seguimiento on line
|
0
|
0
|
0
|
0
|
Preparación de trabajos
|
0
|
0
|
15
|
15
|
Otras actividades
|
0
|
0
|
0
|
0
|
Exámenes
|
3
|
0
|
15
|
18
|
Prácticas: Realización del TFM
|
0
|
0
|
0
|
0
|
Documentación TFM
|
0
|
0
|
0
|
0
|
TOTAL
|
60
|
0
|
90
|
150
|
|
|
|
|
|
Evaluación |
Consideraciones Generales
A lo largo del periodo docente, se realizarán un conjunto de actividades evaluables que tendrán como objetivo la constatación de que el estudiante va adquiriendo las competencias previstas. A este conjunto le llamamos actividades de evaluación continua.
Adicionalmente, se realizará un examen final con cuestiones teórico-prácticas que permita evaluar en conjunto los conocimientos, las destrezas y las habilidades adquiridas.
La evaluación global de la asignatura se realizará en base tanto a las actividades de evaluación continua como al examen final.
Criterios de evaluación
Para la evaluación de la asignatura se aplicará la siguiente ponderación en la valoración de las actividades de evaluación:
- Actividades de evaluación continua: 40%
- Realización de exámenes de teoría o problemas: 60%
La nota final de las asignaturas se obtendrá de forma ponderada a través de las notas finales conseguidas en los apartados anteriores. No se exigirá nota mínima en ninguna de las partes individualmente. Para superar la asignatura bastará con obtener el 50% de la nota máxima, sea cual sea la composición de ese 50%.
Instrumentos de evaluación
Evaluación continua:
Presentación y defensa de dos prácticas, una por cada parte: supondrá el 40% de la nota final, un 20% cada práctica. Cada práctica presentada por un grupo de dos alumnos recibirá una nota en función de la calidad del trabajo presentado. Una defensa individual con cada miembro del grupo modulará (0% al 100%) la nota obtenida por cada miembro individualmente, tomando como base la nota obtenida en la práctica.
Prueba escrita final:
Consistirá en una batería de preguntas de respuesta corta y de tipo test de respuesta única, distribuidas de un modo proporcional al tiempo dedicado a cada tema. Todas las preguntas tendrán el mismo peso en la calificación final de la prueba. Las preguntas de tipo test descontarán en caso de ser falladas de modo inversamente proporcional al número de opciones menos una.
|
|
|
Recomendaciones |
Recomendaciones para la evaluación
Asistencia a clase, participación en las actividades y trabajo personal.
Uso de las tutorías para afianzar los conocimientos adquiridos en clase y solventar las dudas que surjan durante el trabajo personal.
Recomendaciones para la recuperación
Se realizará un examen de recuperación (2ª convocatoria), para aquellos casos en los que, tras el primer examen final (1ª convocatoria), no se ha logrado la superación de la asignatura.
Los criterios de evaluación en la 2ª convocatoria son los mismos que en la primera (40% evaluación continua+60% examen final), por lo que el examen de recuperación solo permite recuperar en el 60% correspondiente al examen final. Las actividades de evaluación continua no son recuperables.
Al inicio de cada curso, se ofrecerá al alumno la posibilidad de conservar la nota de la evaluación continua del curso anterior (si la hizo o fue conservada de años anteriores).
Para ello durante los dos primeros meses de la asignatura el profesor de teoría ofrecerá dicha posibilidad a los alumnos repetidores, firmando aquellos interesados su conformidad. No se podrá conservar parte de la nota en evaluación continua, solamente la nota completa.
|
|
|
Datos de interés |
Libros de consulta para el alumno
- "Fundamentos de Sistemas Operativos", A. Silberschatz et al., ed. McGraw-Hill, 2006.
- "Sistemas Operativos", William Stallings, ed. Prentice-Hall, 2005.
- "Sistemas Operativos. Una visión aplicada.", J. Carretero Pérez, ed. McGraw-Hill, 2001.
- "UNIX. Programación avanzada", F. Márquez García, ed. Rama, 1996.
- "Windows NT Avanzado", J. Richter, ed. McGraw-Hill, 1994.
Otras referencias bibliográficas, electrónicas o cualquier otro tipo de recurso
- Material elaborado por los profesores a disposición de los alumnos
- http://avellano.usal.es/~ssooii
|
|
|
|
Otros datos |
Créditos: 6.0 (3.0 T + 3.0 P)
,
Segundo cuatrimestre
,
Obligatoria
,
Número de grupos de teoría: 2
,
Número de grupos de práctica: 6
,
Acceso a la plataforma virtual
|
Grado en Ingeniería Informática
|
Segundo curso
|
|
|
|
|
|
|