Sistemas Operativos
Referencia Rápida
Tutorial | Ligas | Bibliografía

Sistemas Operativos
Presentación

Amilcar Meneses Viveros

Marzo 2004


Presentación
Los sistemas operativos son los programas encargados de la administración de los recursos de la computadora: CPU, memoria, y los dispositivos de entrada y salida.

Una característica principal en estos sistemas es que deben mantener un buen rendimiento. Esto es, rapidez y eficiencia deben tenerse presentes en su diseño, desarrollo y funcionamiento. Esta característica es tan fundamental, que varios fabricantes de procesadores han incluido en las nuevas arquitecturas de CPU implantaciones, a nivel hardware, de algunas tareas que comúnmente realizan los SO. Esto es, los nuevos CPU's ofrecen facilidades para la implantación de estos sistemas.

Los sistemas operativos tipo UNIX dominan una buena parte de la industria: Unix-BSD, Solaris, AIX, Linux, y Mac OS X, por mencionar algunos. Estos sistemas están basados en el paradigma de multiprocesamiento. Desde el punto de vista de usuario: el desarrollador, administrador y usuario final, sacarán mayor provecho de sus plataformas de trabajo al conocer el diseño, conceptos y funcionamiento de estos sistemas.

En este curso nos enfocaremos a trabajar con sistemas operativos tipo UNIX, principalmente Linux, para que el usuario se familiarice con su funcionamiento, uso y administración; así como el aprendisaje en el desarrollo de programas en esta plataforma, utilizando las especificaciones de POSIX.


Objetivos del curso
Conocer el funcionamiento de los Sistemas Operativos, así como los conceptos y las facilidades que ofrecen estos sistemas.

Conocer el diseño e implantación de los sistemas operativos tipo UNIX, tanto para tareas de desarrollo como de administración.


Objetivos específicos


Programa

  1. Introducción.
  2. Arquitectura de computadoras y de sistemas operativos.
  3. Manejo de procesos.
  4. Manejo de memoria.
  5. Manejo de dispositivos de entrada y salida.
  6. Sistemas Operativos Distribuidos.
  7. Casos de estudio: UNIX, Linux, Windows NT y Mac OS X.


Requisitos
Tener experiencia en C y nociones de arquitectura de computadoras.


Proyectos finales

  1. Crear un shell de Unix que permita ejecutar programas, correr programas en lote, correr programas en el fondo, hacer redireccionamientos y tuberías.
     
  2. Crear un simulador de cola de impresión (spooler).
     
  3. Crear un monitor de procesos (p.e. comando top) que permita ver la información de los procesos del usuario, suspender su ejecución, reanudarla, cambiar prioridad, y matar procesos.

Referencia Rápida
Tutorial | Ligas | Bibliografía
Amilcar Meneses
ameneses@computacion.cs.cinvestav.mx / amilcar@synge.stp.dias.ie