You are on page 1of 4

Asignatura Sistemas Operativos

Versión 1
Fecha 8 de Julio
Preparado por Cecilia Hernández
Revisado
Observaciones - Cambios en la organización de
algunos contenidos
- Se agregó metodología
- Se agregó prerrequisitos en bases
a contenidos
PRE-REQUISITOS OBLIG. ELECT. COMP. NIVEL
Programación II SEMESTRE
X ------ -----
Abstracción de Datos
Arquitectura de Computadores
CO-REQUISITOS: HORAS SEM ANUAL
NO TIENE TEOR PRAC. LAB
3 ----- 2 X ----

Prerequisitos en base a contenidos: Estructuras de datos, paradigmas de programación


estructurada y orientación a objetos, arquitectura de computadores, manejo de
interrupciones, ejecución de instrucciones.

Descripción

Este curso introduce los fundamentos de diseño e implementación de sistemas operativos


modernos. Los tópicos a cubrir en la asignatura incluyen administración de procesos,
administración de memoria, sistemas de archivos, administración de almacenamiento
secundario, interfaces de entrada/salida y seguridad.

Objetivo General

Introducir al estudiante con los conceptos fundamentales en el diseño e implementación


de sistemas operativos modernos.

Objetivos específicos

 Proporcionar las bases para que el estudiante entienda las características y


requerimientos de los sistemas operativos, componentes, interfaces y algoritmos
típicos con su respectiva evolución en el tiempo.
 Introducir al estudiante en los conceptos fundamentales en la construcción de
sistemas operativos y en la construcción de aplicaciones utilizando recursos
disponibles por los sistemas operativos modernos

Contenidos

1. Introducción (3 horas)
 Rol y propósito de los sistemas operativos
 Historia y desarrollo de los sistemas operativos
 Funcionalidad de un sistema operativo típico
 Soporte de la arquitectura para sistemas operativos, interrupciones, excepcions,
llamadas a sistema
 Componentes y estructuras de sistemas operativos
 Aspectos de diseño, eficiencia, robustez, flexibilidad, portabilidad, seguridad,
compatibilidad
 Sistemas interactivos, batch, de tiempo real, multiusuarios. Ejemplos de sistemas
operativos modernos

2. Administración de procesos (12 hrs)


 Concurrencia
 Procesos
 Cambio de Contexto
 Estructuras de sistema, PCBs, cola de procesos listos y bloqueados
 Hebras
 Planificación, políticas y algoritmos
 Recursos compartidos, coordinación, exclusión mutua, condición de carrera,
sección crítica
 Mecanismos de sincronización, test and set, locks, semáforos, monitores,
variables de condición, etc
 Problemas clásicos de sincronización
 Comunicación entre procesos, mensajes, memoria compartida

3. Administración de Memoria (6 horas)


 Evolución histórica, multiprogramación
 Memoria virtual
 Implementación de memoria virtual, segmentación, paginación
 Tablas de páginas, Translation Look aside Buffer TLBs
 Fallos de página, Paginación por demanda, algoritmos de reemplazo
 Intercambio
 Conjunto de trabajo, thrashing

4. Almacenamiento secundario (6 horas)


 Características físicas de discos
 Estructura de discos
 Administración de discos (inicialización, formateo, sectores de buteo, etc)
 Algoritmos de planificación de requerimientos
 Sistemas de discos modernos, RAID
 Desempeño

5. Sistema de Archivos (4 horas)


 Conceptos fundamentales, archivos, directorios, métodos de acceso, tipos de
archivos, estructura de directorios
 Contenido y estructura de directorios
 Técnicas de sistemas de archivos (particionamiento, montaje y desmontaje)
 Implementación de sistemas de archivos
 Eficiencia y desempeño
 Técnicas de respaldo
6. Administración de dispositivos de entrada/salida (4 horas)
 Dispositivos seriales y paralelos
 Abstracción de dispositivos
 Estrategias de buffering

7. Seguridad y protección (4 horas)


 Introducción a la seguridad de sistemas
 Conceptos de seguridad y protección, políticas y mecanismos
 Modelos de protección, dominios de protección, listas de control de acceso,
capacidades
 Autentificación de usuarios
 Amenazas de seguridad de programas, sistemas

8. Tópicos avanzados (2 hora)

Metodología

Clases teóricas con exposición de contenidos, resolución de ejercicios y presentación de


demos para clarificar conceptos.
Tareas teóricas para responder preguntas, resolución de problemas y algoritmos.
Desarrollo de 3 o 4 proyectos en laboratorio que involucren la temática del curso.

Bibliografía

1. Operating Systems Concepts. Sexta edición. Silberschatz, Galván, Gagne.


2003
2. Sistemas Operativos Modernos. Andrew Tanenbaum. 1993
3. Operating System Concepts with Java. Sexta Edición. Silberschatz, Galvin,
Gagne.2004