Datos Identificativos 2015/16
Asignatura (*) Sistemas Operativos II Código 614111302
Titulación
Enxeñeiro en Informática
Descriptores Ciclo Periodo Curso Tipo Créditos
1º y 2º Ciclo 2º cuatrimestre
Tercero Obligatoria 5
Idioma
Modalidad docente Presencial
Prerrequisitos
Departamento Computación
Coordinador/a
Yañez Izquierdo, Antonio Fermin
Correo electrónico
antonio.yanez@udc.es
Profesorado
Yañez Izquierdo, Antonio Fermin
Correo electrónico
antonio.yanez@udc.es
Web http://www.dc.fi.udc.es/~afyanez
Descripción general

Competencias del título
Código Competencias del título
A1 Aprender de manera autónoma nuevos conocimientos y técnicas avanzadas adecuadas para la investigación, el diseño y el desarrollo de sistemas y servicios informáticos.
A3 Concebir y planificar el desarrollo de aplicaciones informáticas complejas o con requisitos especiales.
A10 Saber especificar, diseñar e implementar una política de seguridad en el sistema.
B1 Aprender a aprender.
B2 Resolver problemas de forma efectiva.
B3 Aplicar un pensamiento crítico, lógico y creativo.
B4 Aprendizaje autónomo.
B5 Trabajar de forma colaborativa.
B11 Razonamiento crítico.
C2 Dominar la expresión y la comprensión de forma oral y escrita de un idioma extranjero.
C3 Utilizar las herramientas básicas de las tecnologías de la información y las comunicaciones (TIC) necesarias para el ejercicio de su profesión y para el aprendizaje a lo largo de su vida.

Resultados de aprendizaje
Resultados de aprendizaje Competencias del título
Adquirir de los conceptos basicos de un sistema operativo A1
A3
A10
C3
Conocer en cierto detalle la estructura de un sistema operativo y las distintas partes que lo componen A1
A3
A10
C3
Comprender el funcionamiento de las llamadas al sistema y su utilizacion A1
A3
A10
C3
Comprender la implementacion de los conceptos basicos de un sistema operativo A1
A3
A10
C3
Relacionar los conceptos, estructura, funcionamiento e implemetacion vistos anteriormente con el uso y administracion de un sistema informatico asi como con el desarrollo de aplicaciones informaticas A1
A3
C3
Afianzar los conocimentos de programacion B2
B3
B4
B5
B11
C3
Mejorar manejo de estructuras en memoria, haciendo hincapie en la utilizacion de punteros a bajo nivel B1
B2
B3
B4
Desarrollar la capacidad de aplicar la teoria a la practica. Aprender a utilizar la documentacion tecnica disponible en un sistema: paginas manual B1
B2
B3
B4
C2
Mejorar capacidades basicas en el uso de un sistema informatico C3

Contenidos
Tema Subtema
Procesos en UNIX Introducción sistema operativo UNIX. Variedades de sistemas UNIX
Procesos en UNIX: estados, entorno de ejecución. Estructura proc y u_area.Ejecución en modo kernel. Credenciales
Planificación en sistemas UNIX tradicionales
Paranificación en System V R4
Creación y terminación de procesos: Llamadas fork, exec y exit. Optimizaciones de fork. Familiias de llamadas wait
Señales. Manejadores de señales. Señales en System V R2 y System V R3. Señales en sistemas BSD
Señales en System V R4. Llamadas para el manejo y gestión de señales. Implementación
Comunicación entre procesos. pipes. Recursos IPC: semaforos, memoria compartida y colas de mensajes
Memoria en Unix Revision de los conceptos generales de memoria
Epacio de direcciones de los procesos en UNIX: segmentos
Estructuras del kernel que implementan el espacio de direcciones de los procesos.
Segmentos vnode y anonimos
Llamadas malloc y mmap
Organización de la memoria física. Estructuras.
Robo de páginas en intercambio. Procesos paged y sched
Sistema de ficheros en UNX Sistemas de ficheros y dispositivos. Montaje
Estructura del sistema de ficheros. Estructura de los directorios. Enlaces
Buffer cache. Estructura y algoritmos
Tabla de inodos en memoria. Estructura y algoritmos.
Implementación de las llamadas open, read, write, close, chdir, mount
Asignación de espacio
Sistema de ficheros BSD. Grupos de cilindros. Enlaces simbólicos
Interfaz vnodo
Bloqueo de archivos
Llamads tipo dup. Redirección
Contenidos Practicos Realizacion de un interprete de comandos bajo unix que incluira, al menos,
la siguiente funcionalidades: uso de recursos IPC, manipulacion de credenciales,
manipulacion del entorno, mapeo de ficheros en memoria, creacion de procesos
y ejecucion de programas en primer y segundo plano, posibilidad de crear procesos
y ejecutar programas con el entorno y/o la prioridad cambiadas, redireccion de
entrada salida y/o error estandar de los procesos creados desde dicho interprete
de comandos, uso de pipes, uso de senales con instalacion de manejadores.

Planificación
Metodologías / pruebas Competéncias Horas presenciales Horas no presenciales / trabajo autónomo Horas totales
Prácticas de laboratorio 30 32 62
Sesión magistral 30 10 40
Prueba objetiva 1.5 20 21.5
 
Atención personalizada 1.5 0 1.5
 
(*)Los datos que aparecen en la tabla de planificación són de carácter orientativo, considerando la heterogeneidad de los alumnos

Metodologías
Metodologías Descripción
Prácticas de laboratorio Practicas diseñadas por el profesor con el objetivo de aplicar y asentar los conocimientos adquiridos por el estudiante.

Sesión magistral Sesiones magistrales en la exposicion de los conocimientos teoricos

Sesiones magistrales en la aplicacion de los conceptos teoricos a un sistema real
Prueba objetiva Prueba objetiva con cuestiones referentes a los contenidos teoricos y prácticos de la asignatura

Atención personalizada
Metodologías
Sesión magistral
Descripción
Disponibilidad del profesor en las horas de tutoria para aclaracion de dudas sobre los contenidos teoricos y la realizacion de las practicas de la asignatura

Evaluación
Metodologías Competéncias Descripción Calificación
Prácticas de laboratorio Cada practica tiene un plazo de realizacion que se comunicara oportunamente. Cada practica realizada correctamente en su plazo correspondiente supondra entre un 3% y un 6% de la calificacion final, de manera que la realización correcta (y en su plazo correspondiente) de todas las practicas supondrá entre un 15% y un 25% de la evaluacion de la asignatura, tipicamente un 20% 20
Prueba objetiva Prueba objetiva de los contenidos teoricos que puede incluir cuestiones sobre las practicas. Su valor oscila entre el 75% y 85% de la evaluacion final, tipicamente un 80% 80
 
Observaciones evaluación
Los porcentajes que se proponen (80% y 20%) son aproximados pudiendo variar, dependiendo de factores externos, entre un 75/25 y un 85/15

Fuentes de información
Básica Bach (). the design of the unix operating system. Prentice Hal
McKusick, Bostic, Karel, Quaterman (). the design and implementation of the 4.4BSD unix operating system. Prentice Hall
Goodheart (). the megic garden explained. Prentice Hall
Vahalia (). unix internals: the new frontiers. Prentice Hall
Marquez Garcia (). unix: programacion avanzada. Ra-ma

Complementária Kernighan, Ritchie (). El lenguaje de programacion C. prentice hall


Recomendaciones
Asignaturas que se recomienda haber cursado previamente
Diseño de Sistemas Operativos/614111613

Asignaturas que se recomienda cursar simultáneamente

Asignaturas que continúan el temario
Tecnología de Computadores/614111104
Estructura de Datos y de la Información/614111102
Programación/614111109
Sistemas Operativos I/614111203
Estructura de Computadores I/614111208

Otros comentarios


(*) La Guía Docente es el documento donde se visualiza la propuesta académica de la UDC. Este documento es público y no se puede modificar, salvo cosas excepcionales bajo la revisión del órgano competente de acuerdo a la normativa vigente que establece el proceso de elaboración de guías