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 2014)
I - Oferta Académica
Materia Carrera Plan Año Periodo
SISTEMAS OPERATIVOS LIC.CS.COMP. 32/12 2014 1° cuatrimestre
II - Equipo Docente
Docente Función Cargo Dedicación
FLORES, SONIA EDITH Prof. Responsable P.Adj Semi 20 Hs
MIRANDA, NATALIA CAROLINA Responsable de Práctico JTP Exc 40 Hs
PALACIO, GABRIELA DEL VALLE Auxiliar de Práctico A.1ra Semi 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
 Hs.  Hs.  Hs.  Hs. 6 Hs. 1º Cuatrimestre 10/03/2014 20/06/2014 15 90
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 y los conceptos básicos de las Redes de Computadoras.
Para definir los objetivos de la materia, se consideran las dos áreas temáticas en las que naturalmente se puede dividir la asignatura, respecto a:

* Sistemas Operativos:
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 y de las Redes de Computadoras 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.

* Redes de Computadoras:
El objetivo principal de la asignatura es que el estudiante conozca en profundidad los protocolos de comunicación de las redes basadas en la arquitectura TCP/IP (TCP, UDP, ICMP, ARP, etc.), así como familiarizarlo con los servicios que se sustentan en ella. Por lo tanto, el alumno, al aprobar la asignatura, estará capacitado para gestionar eficientemente una red conectada a Internet, así como para programar aplicaciones siguiendo el modelo cliente/servidor, tan ampliamente usado en dicha arquitectura.

Los objetivos generales se resumen en:

- Conocer las arquitecturas OSI e Internet e identificar sus diferencias.
- Conocer los fundamentos de la conmutación de paquetes IP y la conexión con las utilidades del sistema operativo que permiten configurar la red (gestión de las tablas de direccionamiento, programas de análisis de tráfico, etc.).
- Aprender los mecanismos de acceso a Internet (interconexión de redes).
- Entender los mecanismos de control de errores y de control de flujo de Internet.
- Ser capaces de realizar programas basados en la arquitectura cliente/servidor.
- Conocer los protocolos más habituales de Internet.

Satisfacer estos objetivos facilitará, posteriormente, la compresión de otros conceptos de tecnologías de redes.

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;
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.
Hebras (leightweight processes): Introducción, definición, motivación. Estados de Threads: Ciclo de vida de las hebras. Operaciones. Modelos de Threading:Threads a nivel de Usuarios, Threads a nivel de Kernel y Combinación de Threads a nivel de Usuario y Kernel. Conceptos de Threads: Delivery de señal de Threads, terminación de threads. POSIX y PThreads. Threads en Linux y Threads en Windows XP.

* UNIDAD TEMÁTICA : 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: Redes de Computadoras: Introducción.
Introducción. Programación y arquitectura del Protocolo Internet. La Internet. Clasificación de
redes: Cobertura geográfica: DAN, LAN, MAN, WAN - Topología de red : Bus, Ring, Star, Mesh.
Arquitectura de Red: Protocolo de red: Estándares ISO-OSI, Arquitectura de la familia IEEE 802 de
estándares para LANs y MANs. FDDI, DQDB, Open Bus DQDB, Looped Bus. Mecanismos de
transmisión: Circuit Switching, Packet Switching, Frame Relay, Cell Switching, Cell Relay.
Medios físicos: Fibra óptica, Cables Coaxil, Cables Unshielded Twisted Pair (UTP), Cables
Shielded Twisted Pair (STP).

* UNIDAD TEMÁTICA 7: Redes de Computadoras: Internetworking
Internetworking: TCP/IP, UDP.Dispositivos de hardware: Repeaters, Bridges y Switches, Routers
and Brouters, Gateways. Dispositivos Multiport-Multiprotocol. Uso de Componentes en relación al
modelo ISO-OSI. La Arquitectura del Protocolo de Internet: TCP, UDP. Direccionamiento IP,
Resolución de Direcciones IP, Protocolo de Internet. Internetworking con IP. Datagrama con IP,
Computaciones Cliente-Servidor, Sockets, Creación de Socket . Multicasting IP.

* UNIDAD TEMÁTICA 8: 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.
* Práctico 6: Redes de Computadoras.


TRABAJOS PRÁCTICOS DE MÁQUINA

* Práctico 1: Llamadas al Sistema
* Práctico 2: Administrador del Procesador.
* Práctico 3: Redes de Computadoras.
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
- 80% a las clases teóricas.
- 80% 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.

Los alumnos que acrediten su condición de trabajdores ante las autoridades de la Facultad, podrán acceder a una recuperación adicional por trabajo de los parciales que se establezcan.


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 o mayor a siete (7), para poder acceder a la evaluación de promoción, la cual consistirá de un coloquio oral sobre temas que integren la materia.

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

EXAMEN LIBRE

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

1)Entregar y aprobar un práctico de laboratorio requerido por la càtedra.
2)Rendir un examen sobre los prácticos.
3)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.
IX - Bibliografía Básica
[1] [1] * Operating Systems - Harvey M. Deitel - Addison-Wesley- 2004 - ISBN: 0131828274-
[2] [2] * Operating Systems - Harvey M. Deitel - Addison-Wesley- 1990 - ISBN: 0-201-50939-3
[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] [4] * Computer Networks and Internet - Second Edition - Douglas E. Comer - Prentice Hall - 1999 - ISBN: 0-13-083617-6
[5] [5] * Computer Networks - Fourth Edition - Andrew S. Tanenbaum - Prentice Hall - 2002 - ISBN: 0-13-066102-3
[6] [6] * Internetworking with TCP/IP Vol I Principles, Protocols, and Architecture - Second Edition - Douglas E. Comer -Prentice Hall - 1991 - ISBN: 0-13-474222-2
[7] [7] * Internetworking with TCP/IP - Douglas E. Comer and David L. Stevens - Prentice Hall - ISBN: 0-13-474222-2
[8] [8] * Operating Systems Design the XINU Approach - Douglas E. Comer - Prentice Hall - ISBN: 0-13-637539-1
[9] [9] * 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
[10] [10] * Modern Operating Systems - Andrew S. Tanenbaum - Prentice Hall - 1992 - ISBN: 0-13-588187-0
[11] [11] * The Design of the UNIX Operating System - Maurice J. Bach - Prentice Hall - 1986 - ISBN: 0-13-201799-7 025
X - Bibliografia Complementaria
[1] [1] * Advances in Local and Metropolitan Area Networks - 4ta. Editición - IEEE Computer Society Press. 1994.
[2] [2] * ISDN and Broadband ISDN with Frame Relay and ATM - 3ra. Editición - STALLINGS, W. Prentice Hall. 1995.
[3] [3] * Computer Networks and Their Protocols - D. W. Davies, D. L. A. Barber, W. L. Price y C. M. Solomonides - John Wiley \\\\\\\\& Sons - 1979 - ISBN: 0-471-99750-1
[4] [4] * Protocols and Techniques for Data Communication Networks - Franklin F. Kuo - Prentice Hall - 1981 - ISBN: 0-13-731729-8
[5] [5] * UNIX for Programmers and Users A Complete Guide - Graham Glass - Prentice Hall - 1993 - ISBN: 0-13-061771-7
XI - Resumen de Objetivos
Son objetivos de la materia Sistemas Operativos y Redes los siguientes:
a) Estudio teórico de Sistemas Operativos y de las Redes de Computadoras 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.
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. Redes de computadoras: Clasificacion de Redes DAN, LAN,
MAN, WAN; Su protocolos y medios fisicos. Arquitectura de Redes Locales, topologías más comunes. Internetworking. Protocolos de Internet.
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