Sunteți pe pagina 1din 8

Sistemas Operativos II

Pgina 1 de 8

Programa de:

Sistemas Operativos II

UNIVERSIDAD NACIONAL DE CRDOBA


Facultad de Ciencias Exactas, Fsicas y Naturales Repblica Argentina Carrera: Ingeniera en Computacin Escuela: Ingeniera Electrnica y Computacin. Departamento: Computacin. Objetivos: Comprender el objetivo de la planificacin de los sistemas mono y multiprocesador. Diferenciar entre sistemas de propsito general y especficos para aplicaciones determinadas. Influencia de estos elementos en planificacin. Comprender el concepto de procesos distribuidos, su gestin y el efecto sobre la seguridad de un sistema. Introducir al educando en los sistemas de tiempo real, su implementacin, programacin de actividades puras de tiempo real y su relacin con procesos estndar. Observar y estudiar la comunicacin entre procesos de fase crtica y procesos estndar. Cdigo: 2637 Plan: Carga Horaria: Semestre: Carcter: 285-05 96 Noveno Obligatoria Puntos: Hs. Semanales: Ao: 4 6 Quinto

Programa Sinttico: 1. Conceptos de planificacin mono y multiprocesador. 2. Procesos distribuidos y seguridad. 3. Mecanismos cliente/servidor y clusters. Gestin. 4. Ejecucin de procesos y comunicacin. 5. Sistemas de iiempo real. 6. Implementaciones de Tiempo Real 7. Sistemas embebidos.

Programa Analtico: de foja 4 a foja 5. Programa Combinado de Examen (si corresponde): de foja Bibliografa: de foja 3 a foja 3. Ingeniera de Software Correlativas Obligatorias: Sistemas Operativos I Correlativas Aconsejadas:

a foja .

Rige: 2005 Aprobado HCD, Res.: Modificado / Anulado /Sust. HCD Res.: Fecha: Fecha: El Secretario Acadmico de la Facultad de Ciencias Exactas, Fsicas y Naturales (UNC) certifica que el programa est aprobado por el (los) nmero(s) y fecha(s) que anteceden. Crdoba, / / . Carece de validez sin la certificacin de la Decretara Acadmica:

Sistemas Operativos II

Pgina 2 de 8

PROGRAMA ANALITICO LINEAMIENTOS GENERALES Sistemas Operativos II es una actividad curricular que pertenece al noveno semestre de la carrera de Ingeniera en Computacin. En los ltimos tiempos se ha experimentado una gran evolucin de los sistemas operativos, especialmente a partir de la aparicin y afianzamiento de la programacin open source. La posibilidad de que los cdigos sean accesibles a cualquiera ha llevado a que las aplicaciones y funciones en las que se los usa, excedan ampliamente el objetivo inicial. Entre estas caractersticas podemos destacar: Modificaciones a los sistemas estndar para trabajar como tiempo real. Minimizacin de componentes para ser insertados en sistemas embebidos. Herramientas de todo tipo para la evolucin de los dos puntos anteriores.. Esto ha hecho que los sistemas operativos ingresen a lugares a los que les estaba vedado, por espacio, capacidades de procesador, etc. Por otra parte, pudiendo acceder a los componentes, se ha reemplazado el ncleo original, por versiones deterministas que permiten el trabajo en tiempo real, dejando al sistema operativo original como la tarea de menor prioridad entre las que realiza el nuevo planificador. A partir de esta concepcin, la materia enfoca dos lneas claramente definidas: Diseo de programas de tiempo real: Ser capaz, a partir de especificaciones, de disear e implementar un sistema de tiempo real estricto. o Reconocer que un sistema instalado est preparado para tiempo real. o Ejercitar pruebas de benchmarking para certificar que el sistema responder a un conjunto de requerimientos. o Aprender las actividades mas importantes del proceso de diseo e implementacin de sistemas de tiempo real Pruebas de Funcionamiento: Ser capaz de disear y realizar pruebas en sistemas que funcionen en tiempo real. o Establecer un conjunto de parmetros de prueba para ensayo del sistema o Ser capaz de modificar parmetros que permitan la adaptacin de un sistema de tiempo real a una necesidad especfica. o Ser capaz de trasladar un sistema de tiempo real a un sistema embebido, comprobando que el funcionamiento concuerda con los valores obtenidos en emulacin. tiempo real, del tema y restricciones aplicacin a

La enseanza est dirigida a comprender el funcionamiento de los sistemas de abordando previamente los conceptos que sern necesarios para el tratamiento enfatizando el diseo de sistemas de tiempo real a partir de un conjunto de (especificaciones). Tambin se enfoca el trabajo de sistemas operativos en sistemas embebidos, con controladores industriales.

Sistemas Operativos II

Pgina 3 de 8

METODOLOGIA DE ENSEANZA Las clases impartidas son tericas, prcticas y de laboratorio. Las actividades tericas se realizan a travs de exposiciones del docente orientadas a desarrollar en los alumnos la capacidad de implementar sistemas de tiempo real. Durante el desarrollo de los Trabajos Prcticos se realizan actividades que le permiten al estudiante poner en prctica las habilidades y verificar los criterios diseo y verificacin. Por otra parte en las clases de Laboratorio el alumno verifica, a travs de la implementacin, el funcionamiento de sistemas y realizar los casos de pruebas. EVALUACION Condiciones para la promocin de la materia 1. Tener aprobadas las materias correlativas. 2. Asistir al 80% de las clases tericas y prcticas. 3. Rendir y aprobar los dos parciales con 70% , el alumno podr recuperar un parcial. Para los que aprueban con un 50% (mnimo necesario) se rendir con coloquio integrador. 4. Presentar y aprobar las implementaciones que se exijan durante el desarrollo de los trabajos prcticos y un trabajo final. 5. Aprobar los trabajos de Laboratorio. Los alumnos que cumplan las exigencias referidas sern considerados promocionados. Los alumnos que hayan aprobado los parciales con un 50% y no hayan realizado o aprobado el coloquio integrador sern considerados regulares. El trabajo final lo deben presentar para el examen de la materia. El resto ser considerado libre.

Sistemas Operativos II

Pgina 4 de 8

CONTENIDOS TEMATICOS Unidad 1. Planificacin monoprocesador 1. Tipos de planificacin 2. Algoritmos de planificacin 3. Planificacin de Unix tradicional 4. Resumen. Unidad 2. Planificacin multiprocesador y en tiempo real 1. Planificacin de multiprocesadores 2. Planificacin en tiempo real 3. Planificacin Linux 4. Planificacin Unix SVR4 5. Planificacin Windows 2000 6. Resumen. Unidad 3. Proceso distribuido, cliente/servidor. Clusters 1. Computacin cliente/servidor. 2. Proceso distribuido mediante paso de mensajes, 3. Llamadas a procesos remotos. 4. Clusters. 5. Windows 2000 cluster server 6. Resumen. Unidad 4. Gestin de procesos distribuidos 1. Migracin de procesos 2. Estado global distribuido 3. Gestin distribuida de procesos. 4. Exclusin mutua. 5. Interbloqueo distribuido 6. Resumen Unidad 5. Procesos 1. Procesos y seales. 2. Terminacin. 3. Intercambio de datos. 4. Atributos. 5. Valores de contorno. 6. Cancelacin. 7. Handlers. 8. Sincronizacin y secciones crticas. 9. Exclusin mutua. 10. Llamadas de sistema. 11. Manejo de tiempos. 12. Temporizacin.

Sistemas Operativos II

Pgina 5 de 8

Unidad 6. Comunicacin entre procesos 1. Introduccin 2. Procesos padre e hijo 3. Pipes 4. Named Pipes (FIFOs) 5. Colas de mensajes. 6. Memoria compartida. 7. Semforos. 8. Sockets. Captulo 7. Sistemas embebidos 1. Concepto de sistema embebido 2. Restricciones de los sistemas embebidos 3. Sistemas operativos para sistemas embebidos 4. Adaptacin de sistemas operativos a sistemas embebidos y modificaciones del kernel en sistemas abiertos. 5. Ambiente de desarrollo y compilacin cruzada. 6. Depuracin de programas para sistemas embebidos Captulo 8. Sistemas de tiempo real 1. Tiempo de respuesta. 2. Definiciones. 3. Planificacin 4. Performance 5. Diseo de sistemas de tiempo real. 6. Fiabilidad y tolerancia a fallos. 7. Lenguajes de programacin para sistemas de tiempo real. Captulo 9. Implementaciones de tiempo real 1. Aproximaciones de Linux al tiempo real. 2. Versiones disponibles. 3. Real Time subkernel. 4. Ejemplos. 5. Resumen.

Sistemas Operativos II

Pgina 6 de 8

LISTADO DE ACTIVIDADES PRCTICAS Y/O DE LABORATORIO Actividades Prcticas 1. Prctica con planificacin monoprocesador
Graficacin de tiempos de ejecucin de tareas. Ejecucin de tabla comparativa de performance

2. Prctica con multiprocesador y tiempo real


Verificacin de cumplimiento de plazos en tiempo real.

3. Prctica de comunicacin entre procesos


Resolucin de problemas de comunicacin bsico. Problemas de comunicacin avanzada.

4. Comunicacin de procesos en computacin paralela


MPI

5. Instalacin de soft y verificacin de un sistema embebido


Tareas preparatorias. Anlisis de memorias en solo lectura. Ejecucin de tareas de sensado y control a partir de un sistema embebido.

6. Instalacin y benchmarking de un sistema de tiempo real


Ensayo y verificacin de cumplimiento de plazos con tiempo real rgido.

Actividades de Laboratorio Clculo de secuenciamiento de tareas en sistemas monoprocesador. Clculo de secuenciamiento de tareas en sistemas multiprocesador. Clculo de secuenciamiento de tareas en tiempo real. Prctica de comunicacin entre procesos. Diseo de clusters. Clculos de performance. Diseo de sistemas de tiempo real rgido

Sistemas Operativos II

Pgina 7 de 8

DISTRIBUCION DE LA CARGA HORARIA ACTIVIDAD TERICA FORMACIN PRACTICA: o FORMACIN EXPERIMENTAL o RESOLUCIN DE PROBLEMAS o ACTIVIDADES DE PROYECTO Y DISEO TOTAL DE LA CARGA HORARIA DEDICADAS POR EL ALUMNO FUERA DE CLASE ACTIVIDAD PREPARACION TERICA PREPARACION PRACTICA o o o o EXPERIMENTAL DE LABORATORIO EXPERIMENTAL DE CAMPO RESOLUCIN DE PROBLEMAS PROYECTO Y DISEO TOTAL DE LA CARGA HORARIA HORAS 37 13 30 35 115 HORAS 40

11 20 25

96

Sistemas Operativos II

Pgina 8 de 8

BIBLIOGRAFIA
Principal 1. 2. 3. 4. 5. 6. Sistemas Operativos. Williams Stallings. Prentice Hall. Sistemas Operativos Modernos. Andrew Tanenbaum. Prentice Hall. Fundamentos de Sistemas Operativos. Silberschatz, Galvin y Gagne. Mc Graw Hill. Programacin en Linux con ejemplos. Kurt Wall. Prentice Hall. Advanced Linux Programming. Kurt Wall. Prentice Hall, Sistemas de Tiempo Real y Lenguajes de Programacin. Alan Burns y Andy Wellings. Addison Wesley.

Complementaria 1. Understanding the Linux Kernel, 2nd Edition. Daniel P. Bovet, Marco Cesati. O'Reilly 2. Programming Embedded Systems in C and C++. Michael Barr. O'Reilly. 3. Linux Device Drivers. Alessandro Rubinni. OReilly

S-ar putea să vă placă și