Sistemas Operativos

Sistemas Operativos

Objetivo:

Este curso aborda el diseño y la implementación de un sistema operativo:el software maestro que administra y controla los recursos tantos físicos como lógicos de una computadora.En este curso se estudia 1) las características de los dispositivos físicos, tales como: el procesador, la memoria principal, los dispositivos secundarios (terminales, discos, red, etc.) y 2) el diseño, los problemas y las técnicas de implementación de los componentes de software principales tales como: el núcleo de multiprogramación del procesador (procesos), el sistema de archivos, el módulo de sincronización y de comunicación entre procesos, el módulo de administración de memoria virtual, las técnicas de reservación/liberació dinámica de memoria, el sistema de entrada/salida de datos, la reservación/liberación de recursos.

Contenido:

1. Introducción
        a) Organización básica de un sistema de cómputo: procesador, memoria, cache,
        disco, etc.
        b) Funciones y organización de un sistema operativo
        c) Historia del desarrollo de sistemas operativos: introducción a los conceptos de
        proceso, programa, sistemas batch, sistemas monousuario, sistemas
        multiprogramados, sistema de tiempo compartido.
2. Programación a nivel máquina
        a) Introducción
        b) Flujo de control
        c) Procedimientos
        d) Datos estructurados
3. Jerarquía de memoria y memoria cache
4. Cadena de producción de programa: compiladores, cargadores y encadenadores de
módulos.
5. Núcleo de multiprogramación del procesador
        a) Programas y procesos
        b) Principios de un núcleo de procesos
        c) Programación de hilos (”Threads”)
6. Mecanismos de sincronización entre procesos
        a) Monitores y semáforos
        b) Estudio de problemas básicos: productores/consumidores, filósofos, problema del
        Barbero durmiente, etc.
7. Memoria virtual de un proceso
        a) Noción de memoria virtual: segmentación y paginación
        b) Sistema de memoria P6/Linux
        c) Reservación/liberación dinámica de memoria
8. Comunicaciones entre procesos
        a) Comunicación por mensajes
        b) Memoria compartida
        c) Puertos de comunicaciones y comunicación por ”sockets”
9. Administración de la memoria secundaria: sistemas de archivos
        a) Sistema de entrada/salida de datos desde/hacia dispositivos físicos
        b) Formateo físico de un dispositivo de memoria secundaria (disco duro, disco
        flexible,
        etc.)
        c) Organización de un sistema de archivos
10. Comunicación entre sistemas operativos
        a) Redes locales (LAN) y a gran distancia (WAN)
        b) Internet: direcciones y DNS
        c) Comunicaciones en Internet

Bibliografia:
1. Andrew S. Tanenbaum and Albert S. Woodhull, “Operating Systems Design and Imple-
mentation”, 3rd Edition, Prentice Hall, 2006.
2. Abraham Silberschatz, Peter Baer Galvin, and Greg Gagne, “Operating System Con-
3. Sistemas Operativos Stalling, William Ed. Prentice-Hall cepts”, John Wiley & Sons, 2005