programa.pdf

4
Departamento de Ingenier´ ıa Inform´ atica Universidad de Santiago de Chile Sistemas Operativos Ingenier´ ıa Civil en Inform´ atica Ingenier´ ıa de Ejecuci´ on en Computaci´on e Inform´ atica 1er Semestre 2015 Profesores: Fernando Rannou ([email protected]), Crist´ obal Acosta ([email protected]) Ayudantes: Luis Loyola () 1 Descripci´on de la asignatura El curso de Sistemas Operativos ense˜ na 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 software m´as cercana al procesador con capacidades de orquestar la ejecuci´ on de otros procesos y administrar los recursos que estos requieran. Para lograr una compresi´ on profunda de la interacci´ on hardware/software, primero se describe detalladamente el mecanismo de las interrupciones y el rol que ellas juegan en la ejecuci´ on del Sistema Operativo. Luego se describe la estructura, control y sincronizaci´ on de procesos y hebras, quienes son los elementos computa- cionales fundamentales en un sistema computacional. Se ense˜ na en extenso los problemas de concurrencia que surgen cuando dos o m´as procesos acceden a recursos compartidos sin sincronizaci´ on apropiada, y los m´ etodos de hardware y software para evitar dichos problemas. Uno de los recursos compartidos m´as com´ un entre procesos es la memoria ısica. En este sentido, se ense˜ na la diferencia entre memoria f´ ısica y memoria virtual y el mecanismo de traducci´on de memoria virtual a memora f´ ısica, haciendo ´ enfasis en los aspectos de rendimiento computacional. Finalmente, el curso ense˜ na los elementos m´as importantes del m´odulo de Entrada/Salida (I/O), especializado en dispositivos orientados al bloque, y la estructura de los sistemas de archivos en dichos dispositivos. 2 Objetivos 2.1 Objetivo general Compreender qu´ e es un sistema operativo. Conocer y coomprender la estructura, funcionalidad e interrelaci´on de los distintos componentes que conforman los sistemas operativos modernos. Dominar t´ ecnicas de programaci´on de sistemas operativos. 2.2 Objetivos espec´ ıficos El alumno alfinal del curso ser´a 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 c´odigo 7. Escribir soluciones a problemas de sincronizaci´ on y deadlock 8. Evaluar comparativamente estrategias para solucionar condiciones de carrera 9. Describir los algoritmos de planificaci´ on del procesador y evaluar comparativamente su desempe˜ no para distintos tipos de carga de trabajo 1

Upload: cristian-espinoza

Post on 25-Jan-2016

236 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: 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

Page 2: Programa.pdf

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

Page 3: Programa.pdf

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

Page 4: Programa.pdf

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