2.2.1 - Sistemas Operativos

Segundo Año

Característica del Área Curricular
Plan 2015
Cuatrimestre Segundo
Hs. Cat. 80
Res. C.S. 291/2015

Presentación

La asignatura se ubica en el segundo semestre del segundo año de la carrera. Esta actividad curricular forma al alumno en los conceptos, administración y prácticas de programación en los entornos de los sistemas UNIX

Objetivos

Este curso se centrará en los temas fundamentales de un sistema operativos: los procesos y la memoria del ordenador, los sistemas de archivos, la multitarea, las comunicaciones interprocesos (regiones criticas, memoria compartida, ocurrencia de deadlocks), etc. para dotar al alumno del entendimiento necesario para hacer un buen uso de los recursos de los sistemas.

Contenido Temático

Unidad 1: Introducción a los sistemas operativos.

¿Qué es un sistema operativo? Historia de los sistemas operativos. Conceptos generales. Componentes y servicios. Diseño de sistemas operativos. Intérpretes de comandos. Llamadas al sistema. Programación en Shell scripts.

Unidad 2: Procesos.

Concepto de proceso. Planificación de procesos. Operaciones con procesos. Procesos en UNIX. Primitivas de administración de procesos en UNIX. Sincornización. Señales. Threads

Unidad 3: Comunicación y sincronización entre procesos. (IPC)

Pipes y FIFOs. Shared memory. El problema de la sección crítica. Soluciones hardware. Semáforos y monitores. Problemas clásicos de programación concurrente. Construcciones lingüísticas. Sincronización en POSIX. Comunicación por mensajes.

Unidad 4: Bloqueos.

Conceptos generales y condiciones necesarias para su existencia. Problemas y algoritmos clásicos. Prevención y detección. Recuperación. Algoritmo del banquero.

Unidad 5: Administración de memoria.

Administración sin paginación. Memoria virtual. Paginación. Algoritmos de reemplazo de páginas. Segmentación. Implementación. Segmentación con paginación.

Unidad 6: Sistemas de archivos.

Estructuras y tipos de archivos. Directorios. I-nodos. Archivos compartidos. Sistemas de archivo remotos. NFS. Administración de disco. Confiabilidad y desempeño. Implementación con dispositivos removibles. Seguridad y mecanismos de protección. ACLs.

Bibliografía

Operating Systems: Design and Implementation - A. Tanenbaum, - Prentice Hall.
Operating Systems Concepts - A. Silberschatz, P. Galvin, - Addison Wesley.
Pthreads Programing - Bradford, D. Buttlar y J. Farrell, - O’Reilly.

Aula virtual y otros recursos web

Aula Virtual

Regresar al Plan de Estudios