Ministerio de Cultura y Educación
Universidad Nacional de San Luis
Facultad de Ciencias Físico-Matemáticas y Naturales
Departamento: Informatica
Área: Area II: Sistemas de Computacion
(Programa del año 2007)
(Programa en trámite de aprobación)
(Programa presentado el 19/04/2007 00:26:09)
I - Oferta Académica
Materia Carrera Plan Año Periodo
SISTEMAS OPERATIVOS Y REDES TCO.U.REDES.COMP. 011/05 3 1c
II - Equipo Docente
Docente Función Cargo Dedicación
PICCOLI, MARIA FABIANA Prof. Responsable P.ADJ EXC 40 Hs
APOLLONI, RUBEN GERARDO Responsable de Práctico JTP EXC 40 Hs
BARRIONUEVO, MERCEDES DEOLINDA Auxiliar de Práctico A.1RA SEM 20 Hs
LOPRESTI, OLGA MARIELA Auxiliar de Práctico A.1RA SIM 10 Hs
MIRANDA, NATALIA CAROLINA Auxiliar de Práctico JTP EXC 40 Hs
SOLARES, RUBEN DARIO Auxiliar de Práctico A.1RA SEM 20 Hs
III - Características del Curso
Credito Horario Semanal Tipificación Duración
Teórico/Práctico Teóricas Prácticas de Aula Práct. de lab/ camp/ Resid/ PIP, etc. Total B - Teoria con prácticas de aula y laboratorio Desde Hasta Cantidad de Semanas Cantidad en Horas
Periodo
2 Hs. 2 Hs. 2 Hs. 2 Hs. 8 Hs. 1 Cuatrimestre 12/03/2007 15/06/2007 14 112
IV - Fundamentación
Este curso se ubica en el 3º año de la Lic. en Ciencias de la Computación, con el fin de dar formación básica al alumno desde el título menor, siendo fundamental la articulación con Arquitectura I y II, Sistemas Distribuidos y Redes. Los ejes temáticos de la materia: el Sistema Operativo y las redes de computadoras, llevando la práctica a casos particulares como UNIX y LINUX.
V - Objetivos
La asignatura Sistemas Operativos y Redes tiene por objeto de estudio a los Sistemas Operativos convencionales.

El objetivo principal de la asignatura es suministrar al alumno conocimientos sólidos referidos a los Sistemas Operativos como administradores de recursos de la computadora, especialmente la administración del procesador y la memoria.
Los objetivos generales se resumen en:

A) Estudio teórico de Sistemas Operativos a fin de capacitar al alumno en la comprensión de las funciones de un sistema operativo en un sistema de computación y lo que comprende una red de Computadoras bajo distintos entornos y configuraciones.
B) Desarrollar en el alumno la capacidad de implementar distintas técnicas relativas al área, con los elementos al alcance del Departamento de Informática.
Como resultados derivados de los puntos A) y B) se espera desarrollar en el
alumno, luego de adquirida cierta experiencia en el área, las siguientes capacidades:
- Participar en el diseño e implementación de Sistema Operativos y adquirir la nocion de la arquitectura de redes y su diseño.
- Modificar un Sistema Operativo acorde a las necesidades de su entorno.
- Mantener un Sistema Operativo según las comunicaciones con el proveedor de equipo.
- Utilizar en otras áreas de aplicaciones los conocimientos a fin de producir software de mejor calidad.
- Un manejo aceptable del Sistema Operativo LINUX.

Acorde con los objetivos y dentro de las restricciones del plan de estudios, el desarrollo de la materia profundizará en las áreas del administrador del procesador y del administrador de la memoria.

Los administradores de la información y de los dispositivos no serán tratados al mismo nivel de detalle debido a la brevedad del curso y a la dependencia de una configuración particular.
No obstante se espera que la introducción a los mismos, dada durante el curso sea suficiente para encarar estos aspectos en situaciones futuras, si se cuenta con el debido apoyo personal mas experimentado.

VI - Contenidos
* UNIDAD TEMÁTICA 1: Introducción
Visiones de un Sistema Operativo: Como máquina extendida y como Administrador de recursos.
Historia de los Sistemas Operativos, generaciones.
Estructuras de Sistemas Operativos: Monolíticos, en capas, de máquina virtual, de redes,
distribuidos, etc..

* UNIDAD TEMÁTICA 2: Administrador del Procesador
Procesos. Un modelo de operación. Multiplicidad de Procesos. Networking, multiprocesamiento,
multiprogramación. Tareas básicas, multiplexado del Procesador, context switching. Diagrama de
estados; Otras unidades computacionales; hebras (leightweight processes). El problema de la
coordinación de procesos: Sincronización, concurrencia, comunicación entre procesos (IPC).
Semáforos, CR, CCR, monitores, pasajes de mensajes.
Scheduling de Procesos: Mecanismos y Políticas.
Deadlock; Condiciones necesarias. Prevención, Detección y Recuperación.

* UNIDAD TEMÁTICA 3: Administrador de la Memoria
Memoria Real. Organización y Administración: Asignación contigua y no contigua. Particionado
fijo y variable. Swapping. Memoria Virtual. Organización; almacenamiento múltiple. Paginado y Segmentado. Administración; estrategias de reemplazo de página. Working Sets. Faltas de páginas. Trashing.

* UNIDAD TEMÁTICA 4: Administrador de la Información
Archivos: Estructuras, tipos, accesos y operaciones. Directorios. El sistema de Archivos; funciones,
organización jerarquías. Control de acceso. Asignación de espacio. Seguridad y protección. Políticas de protección. Sistemas de archivos distribuidos.

* UNIDAD TEMÁTICA 5: Administración de los Dispositivos
Dispositivos de entrada/salida. Buffering. Acceso Directo a Memoria (DMA) y Buffering.
Control dirigido por programa. Interrupciones. Sistemas de Interrupciones. Canales: Protocolos para
transmisión de datos. Software de entrada/salida y dispositivos.

* UNIDAD TEMÁTICA 6: Caso de estudio LINUX : File System
Generalidades: Objetivos. Interfases. Login. Shell. Directorios y archivos. Programas utilitarios.
Conceptos fundamentales: procesos. System calls de Memoria. Systems calls de archivos y
directorios. System calls de entrada/salida. Aplicación de Ingeniería Inversa para caracterizar el Sistema de Archivos de LINUX.

VII - Plan de Trabajos Prácticos
TRABAJOS PRÁCTICOS DE AULA

* Práctico 1: Conceptos básicos.
* Práctico 2: Administrador del Procesador.
* Práctico 3: Administrador de la Memoria.
* Práctico 4: Administrador de la Información.
* Práctico 5: Administrador de los Dispositivos.


TRABAJOS PRÁCTICOS DE MÁQUINA

* Práctico 1: Llamadas al Sistema
* Práctico 2: Administrador del Procesador.

VIII - Regimen de Aprobación
RÉGIMEN DE REGULARIZACIóN

Para regularizar la materia los alumnos deberán cumplir con las siguientes condiciones:
* Aprobar los prácticos de aula.
Se entiende por práctico de aula a todo práctico que la cátedra fije para cada unidad, a realizar o entregar en el aula.
* Contar con una asistencia del
- 70% a las clases teóricas.
- 70% a las clases prácticas en aula y en máquina.

* Aprobar los prácticos de máquina.
Se entiende por práctico de máquina a todo práctico que involucre programación. Cada práctico se deberá entregar y aprobar en la fecha fijada por la cátedra o en una fecha de recuperación.
* Aprobar los exámenes parciales.
La cátedra establece dos parciales a realizarse durante su dictado. Los alumnos deberán aprobar tales
parciales para regularizar, pudiendo recuperar a lo sumo una vez cada uno de ellos.
Se otorgará una recuperación adicional para los casos especiales considerados en las ordenanzas de la Universidad

RÉGIMEN DE PROMOCIÓN

Los alumnos además de cumplir con los requisitos para regularizar la materia, deberán aprobar cada uno de los parciales de primera o de segunda instancia con una calificación igual a mayor a ocho (8), para poder acceder a la evaluación de promoción.

EXAMEN FINAL
El examen final será escrito u oral, pudiendo incluir uno o varios temas teóricos y/o prácticos.

EXAMEN LIBRE
Se considerará como alumnos libres aquellos que teniendo aprobados los prácticos de máquina y el trabajo de investigación correspondientes al último año del dictado de la materia, estén libres por parciales o faltas.

Los alumnos que encontrándose en condiciones de rendir libre la materia y deseen hacerlo, deberán:

1) Rendir un examen sobre los prácticos.
2) Rendir el examen final de la materia.
El orden de la lista anterior es relevante y la no aprobación de uno significa la automática desaprobación del examen libre.

IX - Bibliografía Básica
[1] * Operating Systems - Harvey M. Deitel - Addison-Wesley- 2004 - ISBN: 0131828274-
[2] * Operating Systems - Harvey M. Deitel - Addison-Wesley- 1990 - ISBN: 0-201-50939-3
[3] * El núcleo LINUX. Review, versión 0.8-2 - RUSLING DAVID A. (1996-1998) Trabajo en preparación disponible en internet.
[4] * Operating Systems Design the XINU Approach - Douglas E. Comer - Prentice Hall - ISBN: 0-13-637539-1
[5] * Linux Kernel Internal - Second Edition - Michael Beck, Harald Bohme, Mirko Dziadzka, Ulrich Kunitz, Robert Magnums, Dirk Verworner - Addison-Wesley - 1998 - ISBN: 0-201-33143.8
[6] * Modern Operating Systems - Andrew S. Tanenbaum - Prentice Hall - 1992 - ISBN: 0-13-588187-0
[7] * The Design of the UNIX Operating System - Maurice J. Bach - Prentice Hall - 1986 - ISBN: 0-13-201799-7 025
X - Bibliografia Complementaria
[1] * UNIX for Programmers and Users A Complete Guide - Graham Glass - Prentice Hall - 1993 - ISBN: 0-13-061771-7
[2] * Apuntes de la Cátedra
XI - Resumen de Objetivos
Son objetivos de la materia Sistemas Operativos y Redes los siguientes:
a) Estudio teórico de Sistemas Operativos a fin de capacitar al alumno en la comprensión de las funciones de un sistema operativo en un sistema de computación.
b) Desarrollar en el alumno la capacidad de implementar distintas técnicas relativas al área, con los elementos al alcance del Departamento de Informática.
c) Como resultados derivados de los puntos A) y B) se espera desarrollar en el alumno, luego de adquirida cierta experiencia en el área, las siguientes capacidades:

Participar en el diseño e implementación de Sistema Operativos y adquirir la noción de la arquitectura de redes y su disenio.
Modificar un Sistema Operativo acorde a las necesidades de su entorno.
Mantener un Sistema Operativo según las comunicaciones con el proveedor de equipo.
Utilizar en otras áreas de aplicaciones los conocimientos a fin de producir software de mejor calidad.
Un manejo aceptable en la plaza del Sistema Operativo LINUX.

Acorde con los objetivos y dentro de las restricciones del plan de estudios, el desarrollo de la materia profundizará en las áreas del administrador del procesador y del administrador de la memoria.

Los administradores de la información y de los dispositivos no serán tratados al mismo nivel de detalle debido a la brevedad del curso y a la dependencia de una configuración particular.
No obstante se espera que la introducción a los mismos, dada durante el curso sea suficiente para encarar estos aspectos en situaciones futuras, si se cuenta con el debido apoyo personal mas experimentado.

XII - Resumen del Programa
Historia, evolución y filosofía. Métodos de estructuración: modelos de capas y cliente-servidor de objetos. Tareas y procesos: definición, bloques de control, listas ready, dispatching, context switch. Coordinación y sincronización de procesos. Deadlocks: causas, condiciones, prevención; modelos y mecanismos. Scheduling and dispatching. Administrador de memoria. Administrador de dispositivos. Sistema de Archivos. Seguridad. Protección. Un caso de estudio.
Laboratorios sugeridos: Diseño e implementación de un context switcher simple y múltiples tareas usando un reloj para causar context switch hecho en un lenguaje de alto nivel. Implementación de algún mecanismo de sincronización de accesos y provar la falta de conflictos.
Correr varias mezclas de jobs bajo varios algoritmos de scheduling
y analizar los resultados (a través de simulaciones).




XIII - Imprevistos