next up previous contents
Next: Evolución de los Up: Apuntes S.O. Previous: Contents

Introducción a los Sistemas Operativos

Un Sistema Operativo es un programa que actúa como intermediario entre el usuario y la máquina. El propósito de un sistema operativo es proveer un ambiente en que el usuario puede ejecutar sus aplicaciones. Las aplicaciones son todos aquellos programas que el usuario ejecuta para mejorar su productividad o para divertirse.

El primer objetivo de un sistema operativo es que el computador sea cómodo de usar. El segundo objetivo es que la máquina sea usada eficientemente.

  
Figure: Componentes de un sistema computacional.

Las componentes de un sistema operativo se observan en la figura gif. La principal componente del sistema operativo es el núcleo ( kernel). El núcleo se encarga de ejecutar y dar servicios a los procesos.

Un proceso puede ser una aplicación o un utilitario. Las aplicaciones son los programas del usuario que le ayudan a mejorar su productividad. Las aplicaciones no son parte del sistema operativo. Los utilitarios son programas que pertenecen al sistema operativo y que ayudan al usuario a: administrar sus archivos, imprimir programas y resultados, interactuar con la máquina a través de una interfaz gráfica o un intérprete de comandos, etc.

Lo procesos interactúan necesariamente con el núcleo para crear otros procesos, comunicarse entre sí y obtener memoria para sus datos. Usualmente (aunque no necesariamente) los procesos también interactuán con el núcleo para manejar archivos. El usuario nunca interactúa directamente con el núcleo. El usuario interactúa con los procesos.

Por razones de eficiencia y simplicidad de implementación el núcleo es la componente del sistema operativo que está siempre residente en memoria. En cambio las aplicaciones y los utilitarios se cargan cuando se necesitan, y por lo tanto no siempre están residentes en la memoria

En este curso se estudiará en profundidad el disen o del núcleo de los sistemas operativos. Además el curso contempla actividades prácticas en donde se modificarán componentes del pseudo sistema operativo nSystem.

Programa

I.
Introducción

Historia del desarrollo de los sistemas operativos: sistemas batch, job, dump, monitor residente, operación off-line, buffering, spooling, multi-programación, job scheduling, máquinas virtuales, procesos, computadores personales, redes, sistemas distribuidos.

II.
Procesos

III.
Estructura del Computador

IV.
Administración de Procesos.

Scheduling de procesos, indentificador de proceso, descriptor de proceso, colas de scheduling, estados de un proceso, cambio de contexto, ráfagas de CPU, estrategias de scheduling, First Come First Served, Shortest Job First, Colas de Prioridad, Round Robin, scheduling en varios niveles, scheduling en nSystem.

V.
Administración de Memoria Primaria.

Segmentación, Paginamiento, Memoria Virtual, Swapping, Demand Paging, page fault, localidad de los accesos a memoria, estrategias de reemplazo de páginas, First Come First Served, Least Recently Used, la estrategia del reloj, la estrategia del working set, copy-on-write, demand loading, paginamiento en x86, Translation Lookaside Buffer.

VI.
Administración de Memoria Secundaria.

El sistema de archivos de unix, scheduling de disco.

VII.
Estructura de Redes

Topología de redes, localización de hosts, estrategias de conexión, estrategias de ruteo, protocolos de comunicación de datos.

Evaluación:

Bibliografía:

A. Silberschatz, ``Operating System Concepts'', 1991 Addison-Wesley





next up previous contents
Next: Evolución de los Up: Apuntes S.O. Previous: Contents



José M. Piquer
Fri Apr 9 15:57:37 CLT 1999