Identifying Data 2015/16
Subject (*) Sistemas Operativos II Code 614111302
Study programme
Enxeñeiro en Informática
Descriptors Cycle Period Year Type Credits
First and Second Cycle 2nd four-month period
Third Obligatoria 5
Language
Teaching method Face-to-face
Prerequisites
Department Computación
Coordinador
Yañez Izquierdo, Antonio Fermin
E-mail
antonio.yanez@udc.es
Lecturers
Yañez Izquierdo, Antonio Fermin
E-mail
antonio.yanez@udc.es
Web http://www.dc.fi.udc.es/~afyanez
General description

Study programme competencies
Code Study programme competences / results
A1 Aprender de maneira autónoma novos coñecementos e técnicas avanzadas axeitadas para a investigación, o deseño e o desenvolvemento de sistemas e servizos informáticos.
A3 Concibir e planificar o desenvolvemento de aplicacións informáticas complexas ou con requisitos especiais.
A10 Saber especificar, deseñar e implementar unha política de seguridade no sistema.
B1 Aprender a aprender.
B2 Resolver problemas de forma efectiva.
B3 Aplicar un pensamento crítico, lóxico e creativo.
B4 Aprendizaxe autónoma.
B5 Traballar de forma colaborativa.
B11 Razoamento crítico.
C2 Dominar a expresión e a comprensión de forma oral e escrita dun idioma estranxeiro.
C3 Utilizar as ferramentas básicas das tecnoloxías da información e as comunicacións (TIC) necesarias para o exercicio da súa profesión e para a aprendizaxe ao longo da súa vida.

Learning aims
Learning outcomes Study programme competences / results
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

Contents
Topic Sub-topic
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.

Planning
Methodologies / tests Competencies / Results Teaching hours (in-person & virtual) Student’s personal work hours Total hours
Laboratory practice 30 32 62
Guest lecture / keynote speech 30 10 40
Objective test 1.5 20 21.5
 
Personalized attention 1.5 0 1.5
 
(*)The information in the planning table is for guidance only and does not take into account the heterogeneity of the students.

Methodologies
Methodologies Description
Laboratory practice Practicas diseñadas por el profesor con el objetivo de aplicar y asentar los conocimientos adquiridos por el estudiante.

Guest lecture / keynote speech Sesiones magistrales en la exposicion de los conocimientos teoricos

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

Personalized attention
Methodologies
Guest lecture / keynote speech
Description
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

Assessment
Methodologies Competencies / Results Description Qualification
Laboratory practice 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
Objective test 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
 
Assessment comments
Los porcentajes que se proponen (80% y 20%) son aproximados pudiendo variar, dependiendo de factores externos, entre un 75/25 y un 85/15

Sources of information
Basic 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

Complementary Kernighan, Ritchie (). El lenguaje de programacion C. prentice hall


Recommendations
Subjects that it is recommended to have taken before
Deseño de Sistemas Operativos/614111613

Subjects that are recommended to be taken simultaneously

Subjects that continue the syllabus
Tecnoloxía de Computadores/614111104
Estrutura de Datos e da Información/614111102
Programación/614111109
Sistemas Operativos I/614111203
Estrutura de Computadores I/614111208

Other comments


(*)The teaching guide is the document in which the URV publishes the information about all its courses. It is a public document and cannot be modified. Only in exceptional cases can it be revised by the competent agent or duly revised so that it is in line with current legislation.