Programa.pdf
-
Upload
cristian-espinoza -
Category
Documents
-
view
239 -
download
5
Transcript of Programa.pdf
Departamento de Ingenierıa Informatica
Universidad de Santiago de Chile
Sistemas OperativosIngenierıa Civil en Informatica
Ingenierıa de Ejecucion en Computacion e Informatica
1er Semestre 2015
Profesores: Fernando Rannou ([email protected]), Cristobal Acosta ([email protected])Ayudantes: Luis Loyola ()
1 Descripcion de la asignatura
El curso de Sistemas Operativos ensena el funcionamiento interno del software que administra un sistema com-putacional. Construyendo sobre el curso de Arquitectura de Computadores, este curso describe la capa de softwaremas cercana al procesador con capacidades de orquestar la ejecucion de otros procesos y administrar los recursosque estos requieran. Para lograr una compresion profunda de la interaccion hardware/software, primero se describedetalladamente el mecanismo de las interrupciones y el rol que ellas juegan en la ejecucion del Sistema Operativo.Luego se describe la estructura, control y sincronizacion de procesos y hebras, quienes son los elementos computa-cionales fundamentales en un sistema computacional. Se ensena en extenso los problemas de concurrencia que surgencuando dos o mas procesos acceden a recursos compartidos sin sincronizacion apropiada, y los metodos de hardwarey software para evitar dichos problemas. Uno de los recursos compartidos mas comun entre procesos es la memoriafısica. En este sentido, se ensena la diferencia entre memoria fısica y memoria virtual y el mecanismo de traduccionde memoria virtual a memora fısica, haciendo enfasis en los aspectos de rendimiento computacional. Finalmente,el curso ensena los elementos mas importantes del modulo de Entrada/Salida (I/O), especializado en dispositivosorientados al bloque, y la estructura de los sistemas de archivos en dichos dispositivos.
2 Objetivos
2.1 Objetivo general
Compreender que es un sistema operativo. Conocer y coomprender la estructura, funcionalidad e interrelacion delos distintos componentes que conforman los sistemas operativos modernos. Dominar tecnicas de programacion desistemas operativos.
2.2 Objetivos especıficos
El alumno alfinal del curso sera capaz de:
1. Describir el mecanismo por el cual el sistema operativo y el sistema computacional se comunican
2. Comprender el efecto de las interrupciones en el rendimiento del sistema computacional
3. Enunciar y describir los componentes principales de los procesos y hebras
4. Escribir programas en C/C++ para crear procesos y hebras
5. Escribir programas utilizando otros llamados al sistema
6. Identificar condiciones de carrera en codigo
7. Escribir soluciones a problemas de sincronizacion y deadlock
8. Evaluar comparativamente estrategias para solucionar condiciones de carrera
9. Describir los algoritmos de planificacion del procesador y evaluar comparativamente su desempeno para distintostipos de carga de trabajo
1
10. Distinguir memoria fısica de memoria virtual
11. Aplicar tecnologıas de memoria virtual para mapear una direccion fısica a una direccion virtual
12. Evaluar comparativamente distintas estrategias de mapeo de direcciones
13. Evaluar tecnicas de E/S para dispositivos de bloques
14. Describir y evaluar metodos de procuramiento de archivos
3 Contenidos
1. Introduccion a los SOs
(a) Revision sistemas computacionales.
(b) Interrupciones
2. Procesos I: El concepto de proceso
(a) Descripcion y control de procesos.
(b) Creacion, comunicacion y sincronizacion de procesos
(c) Manejo de procesos en Linux
3. Planificacion del procesador
(a) Algoritmos de planificacion
(b) Planificacion multiprocesador
4. Hebras
(a) Hebras versus procesos
(b) Multiprocesamiento simetrico
(c) Microkernels
(d) Manejo de hebras en Linux
5. Concurrencia de procesos
(a) Principios de concurrencia
(b) Exclusion mutua
(c) Mecanismos de sincronizacion: semaforos, monitores
(d) Bloqueos mutuos e inhanicion
(e) Sincronizacion de procesos y hebras en Linux
2
6. Deadlock
(a) Condiciones necesarias y suficientes
(b) Como evitar de deadlock
(c) El algoritmo del banquero
(d) Deteccion de deadlock
7. Sistema de administracion de memoria
(a) Particionamiento de la memoria fısica
(b) Direccionamiento fısico y virtual
(c) Paginacion
(d) Segmentacion
8. Administracion de dispositivos de I/O
(a) Organizacion de los servicios de I/O
(b) Buffering de I/O
(c) Planificacion de disco
(d) Sistemas RAID
9. Sistemas de archivos
(a) Organizacion y acceso de archivos
(b) Directorios
(c) Administracion almacenamiento secundario
(d) Sistemas de archivos en Linux
4 Evaluacion
PEP1 : jueves 16 de abril, 2015
PEP2 : jueves 28 de mayo, 2015
PEP3 : jueves 2 de julio, 2015
PER : ???????, 2015
PAA : jueves 9 de julio. 2015
Nota: Todas las PEP y la PAA se tomaran en el modulo 6, es decir desde las 17:10 y 18:40 hrs.
NF = (NT >= 4.0 AND NL >= 4.0)? 0.7×NT + 0.3×NL : min(NT,NL)
5 Bibliografıa
William Stallings, Sistemas Operativos. Quinta edicion. Pearson. 2005
Mark Mitchell, Jeffrey Oldham, and Alex Samuel, Advanced Linux Programming, 2001.Disponible en: www.advancedlinuxprogramming.com
3
6 Otros aspectos relevantes
Los siguientes aspectos son relevantes en este curso de Sistemas Operativos
1. Esta prohibido copiar en pruebas y en trabajos de laboratorio
2. Durante las pruebas no se puede usar telefono celular, ni ningun tipo de tablet
3. Toda respuesta en pruebas debe estar justificada. Una respuesta sin desarrollo o justificacion, no tiene puntaje.
4. No se lleva la asistencia a clase, pero si usted decide asistir, por favor guarde el silencio apropiado y respete asus companeros.
5. La pagina Sistemas Operativos con sabor a Linux de facebook es un medio para que los alumnos realicenconsultas relacionadas con el curso, Esta abierta a toda la comunidad y se recomienda seguirla. Sin embargo,el medio oficial de comunicacion de este curso es el sitio usachvirtual.
4