Imprimir

Programa

CURSO               :    Sistemas Operativos
SIGLA               :    IIC2332
CRÉDITOS            :    10
REQUISITOS          :    IIC1222 Programacion Avanzada;
                         Se recomienda IIC2342 Arquitectura de Computadores
SEMESTRE            :    I


1. OBJETIVOS
   Un sistema operativo es un componente esencial de un computador: es un programa que
   actua de intermediario entre el usuario y el hardware del computador. El rol de un sistema
   operativo es proveer un ambiente en el cual el usuario pueda ejecutar programas de manera
   conveniente y eficiente.
   El objetivo del curso es entregar al alumno conceptos basicos del dise?o e implementacion
   de sistemas operativos. Al finalizar el curso, el alumno entendera los problemas que un
   sistema operativo debe abordar, y conocera diversos mecanismos para resolverlos.
   Asimismo, estara capacitado para dise?ar e implementar cualquiera de los subsistemas que
   forman parte de un sistema operativo.

2. CONTENIDO
   - Introduccion. Que es un sistema operativo, que estructura tiene, y como han
       evolucionado     historicamente.    Apoyo    requerido   del    hardware:   proteccion,
       interrupciones.
   - Procesos. El concepto de proceso y de hebra: implementacion, asignacion de recursos y
       politicas de planificacion o scheduling. Sincronizacion y comunicacion interprocesos:
       semaforos, monitores, mensajes. Seccion critica y otros problemas clasicos de
       sincronizacion. Bloqueos mutuos e inanicion.
   - Administracion de memoria. Multiprogramacion, intercambio (swapping), paginacion y
       segmentacion. Fragmentacion interna y externa. Memoria virtual: conceptos e
       implementacion. Algoritmos de asignacion y reemplazo de memoria. Hiperpaginacion o
       thrashing.
   - Sistemas de archivos. Archivos y directorios. Implementacion de sistemas de archivos.
       Administracion de espacio, caches. Manejadores de dispositivos en general, y de disco
       en particular. Planificacion del movimiento del brazo. Arreglos redundantes de discos
       (RAIDs).
   - Proteccion y seguridad. Problemas, amenazas y principios basicos para la seguridad.
       Listas de control de acceso versus capacidades. Cifrado y autentificacion.
   - Sistemas operativos distribuidos. Redes de computadores. Sistemas operativos de red
       versus sistemas operativos distribuidos. Sistemas de archivos distribuidos.
   - Estudio de casos. Estructura de un sistema operativo. Como se aplican los conceptos
       estudiados a casos reales, tales como UNIX y Windows NT.

3. BIBLIOGRAFIA
   Minima:
         SILBERSCHATZ, Abraham and GALVIN, Peter B. Operating systems concepts.
             Reading, Mass., Addison Wesley, 1998.
   Complementaria:

STEVENS, Richard. Advanced programming in the UNIX environment. Reading,
  Mass., Addison Wesley 1993.
TANENBAUM, Andrew. Distributing operating systems. Englewood Cliffs,N.J.,
  Prentice Hall, 1995.
TANENBAUM, Andrew and WOODFULL, A.S. Operating systems: design and
  implementation. Upper Sadle River, Prentice Hall, 1997.