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 2016)
(Programa en trámite de aprobación)
(Programa presentado el 31/08/2016 11:28:42)
I - Oferta Académica
Materia Carrera Plan Año Periodo
SISTEMAS OPERATIVO DE REDES TEC.REDES COMP. 12/15 2016 2° cuatrimestre
II - Equipo Docente
Docente Función Cargo Dedicación
TAFFERNABERRY, JUAN CARLOS Prof. Responsable P.Adj Simp 10 Hs
BARRIONUEVO, MERCEDES DEOLINDA Responsable de Práctico JTP Exc 40 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. 1 Hs. 2 Hs. 7 Hs. 2º Cuatrimestre 08/08/2016 18/11/2016 15 105
IV - Fundamentación
Este curso se ubica en el 2° año de la Tecnicatura en Redes de Computadoras, con el fin de dar formación básica al alumno en la relación entre los sistemas operativos y las redes de computadoras. Es fundamental la articulación con materias afines tales como Introducción a los SO, Introducción a las Redes de Computadoras y Arquitectura de Redes.
La temática de la materia se orienta a comprender el comportamiento de los Sistemas Operativos y las redes de computadoras, llevando la práctica a casos particulares de sistemas operativos, como UNIX y LINUX y haciendo uso de los servicios que proveen los mismos.
V - Objetivos
Proveer a los alumnos el conocimiento de los sistemas operativos de una computadora y de redes.
Describir los principales aspectos de diseño de un sistema operativo y las implicancias en su mantenibilidad, performance, extensibilidad, robustez, seguridad, etc.
Lograr que el alumno sea capaz de comprender los detalles de implementación de las redes y su integración con los sistemas operativos.
Mostrar las alternativas para soportar los servicios típicos presentes en un sistema operativo.
VI - Contenidos
UNIDAD TEMÁTICA 1: Introducción
Historia y evolución de los Sistemas Operativos. Características que separan a un NOS de un OS de escritorio.
Operaciones básicas de un OS: Gestión de procesos, memoria, almacenamiento. Llamadas a sistema (syscall) y tipos de llamadas a sistema. Protección y Seguridad.
Componentes de un Sistema Operativo. Estructura de Sistemas Operativos: monolítico, por capas, máquina virtual, microkernel, modular, etc.

UNIDAD TEMÁTICA 2: Funciones Principales de un NOS: GESTIÓN DE PROCESOS
procesos: concepto, jerarquía, planificación y comunicación. Hilos: concepto, diferencias con proceso, modelos y bibliotecas. Planificación de la CPU: conceptos, criterios y algoritmos, planificación de hilos. Sincronización: fundamentos, sección crítica, problemas y soluciones. Interbloqueo: orígen y posible tratamiento.
Inter-Process Communication: necesidad. Distintas alternativas. Tuberías, colas de mensaje, memoria compartida.

UNIDAD TEMÁTICA 3: Funciones Principales de un NOS: GESTIÓN DE MEMORIA
Manejo de Memoria: fundamentos, intercambio, Paginación, Segmentación. Memoria virtual: paginación bajo demanda, sustitución de páginas.
Algoritmos de sustitución de páginas.

UNIDAD TEMÁTICA 4: Funciones Principales de un NOS: GESTIÓN DE ALMACENAMIENTO
Archivos: Concepto, operaciones básicas, métodos de acceso, estructura de directorios, montaje.
Implementación de sistemas de archivos Ext3/Ext4. Estructura básica.

UNIDAD TEMÁTICA 5: Funciones Principales de un NOS: GESTIÓN DE ENTRADA/SALIDA
Principios de Hardware de Entrada/Salida, Dispositivos y controladores. Mapeo en memoria y acceso directo a memoria (DMA).
Principios de Software de Entrada/Salida: Programadas y por interrupción.
Capas de Software de Entrada/Salida: Manejo de interrupciones, drivers de dispositivos.

UNIDAD TEMÁTICA 6: NETWORKING EN NOS
Conceptos de networking. Configuración de las funciones de red en los sistemas operativos. Puesta en marcha de NOS, configuración de interfaces de red, rutas, gateway por default, servidores de nombre. Uso de utilidades y estadísticas de red. Etc.

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

Práctico 1: Introducción a NOS
Estudio bibliográfico sobre diversos SO de Red. Comparación entre ellos.

Práctico 2: Procesos e hilos
Uso de comandos del sistema operativo para Creación/Terminación/Gestión de procesos.
Programación en lenguaje C utilizando APIs POSIX para manejo de multiproceso e hilos.

Práctico 3: Simulación Planificador
Uso del simulador proporcionado por la cátedra para la visualización del funcionamiento de los distintos algoritmos de planificación.

Práctico 4: Sincronización
Programación en lenguaje C utilizando APIs POSIX para la gestión de semáforos, mutex, etc.

Práctico 5: Inter-Process Communication
Uso de comandos del sistema operativo para Creación/Terminación/Gestión de mecanismos de ipc.
Programación en lenguaje C utilizando APIs POSIX para manejo de pipe, fifo, mqueue y shared mem.

Práctico 6: Manejo de memoria
Utilización de comandos del sistema operativo para monitoreo de recursos de memoria.

Práctico 7: Sistema de Archivos
Uso de comandos del sistema operativo para gestionar sistemas de archivos, montaje, particiones, tipos de sistemas de archivos, enlaces duros/blandos.

Práctico 8: Entrada/Salida y Networking
Uso de comandos del sistema operativo monitoreo estado de Entrada/Salida, para la configuración de direccionamiento de red, puerta de enlace, servidor de DNS, comandos de prueba y diagnóstico de problemas.
VIII - Regimen de Aprobación
RÉGIMEN DE REGULARIZACIÓN

Para regularizar la materia los alumnos deberán cumplir con las siguientes condiciones:

* Contar con una asistencia del:
- 70% a las clases teóricas.
- 70% a las clases prácticas en máquina.

* Aprobar los prácticos de máquina.
* Aprobar los exámenes parciales.
La cátedra establece dos parciales a realizarse durante su dictado. Los alumnos deberán aprobar tales parciales o sus correspondientes recuperaciones para regularizar 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
Se considerará como alumnos libres aquellos que teniendo aprobados los prácticos de máquina y de aula, estén libres por parciales.

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 System Concepts. Avi Silberschatz & John Wiley , Inc. McGraw-Hill – 2005- ISBN 0-471-69466-5
[2] Modern Operating Systems 3rd. Edition 2008- Andrew S. Tanenbaum - Prentice Hall - 1992 - ISBN: 978-0-13-6006633
[3] The Little Book of Semaphores - Vol2. - Allen B. Downey - greenteapress.com - ISBN: 978-1441418685
[4] The Linux Programming Interface 2011 - Michael Kerrisk - No Starch Press - ISBN 978-1-59327-220-3
[5] Unix Network programming Vol2 – Richard Stevens - Prentice Hall – ISBN: 0-13-081081-9
X - Bibliografia Complementaria
[1] Unix Network programming Vol1 – Richard Stevens - Prentice Hall – ISBN: 0-13-490012-X
[2] RedHat Linux9 Bible - Christopher Negus - Hungry Minds, Inc. - ISBN: 0-7645-3630-3
[3] Linux Network Administrator's Guide, Third Edition – Oreilly – ISBN: 0-596-00548-2
XI - Resumen de Objetivos
Proveer a los alumnos el conocimiento de los sistemas operativos de redes para una computadora.
Transferir al alumno los comocimientos básicos que le permitan instalar, configurar y administrar un sistema operativo de red.
Mostrar las alternativas para soportar los servicios típicos presentes en un sistema operativo de red.
XII - Resumen del Programa
Historia y evolución de los Sistemas Operativos. Componentes de un Sistema Operativo. Estructura de Sistemas Operativos. Distintos tipos de NOS, planificación de la instalación. Elección de hardware adecuado. Procesos, hijos e hilos. Planificador de tareas. Comunicación entre procesos. Manejo de Memoria y systema de archivos. Conceptos de networking. Configuración de las funciones de red en los sistemas operativos. Concepto de background y daemons. Configuración, arranque, parada, registro de eventos, acciones periódicas.
XIII - Imprevistos
.