Sie sind auf Seite 1von 22

Cronograma de Actividades Previsto

A continuacin se plantea el cronograma de actividades para el ciclo lectivo basado en


32 clases de acuerdo con el calendario acadmico.
Clase 1: semana del 28 de Marzo
Introduccin a los Sistemas basados en Microprocesadores de 32 bits Caso
prctico: la PC.

Objetivo: Situar los conocimientos adquiridos por los alumnos en TDII en un


motherboard comercial de PC y mostrar la generacin de aplicaciones utilizando esos
recursos. Se busca consolidar estos conceptos y orientarlos hacia la arquitectura de
trabajo del ao en curso.
Material de la ctedra: Arquitectura PC (Clase 1 y 2).pdf
Terica: 3:00hs
Breve Introduccin al temario de la asignatura, exponiendo sus objetivos, el resumen
de los contenidos a abordar y el enfoque con que se llevar a cabo su estudio.
Introduccin a los procesadores de 16 y 32 bits. Evolucin. Familia iAPx86. Concepto
de compatibilidad ascendente fundado por esta arquitectura.
Descripcin de la estructura bsica de una PC IBM compatible: Mapa de Memoria y de
E/S.
Power On Self Test. BIOS: Estructura de servicios de E/S. Ejemplos de Programacin
sencillos de los perifricos ms comunes. Destacar que su uso solo es vlido en Modo
Real. Limitaciones en Modo Protegido.
Funcin y modos de programacin de los Controladores de E/S vistos en TDII (no se
requiere explicar su funcionamiento interno),
1. Controlador de interrupciones. Modo de trabajo en la PC: IRQ activadas por
flanco, Modo cascada (2do. PIC a partir de la AT286), Fin de Interrupcin
Automtico. Asignacin de IRQs (IRQ0-IRQ15).
2. Temporizador Programable 8254: Direccin de E/S y funcin de cada timer
dentro del sistema. Relacin con los dems componentes (PIC, y refresco de
memoria RAM dinmica).
3. Interfaces serie y paralelo. Direcciones de E/S. IRQs asociadas. Ejemplos de
manejo.
Prctica: 1:00 hs.
Entorno de desarrollo Nasm + Bochs. Uso de los principales comandos de debugging.
Uso de las principales directivas del lenguaje ensamblador. Prcticas sobre Windows y
sobre LINUX. Portabilidad de fuentes entre ambos sistemas operativos. Comandos
bsicos del shell de Linux.
Formatos de archivos ejecutables bajo DOS (dentro de Bochs) y su relacin con los
modelos de segmentacin del procesador: archivos .COM, y .EXE.
TRABAJO PARA PROXIMA CLASE:
- Lectura de los temas desarrollados en esta clase.
- Ejercicio de aplicacin en assembler:
Rutina de conversin de word en formato hexadecimal a su representacin
ASCII.
Entregable en formato electrnico, programa fuente y programa objeto.
Herramientas: NASM.

Clase 2: Semana del 4 de Abril


Arquitectura de Sistemas de 32 bits: Caso prctico la PC.

Objetivo: Ampliar el universo de aplicacin del alumno avanzando en el anlisis del


hardware bsico contenido en un motherboard comercial e incorporando nuevos
recursos para desarrollo de aplicaciones.
Material de la ctedra: Arquitectura PC (Clase 1 y 2).pdf

Entregables:
Ejercicio solicitado en la clase anterior.
Test de Lectura N 1 sobre los temas de Arquitectura de la PC vistos en la clase
anterior.
Prctica: 1:00 hs.
A partir de estos dispositivos ya conocidos trabajar en el laboratorio de PCs en el
desarrollo de programas en modo real cuyo nivel de complejidad vaya aumentando
para introducir conceptos de programacin avanzada tiles a la hora de trabajar en
modo protegido en las clases subsiguientes.
Se estimular el uso de las herramientas de desarrollo en entorno LINUX de modo de
familiarizar a los alumnos con dicho entorno que ser el que utilizar en el segundo
cuatrimestre.
Agregar conceptos de programacin avanzada en Assembler: Macros, y Estructuras a
los diferentes programas que se vayan desarrollando.
Combinacin de programas escritos en lenguajes mixtos: C y Assembler
Terica: 3:00hs
Descripcin de los restantes componentes bsicos de un motherboard. Principales
caractersticas de cada controlador y conceptos asociados:
1. Controlador de DMA: Concepto de DMA. Breve descripcin del 8237, aclarando
su uso solo en aplicaciones legacy (compatibilidad). Breve descripcin de los
sistemas modernos DMA (Ultra DMA, Bus Mastering).
2. Controlador de teclado en la PC. Explicacin de la lgica de Hardware,
Controlador 8042: Breve descripcin y funciones de hardware que cumple en el
sistema adems del teclado. Interrupcin 9h: Funcionamiento, direcciones de
estado de teclas modificadoras, buffer circular. Ejemplos simples de programacin
y de acceso al port 60h en un handler de Interrupcin.
3. Manejo de la pantalla de Video en modo texto. Adelanto al tema controlador
de Video que se ver en el segundo cuatrimestre
4. Reloj de tiempo real. Detalle de sus registros internos. Tcnicas de
Programacin. Memoria CMOS. Uso de la Interrupcin IRQ15.
5. Bus ISA de 8 bits y de 16 bits. Wait states. Tcnicas de Diseo de placas en
esta estructura. Uso de las seales ms importantes: Uso de las seales AEN.
Explicar la redundancia de usar en este bus las lneas de Address mas all de A0A9 para mapeo de dispositivos de E/S. Mapeo de memorias FLASH (A0 A19).
6. Introduccin al Bus PCI.
TRABAJO PARA PROXIMA CLASE:
- Lectura de los temas desarrollados en esta clase.
- Ejercicio de aplicacin en C y Assembler:
Programa en C que muestre en pantalla el estado de la mascara del PIC 1
utilizando la rutina de conversin de word en formato hexadecimal a su

representacin ASCII realizada la clase anterior y una rutina en assembler


adicional que acceda al PIC y devuelva su mscara de interrupciones.
Entregable en formato electrnico, programa fuente y programa objeto.
Herramientas: NASM + GCC + LD + make.

Clase 3: Semana del 11 de Abril


Procesadores x86 Introduccin al Modo Protegido

Objetivo: A partir de una breve revisin de los conceptos vistos para el procesador
8088 en TDII, se retoma la arquitectura interna del procesador 80386, en lo referente
al modelo de registros de propsito general, modelo de segmentacin, y se sita al
alumno en el concepto de Modo Real como emulacin de un 8088. A partir de all se
introducen los conceptos de Modo Protegido.
Material de la ctedra: Procesador IA-32 Clase1.pdf

Entregables:
Ejercicio solicitado en la clase anterior.
Test de Lectura N 2 sobre los temas vistos en la clase anterior.
Terica: 2:30 hs.
Presentacin de la arquitectura denominada IA-32: El Procesador 80386
1. Modo Real.
Segmentacin, modelo de registros de 16 y 32 bits, interrupciones (vector de
interrupciones), capacidad de direccionamiento en Modo Real. Similitudes y diferencias
con el 8088 en el modo real que introduce el 80386. Uso de la arquitectura de 32 bits
en Modo Real.
2. Introduccin al Sistema de Proteccin.
2.a. Requerimiento de los Sistemas Operativos Multitasking a los procesadores
avanzados de 32 bits.
Memoria virtual: Concepto y funcionamiento de un subsistema clsico de
Memoria Virtual.
Entorno de proteccin entre tareas: reas de memoria pblicas y privadas
Multitasking: Sistemas Operativos Multitasking por Time Slicing y Real Time.
Capacidad de direccionamiento: Relacin con el alojamiento de mltiples
tareas en memoria.
Capacidad de procesamiento: Necesidad de ejecutar y conmutar a gran
velocidad las tareas en curso.
2.b. Recursos que emplean los procesadores de Intel 80386 y superiores para
satisfacer estos requerimientos:
2.c. Modelos de Programacin:
Programacin de Aplicaciones: Registros del procesador (propsito general).
Programacin de Sistemas: Registros del procesador (propsito general mas
registros de debug, control, tareas, tablas de descriptores).
2.d. Administracin de los privilegios de las aplicaciones: Introduccin al
modelo de anillos.
2.e. Unidad de Gestin de Memoria (MMU) Parte I: Unidad de Segmentacin.
Segmentacin: Datos necesarios para describir un segmento en Modo Protegido.
Selectores (Registros) de segmento: tamao de un registro de segmento vs.
Informacin necesaria para describir un segmento: Necesidad de emplear estructuras
auxiliares al procesador: Descriptores de Segmento: Estructura y tipos, Tablas de

descriptores Global y Locales. Mecanismo de acceso a un segmento por parte de la


MMU a partir de un selector. Estructura de un selector. Registros asociados del
procesador para el manejo de las tablas de descriptores en memoria. Anlisis de los
bits de Atributos de un descriptor. Atributos, Bit S=1. Bits de atributos para manejo de
memoria virtual (P, y A). Presentacin de un algoritmo de Administracin de memoria
virtual basado en segmentacin.
3. Introduccin a la programacin en Modo protegido. Modos de organizacin de las
tablas de descriptores. Pasos para poner al procesador en Modo Protegido.
Prctica 1:30 hs.
Laboratorio. Exposicin Prctica a cargo del docente, usando las herramientas de
desarrollo bajo LINUX.
Desarrollo de programas para pasar al Modo Protegido.
Metodologa de dificultad incremental. Se parte de un pequeo y simple programa que
pone al procesador en Modo Protegido y sale sin mas. Se contina tratando de acceder
a segmentos agregando GDT con un mnimo de descriptores.
Programas con segmentos de mas de 64K. Big Real Mode. Ejemplos.
Inicializacin. Armado de estructuras para los segmentos. Tcnicas de armado de
cdigo para limpiar las colas internas del procesador y salto largo para cargar el
descriptor de cdigo en el cach del CS
TRABAJO PARA PROXIMA CLASE:
- Lectura de los temas desarrollados en esta clase.
- Ejercicio de aplicacin en C y Assembler:
Realizar un programa en Assembler que pase a Modo Protegido al
procesador y llame a una rutina en C que imprima la frase Hola Mundo en
pantalla.
Clase 4: Semana del 18 de Abril
Procesadores x86. Modo Protegido. Manejo de Interrupciones y Excepciones
Objetivo: Introducir el manejo de excepciones e interrupciones en modo protegido.
Material de la ctedra: Procesador IA-32 Clase2.pdf

Entregables:
Entrega del ejercicio solicitado en la clase anterior.
Trabajo prctico de entrega obligatoria de Bus ISA
Test de Lectura N 3 sobre los temas vistos en la clase anterior.
Terica 1:30 hs.
1. Interrupciones y Excepciones en Modo Protegido
Repaso de la estructura de un descriptor. Atributos, Bit S=0. Descriptor de sistema,
enfoque como mecanismo de acceso a recursos o procedimientos en lugar de
medio de acceso a un segmento especfico. Descriptores de Interrupcin. Tabla de
Descriptores de Interrupcin. Registros Asociados. Excepciones: Descriptores de
Excepcin. Principales casos vistos hasta el momento: Fallo de Pgina, segmento
no presente.
Prctica 2:30 hs
Laboratorio. Exposicin Prctica a cargo del docente, utilizando las herramientas de
desarrollo bajo LINUX.
Continuacin del programa visto en la clase 3 con la incorporacin de interrupciones.
Manejo de excepciones. Tablas de descriptores Interrupcin. Inicializacin.

Problemtica planteada por la superposicin de las interrupciones del PIC1 con las
excepciones del procesador. Modalidades de tratamiento para resolver la situacin al
manejar excepciones. Soluciones que aplican los Sistemas Operativos en la prctica.
Acceso al controlador de Interrupciones. Manejo de Interrupciones. Manejo de teclado
y timer tick, port serie.
TRABAJO PARA PROXIMA CLASE:
- Lectura de los temas desarrollados en esta clase.
- Ejercicio de aplicacin en Assembler:
Realizar un programa en Assembler que pase a Modo Protegido al
procesador y espere 5 segundos antes de volver a Modo Real (utilice el
timer tick para tal fin).
Clase 5: Semana del 25 de Abril
Laboratorio. Prctica a cargo del ayudante de TP.

Objetivo: Introducir al alumno a la programacin en Modo Protegido. Se debe lograr


que el alumno desarrolle su cdigo. La misin de los docentes es asistirlo en el uso de
las herramientas de programacin y en la adquisicin mediante la prctica de las
tcnicas de programacin y debugging.
Entregables:
Entrega del ejercicio solicitado en la clase anterior.
Test de Lectura N 4: sobre los temas vistos en la clase anterior.
Prctica 3:45 hs.
Desarrollo de programas por parte de los alumnos con la asistencia de los docentes.
Se estimular el uso de las herramientas de desarrollo en entorno LINUX de modo de
familiarizar a los alumnos con dicho entorno que ser el que utilizar en el segundo
cuatrimestre.
Combinar las aplicaciones desarrolladas en las clases 1 y 2, para que trabajen en Modo
protegido.
Introduccin a la programacin en diferentes archivos fuentes.
Uso del debugger de Bochs para la deteccin de bugs en los programas de modo
protegido.
Estimular en los alumnos la aplicacin de una metodologa para la deduccin del
problema.
Tcnicas de depuracin de programas en Modo Protegido: Generacin de archivos LST
para combinar con la informacin del debugger de Bochs en la identificacin del punto
de falla. Armado de rutinas de manejo de excepciones que permitan obtener
informacin del problema.
Uso de los comandos info gdt e info idt para visualizacin de las tablas de
descriptores.
TRABAJO PARA PROXIMA CLASE:
- Lectura de la documentacin de bochs.
- Ejercicio de uso de bochs
Tomar el programa entregado en esta clase que pone en Modo Protegido al
procesador y espera 5 segundos antes de volver a Modo Real utilizando el
timer tick, y setearle un breackpoint en el inicio de la rutina de timer tick,
dumpear la variable de memoria que contiene la cuenta necesaria para
esperar 5 segundos. Capturar las pantallas correspondientes al primer y el
ltimo dump, de modo que se vea claramente el sitio del programa en el

que est detenido, y el valor de la variable junto con los comandos que
utiliz para setear el breack point y dumpear la variable. Elaborar un
informe con las conclusiones y los grficos de captura de pantalla.
Clase 6: Semana del 2 de Mayo
Laboratorio. Prctica a cargo del ayudante de TP.

Objetivo: Lograr que el alumno pueda hacer funcionar su cdigo de manejo de


interrupciones y pasaje a modo protegido. Trabajar en diferentes variantes de las
operaciones bsicas que realiza el programa. Se debe trabajar en desestructurar
la tendencia a memorizar la forma de resolver y reemplazarla por un
razonamiento lgico que le permita generar cdigo de manera natural en
base a los conceptos tericos tratados en el curso. El alumno debe alcanzar este
logro antes del primer parcial.
Entregables:
Entrega del ejercicio solicitado en la clase anterior.
Test de Lectura N 5 sobre los temas vistos en la clase anterior (bochs debugger)
Prctica 3:45 hs.
Desarrollo de los programas de la gua de TP a cargo de los alumnos con la asistencia
de los docentes.
Se estimular el uso de las herramientas de desarrollo en entorno LINUX de modo de
familiarizar a los alumnos con dicho entorno que ser el que utilizar en el segundo
cuatrimestre.
Intensificacin del uso del debugger de Bochs para la deteccin de bugs en los
programas de modo protegido.
TRABAJO PARA PROXIMA CLASE:
- Lectura de la documentacin de nasm
- Ejercicio de uso avanzado de nasm.
Tomar el programa entregado para esta clase y modificarlo de modo de
usar al menos una subrutina escrita en un archivo .asm separado, y
utilizando estructuras para los descriptores. El programa principal debe
tener un comentario en su encabezado con los comandos necesarios para
compilar cada mdulo, y linkear el conjunto.
Clase 7: Semana del 9 de Mayo
Procesadores x86 - Modo Protegido: Multitasking y Mecanismos de
Proteccin.

Objetivo: Incorporar al temario de trabajo del alumno las capacidades de conmutacin


de tareas y los mecanismos de proteccin del procesador. El alumno debe comprender
ambos mecanismos desde los fundamentos tericos basados en la arquitectura hasta
su aplicacin.
Material de la ctedra: Procesador IA-32 Clase3.pdf

Entregables:
Entrega del ejercicio solicitado en la clase anterior.
Test de Lectura N 6 sobre los temas vistos en la clase anterior (nasm, compilacin)
Terica: 2:15 hs.
Mecanismos y Niveles de Proteccin. Puertas de llamada. Cambio de nivel de privilegio
a travs de compuertas de Interrupcin. Manejo del stack en cambios de nivel.
Mecanismos de seguridad para evitar accesos indebidos (escenario del caballo de
Troya).

Instrucciones privilegiadas y protegidas. Impacto en el desarrollo de software en Modo


Protegido.
Conmutacin de tareas. Registros asociados. Contexto de ejecucin del procesador.
Segmento de Estado de Tareas. Mecanismos para la conmutacin de tareas. Puertas
de tarea.
Prctica 1:30 hs.
Se intensificar el uso de las herramientas de desarrollo en entorno LINUX de modo de
familiarizar a los alumnos con dicho entorno que ser el que utilizar en el segundo
cuatrimestre.
Tomar el programa entregado para esta clase por el alumno y proponer modificarlo de
manera que el timer tick se maneje mediante una puerta de tarea en la IDT.
Desarrollo en el handller del timer tick de un scheduler sencillo que conmute dos
tareas. El cdigo de la tarea a presentar ser trivial. Lo importante es presentar el
mecanismo de conmutacin.
Reemplazar la puerta de tarea en el descriptor de la IDT correspondiente al timer tick
por una puerta de interrupcin. Analizar las modificaciones que se requieren en el
cdigo del scheduler debidas a este cambio en el descriptor.
Deseable: avanzar con puertas de llamada, mostrando el mecanismo de acceso a
tareas de nivel 0 que acceden al hardware, desde tareas de nivel 3, sin tales
privilegios.
TRABAJO PARA PROXIMA CLASE:
- Lectura de los temas vistos en teora en esta clase
- Uso de Bochs para analizar los casos de puerta de interrupcin y de tarea en el
scheduler del timer tick.
Ejecutar paso a paso en Bochs ambos programas de scheduler con puerta de
tarea y con puerta de interrupcin en la IDT. Redactar un informe con el
anlisis de los siguientes tems
o Como se manejan los contextos de ejecucin en cada caso. Elaborar
conclusiones.
o Cual es el punto de inicio del handler de interrupcin en cada caso, al
generarse una nueva interrupcin.
Clase 8: : Semana del 16 de Mayo
Procesadores x86 - Modo Protegido: Paginacin de memoria
Objetivo: Introducir al alumno en el manejo de la memoria incorporando la unidad de
paginacin del procesador.
Material de la ctedra: Procesador IA-32 Clase1.pdf

Entregables:
Entrega del ejercicio solicitado en la clase anterior.
Test de Lectura N 7 sobre los temas vistos en la clase anterior
Terica: 1:30 hs.
1. Unidad de Gestin de Memoria (MMU) Parte II: Unidad de Paginacin.
Paginacin: Inconvenientes en la Administracin de la memoria virtual por
segmentos. Presentacin de la Administracin de memoria por pginas:
Caractersticas fundamentales de la paginacin. Ventajas de su uso en la
Administracin de Memoria Virtual. Mejoras en el algoritmo de Administracin por
segmentacin. Acceso a las pginas por parte del procesador: Necesidad de un
Descriptor de Pgina. Administracin de los descriptores de pginas mediante

estructuras en rbol: Motivacin e implementacin. Implementacin de esta forma


de organizacin en la IA-32: Directorio de Tablas de Pginas, tablas de descriptores
de pgina. Concepto de Direccin Lineal y Direccin Fsica. Mecanismos de acceso
a una pgina por parte de la MMU.
Mejoras de la paginacin en el manejo de VM. Implementacin en los sistemas
operativos reales.
Laboratorio. Prcticas a cargo del ayudante

Objetivo: Explicar un programa de manejo de memoria por paginacin anticipando este


importante punto de administracin de un sistema operativo.
Prctica 2:15 hs.
Exposicin por parte de los docentes de un programa que habilite la Unidad de
Paginacin del procesador, inicialice el Directorio de tablas de pginas, y las pginas
necesarias.
Anlisis de cmo quedan las direcciones fsica y lgica.
En el tiempo restante de clase, desarrollar un scheduler que maneje una lista de n
tareas en donde n no es constante.
Debugging de tareas con Bochs y los archivos LST generados por el ensamblador.
Trabajo en la puesta a punto de los programas de la gua.
TRABAJO PARA PROXIMA CLASE:
- Lectura de los temas vistos en teora en esta clase
- Resolucin de un problema de paginacin de memoria a nivel numrico.
La instruccin mov ax, [esi] corresponde a una tarea que al momento de su
ejecucin tiene: ds:esi = 23h:9F0A02EBh, y CR3 = 0000F000h. ds est inicializado con
un selector que en la GDT corresponde a un segmento de 4 Gbytes con base en 0h y
DPL = 00. Las tablas de descriptores de pgina se ubicarn en memoria fsica a
continuacin del Directorio de Tabla de Pginas (DTP), en el mismo orden en el que se
encuentran sus descriptores correspondientes en el DTP. De modo que el modelo
Directorio de Tablas de Pgina (DTP)
Base_DTP

Tablas de Pgina
Base_TP

0
1

Indexn
PTBAn

0
1

Indexm
PBAm

queda del siguiente modo:


Determinar:
a. Los valores de Base_DTP, n, Base_TP, y m.
b. El valor de PTBAn, que debe llevar el descritor Nro. n del DPT de acuerdo a los
datos del problema.
c. El valor de PBAm para que el objeto seleccionado por es:edi mapee sobre la
direccin 100012Ebh
Clase 9: Semana del 23 de Mayo
Laboratorio. Prcticas a cargo del ayudante de TP

Objetivo: Consolidar los conceptos de conmutacin de tareas a travs de su aplicacin


prctica

Entregables:
Entrega del ejercicio solicitado en la clase anterior.
Test de Lectura N 8 sobre los temas vistos en la clase anterior
Prctica 3:45 hs.
Anlisis de un scheduler que maneje una lista de tareas cuya cantidad pueda variar.
Las tareas siempre deben ser sencillas, hacindose especial nfasis en la
administracin de las mismas. Trabajo en la puesta a punto de los programas de la
gua combinando C y Assembler. Es conveniente que los alumnos traigan los archivos
fuente pre desarrollados para terminar de ponerlos en condiciones de funcionamiento
en el laboratorio.
Desarrollo de programas que manejen tareas en diferentes niveles de privilegio.
Aplicacin de las Tcnicas cambio de nivel de privilegio de tareas.
Debugging de estas tareas con Bochs y los archivos LST generados por el
ensamblador. Trabajo en la puesta a punto de los programas de la gua.
TRABAJO PARA PROXIMA CLASE:
- Lectura de los temas vistos en teora en esta clase
- Ejercicio.
Entregar un scheduler genrico para un nmero variable de tareas con
prioridad medida en ciclos de timer tick.
Clase 10: Semana del 30 de Mayo
Procesadores de 32 bits Micro Arquitecturas IA-32

Objetivo: Introducir al alumno en los detalles de Arquitectura de los procesadores de


32 bits por medio del anlisis de una arquitectura en particular de modo de transmitir
un enfoque prctico y concreto. Pasando de conceptos generales a casos particulares
donde pueda hacerse tangible el concepto general. Se toma como caso particular la
arquitectura IA-32 por ser la mas completa y que adems presta especial utilidad para
transmitir la idea de escalabilidad .
Se debe llegar a exponer el estado del arte de esta arquitectura, y su comparacin con
otras similares.
Material de la ctedra: Procesador IA-32 Clase4.pdf

Entregables:
Entrega del ejercicio solicitado en la clase anterior.
Test de Lectura N 10 sobre los temas vistos en la clase anterior
Terica 3:45 hs.
Arquitectura de un procesador de 32 bits. Procesadores superescalares. Paralelizacin
de instrucciones. Limitaciones del modelo. Modelo CISC vs. Modelo RISC.
Memoria cach. Su finalidad. Criterios de Vecindad espacial y temporal para la
administracin de su contenido. Controlador de Memoria Cache - Mapeo directo Mapeo Asociativo n vas. Bus local.
Introduccin a la arquitectura del IA-32. Arquitectura Pipeline del 80386. El 80486 y el
segundo nivel de cach.
Procesadores Pentium: Arquitectura Superescalar, Ejecucin paralela, Branch
Prediction.
Pentium Pro: Super integracin del Cach de 2do. Nivel Ventajas.
Evolucin de la Arquitectura Superescalar. Ampliacin de unidades de ejecucin.
Ejemplos con procesadores Pentium II, III, y IV (Micro Arquitectura Net Burst).

Estado del arte Hyper threading.


Multiprocesamiento. Capacidades y Sistema Avanzado de Interrupciones (APIC)
TRABAJO PARA PROXIMA CLASE:
- Lectura de los temas vistos en teora en esta clase
- Comentarios del paper Deborah T. Marr et. al. Hyper-Threading Technology
Architecture and Microarchitecture. Documento Word de 2 carillas verdana 10 p,
interlineado simple, A4, mrgenes default.
Clase 11: Semana del 6 de Junio
Procesadores IA -32 Extensiones
Procesamiento Digital de Seales

Multimedia

Introduccin

al

Objetivo: Presentar el modelo de Ejecucin SIMD, y su implementacin en los


procesadores IA-32, a travs de las Tecnologas MMX, SSE, SSE2, SSE3, 3D-Now.
Desarrollar aplicaciones de Procesamiento de Seales.
Material de la ctedra: Procesador IA-32 Clase5.pdf

Entregables:
Entrega del ejercicio solicitado en la clase anterior.
Test de Lectura N 9 sobre los temas vistos en la clase anterior
Modelo de ejecucin SIMD. Necesidades de procesamiento Multimedial.
Formatos numricos. Representacin en punto flotante. Standard IEEE 574.
Tecnologa MMX. Puede un procesador de estas caractersticas emplearse en
Procesamiento Digital de Seales?
Operaciones empaquetadas. Aritmtica Saturada y de desborde. Set de instrucciones.
Extensiones para Procesamiento Digital de Seales: Tecnologas SSE, SSE2, SSE3.
Algoritmos empleando la implementacin del modelo SIMD en procesadores IA-32.
TRABAJO PARA PROXIMA CLASE:
- Lectura de los temas vistos en teora en esta clase
- Ejercicio.
Escriba el cdigo de una rutina que calcule la convolucin entre dos arreglos de
valores discretos utilizando extensiones multimedia.
Clase 12: Semana del 13 de Junio
Laboratorio. Prcticas a cargo del ayudante

Objetivo: Consolidar los conceptos de conmutacin de tareas a travs de su aplicacin


prctica
Entregables:
Entrega del ejercicio solicitado en la clase anterior.
Entrega del Trabajo Prctico Obligatorio de Modo Protegido.
Test de Lectura N 11 sobre los temas vistos en la clase anterior
Prctica 3:45 hs.
Puesta a punto de la rutina de convolucin trada por los alumnos como entregable de
clase. Desarrollo de rutinas de Procesamiento Digital de Seales utilizando las
instrucciones SIMD. Estas rutinas se escriben ntegramente en assembler en archivos
separados de modo de incluirlas en estos ejemplos de modo protegido como tareas, o
para ser utilizadas en el segundo cuatrimestre invocndolas desde programas de
procesamiento de Audio bajo Linux.

Introduccin al in-line assembler desde un programa en C. Criterios de utilizacin de


esta alternativa frente a un archivo .asm separado.
TRABAJO PARA PROXIMA CLASE:
- Lectura adelantada de material para la clase prxima: Paper USB in a nutshell.
Fuente pgina de TDIII en http://www.electron.frba.utn.edu.ar
- Ejercicio
Escribir en in-line assembly, un programa que copie un buffer de memoria a
otro sitio de la RAM. Ambos punteros se reciben como argumentos.
Clase 13: Semana del 20 de Junio
Arquitectura de la PC -Buses de expansin: El Universal Serial Bus

Objetivo: Capacitar al alumno en la comprensin del protocolo que maneja el USB


enfocndolo a los aspectos necesarios para construir dispositivos perifricos
conectables a este bus.
Entregables:
Entrega del ejercicio solicitado en la clase anterior.
Test de Lectura N 12 sobre USB in a nutshell
Material de la ctedra: USB.pdf
Descripcin y uso del USB. Caractersticas principales. Especificacin 1.1 e introduccin
a USB especificacin 2.0.
Especificaciones elctricas, deteccin del attach de un dispositivo y condiciones de
alimentacin de los dispositivos.
Normas para desarrollo de un host controller. Hubs. Descripcin pormenorizada del
frame de datos: Concepto de Transaccin, Paquetes que componen cada transaccin
(Token, Data , Handshake), Estructura de un paquete (PID, Info Adicional, CRC).
Definicin de Endpoint, Pipe, Interfaz, y Configuracin. Tipos de transferencias:
caractersticas distintivas y casos de aplicacin.
Proceso de Enumeracin: Descripcin de los pasos que se siguen desde la conexin de
un dispositivo al USB hasta que se llega a la condicin de poder operar con l. Clases
de dispositivos. La clase HID. Ventajas de simular un dispositivo personalizado como
HID.
Criterios de seleccin de hardware: Controlador stand alone (9603) vs. Controladores
embebidos (AN2131, C8051F320/321, basados en 8051, o PICs de Microchip).
Ventajas y fortalezas de cada modelo. Tendencias.
Estructura de un controlador de nodo USB: SIE (Serial Interface Engine), MAC (Media
Access Control), lgica de endpoints, registros de clock, manejo de interrupciones
hacia el microprocesador.
TRABAJO PARA PROXIMA CLASE:
- Lectura de los temas vistos en teora en esta clase
- Resolucin del trabajo prctico Obligatorio de USB.
Clase 14: : Semana del 27 de Junio
Laboratorio. Prcticas a cargo del ayudante

Objetivo: Consolidar los del primer cuatrimestre a travs de su aplicacin prctica


Entregables:
Trabajo prctico de entrega obligatoria de USB.
Test de Lectura N 13 sobre los temas vistos en la clase anterior

Prctica 3:45 hs.


Desarrollo por parte de los alumnos de programas que manejen tareas.
Aplicacin de las Tcnicas de conmutacin de tareas por parte de los alumnos asistidos
por los docentes del curso.
Debugging de tareas con Bochs y los archivos LST generados por el ensamblador.
Trabajo en la puesta a punto de los programas de la gua.
TRABAJO PARA PROXIMA CLASE:
- Entrega de la versin final corregida del trabajo prctico Obligatorio de Modo
Protegido.
Clase 15: Semana del 4 de Julio
Laboratorio. Prcticas a cargo del ayudante

Objetivo: Consolidar los del primer cuatrimestre a travs de su aplicacin prctica


Entregables:
Versin final corregida del trabajo prctico Obligatorio de Modo Protegido.
Test de Lectura N 14 sobre los temas vistos en la clase anterior
Prctica 3:45 hs.
Desarrollo por parte de los alumnos de programas que manejen tareas.
Aplicacin de las Tcnicas de conmutacin de tareas por parte de los alumnos asistidos
por los docentes del curso.
Debugging de tareas con Bochs y los archivos LST generados por el ensamblador.
Trabajo en la puesta a punto de los programas de la gua.
Ejercicios tipo Parcial.

Vacaciones / Mesas de examen Final


Clase 16: Semana del 1 de Agosto

1er. Examen Parcial.


Clase 17: Semana del 8 de Agosto
Sistemas Operativos Multitasking:

Objetivo: Introducir al alumno al conocimiento de la arquitectura de los sistemas


operativos multitasking basados en procesadores de 32 bits. Articular cada concepto
de este tema con los procesadores estudiados en el primer cuatrimestre, analizando el
uso o descarte de cada recurso del procesador en el diseo de un Sistema Operativo
tomado como caso prctico de aplicacin, para lo cual se trabajar con uno
ampliamente difundido.
Material de la ctedra: presentacion_td3_linux.v.5.pdf
Terica 3:45 hs.
1. Introduccin general a los sistemas operativos multitasking.
Clasificacin de los diferentes sistemas operativos. Enunciacin de las caractersticas
principales y distintivas de cada tipo. Estructura de un Sistema Operativo Multitasking.
Concepto de Mquina Virtual.
Caractersticas de los Sistemas Operativos Modernos: Arquitectura Microkernel,
Multithreading, Multiproceso Simtrico. Diseo Orientado a Objetos.
Sistemas Operativos Distribuidos
1. Caso de estudio detallado: Linux. Descripcin del kernel:

1.a. Arquitectura: Modelo de ejecucin en modo User y en Modo Kernel, Manejo de los
stacks, reentrancia. System Calls.
1.b. Manejo de la memoria. Modelo de Segmentacin utilizado en Linux. Definicin en
el Sistema de los Segmentos basados en los recursos que provee la arquitectura IA32 estudiada en el primer cuatrimestre. Modelo de Gestin de la Memoria Virtual:
Uso de la Paginacin en el sistema.
1.c. Manejo de los procesos. Process Descriptor. Task Array. Estados de ejecucin de
los procesos. Identificacin de un proceso (PID). La lista de Procesos. Parentesco
entre procesos. Como se retoma un proceso puesto a dormir: Colas de Espera.
Limitaciones en cantidad de procesos.
1.c.i. Conmutacin de procesos. Relacin con la TSS de lso procesadores IA-32
estudiados en el primer cuatrimestre.
1.c.ii. Creacin de procesos. Clone ( ), Fork ( ), vfork ( ). Terminacin de procesos exit
( ).
1.c.iii. Threads. Concepto diferencia entre crear una imagen del proceso actual con fork
( ), y un thread con pthread_create ( ). POSIX Threads versus Linux Threads.
1.c.iv. Concepto de Kernel Threads. El proceso swapper o proceso 0. INIT el proceso 1.
1.c.v. Comandos del shell para el control y visualizacin de los procesos: ps" top.
Espacio de Direccionamiento del proceso (Understanding the Linux Kernel Bovet
Pg. 183).
1.c.vi. Ejecucin de Mltiples hilos (Multithreading). Las primitivas fork( ) system( )
excecl ( ) execlp( ). Explicacin de la funcin de cada tipo de primitiva y del manejo
que hace con el espacio de direcciones del proceso. Ejemplos.
TRABAJO PARA PROXIMA CLASE:
- Lectura de los temas desarrollados en esta clase.
- Ejercicio de aplicacin en C:
Escriba un programa que cree un proceso hijo mediante fork. El programa
tendr una variable global, inicializada en 0. Luego de crear el proceso hijo el
padre imprime el contenido de la variable global. El proceso hijo incrementa la
variable global y luego la presenta
Elabore una discusin acerca del orden de los mensajes en stdout y el valor de
la variable global en cada caso.
Clase 18: Semana del 15 de Agosto
Estructura de un Sistema Operativo Multitasking. Caso de estudio detallado:
Linux.

Objetivo: Continuar el anlisis de la arquitectura de los sistemas operativos


multitasking basados en procesadores de 32 bits, ya inmersos en el caso de estudio del
curso: LINUX. Se continuar articulando cada concepto con los conocimientos
adquiridos al estudiar los procesadores IA-32.
Material de la ctedra: presentacion_td3_linux.v.5.pdf , y discos.pdf

Entregables:
Entrega del ejercicio solicitado en la clase anterior.
Test de Lectura N 15 sobre temas vistos en la clase anterior
Terica 3:45 hs.

1. El Scheduler.
Poltica de scheduling. Preemption. El Algoritmo de scheduling. La funcin schedule
( ). System Calls relacionadas con el scheduler: nice ( ), setpriority ( ), getpriority (

). System Calls relacionadas con Procesos Real Time: sched_getscheduler( ),


sched_setscheduler( ), sched_getparam( ), sched_setparam( ), sched_yield( ),
sched_get_priority_min( ) and sched_get_priority_max( ), sched_rr_get_interval( ).
2. Manejo de Interrupciones y Excepciones. Armado de la IDT.
Relacin con los procesadores IA-32 estudiados en el primer cuatrimestre.

3. Arquitectura SMP
Introduccin. rea de Memoria Comn. Sincronizacin de Cach. Manejo
distribuido de Interrupciones Control del sistema APIC.

4. File System.
4.a. Disco Flexible:
Breve exposicin de la estructura y funcionamiento de un drive y estructura de
los discos de 3 . Formato del sector de arranque para disquetes con formato
DOS (se utiliza este formato ya que es reconocido por todos los Sistemas
Operativos, an los que no son de autora de Microsoft. Objetivo: Poder generar
nuestros propios programas de arranque. Uso de la INT 13h del BIOS. Formato
de un disco bajo DOS: Directorio Raz, cluster, FAT.
4.b. Disco Rgido:
Estructura de los discos rgidos: Drive y controlador, Master Boot Record.
Concepto de Particin de disco. Mecanismos que utilizan los Programas
Maestros de arranque para seleccionar una particin: LILO, o GRUB para
LINUX, o el Master Boot de Windows 2000, o programas de terceras partes.
Interfaz ATAPI: Direcciones de E/S y Registros asociados. Ejemplos de acceso
fsico al disco.
4.c. Concepto general de File System.
Estructura lgica del disco en Linux. Concepto, estructura y contenido de un inodo. Comandos del shell para la visualizacin y manejo del sistema de
archivos: ls, cp, mkdir, rm, df.
TRABAJO PARA PROXIMA CLASE:
- Lectura de los temas desarrollados en esta clase.
- Ejercicio de aplicacin en C:
Para el programa realizado para esta clase modificar la prioridad del proceso
hijo en el momento de su creacin desde el proceso padre, de modo que sea la
mas alta posible.
Elabore una discusin acerca de cmo tuvo que ejecutar el programa para que
opere de acuerdo con lo requerido.
Clase 19: Semana del 22 de Agosto
Estructura de un Sistema Operativo Multitasking. Caso de estudio detallado:
Linux.

Objetivo: Capacitar al alumno en los primeros recursos de programacin en el entorno


del sistema operativo Linux. Uno de los puntos mas salientes es la intercomunicacin
de procesos, adems de las llamadas al kernel mas comunes. Todos estos conceptos
se articularn con los conocimientos de ANSI C trados por los alumnos de Informtica
I y II.
Entregables:
Entrega del ejercicio solicitado en la clase anterior.
Test de Lectura N 16 sobre temas vistos en la clase anterior
Terica 1:45 hs.

Mecanismos de Intercomunicacin de Procesos (IPCs).


Seales. Pipes. FIFOs. File Locking. Semforos, Colas de Mensajes, Shared Memory
Segments.
Prctica 2:00 hs.
Uso del entorno Linux para desarrollo de aplicaciones en lenguaje C. Concepto de
sesin. Desarrollo de aplicaciones sencillas para familiarizar al alumno con el entorno.
Manejo del gcc. Programas simples con manejo de procesos y algunos IPCs sencillos.
Uso de fork () conceptos de proceso hijo y proceso padre. Comando kill. Primitiva kill
(). Seales
TRABAJO PARA PROXIMA CLASE:
- Lectura de los temas desarrollados en esta clase.
- Ejercicio de aplicacin en C:
Primer ejercicio de seales y de FIFOs de la gua de Trabajos prcticos.
Clase 20: : Semana del 29 de Agosto
Laboratorio. Prcticas a cargo del ayudante

Objetivo: Aplicar los conceptos vistos en las clases tericas a cargo del profesor en el
manejo de aplicaciones que optimicen el consumo de recursos para el sistema
Entregables:
Entrega del ejercicio solicitado en la clase anterior.
Test de Lectura N 17 sobre temas vistos en la clase anterior
Prctica 3:45 hs.
Desarrollo de programas. Uso de system calls. Manejo de archivos. Uso de IPCs:
Seales y pipes. FIFOs y colas de mensajes. Introduccin del concepto de reemplazo
de un proceso por otro. Primitiva excelp ().
Ejecucin de shell scripts para monitoreo del sistema y comprobacin del consumo de
los recursos del sistema involucrados en los programas de aplicacin. Visualizacin de
pipes entre aplicaciones existentes. Operador '|'. Bsqueda de procesos.
TRABAJO PARA PROXIMA CLASE:
- Lectura de los temas desarrollados en esta clase.
- Ejercicio de aplicacin en C:
Programa que cree un message queue, y dos procesos hijos. Cada proceso
recibe solo aquellos mensajes que tengan como mtype su propio PID.
Clase 21: Semana del 5 de Setiembre
Laboratorio. Prcticas a cargo del ayudante

Objetivo: Aplicar los conceptos vistos en las clases tericas a cargo del profesor en el
manejo de aplicaciones que optimicen el consumo de recursos para el sistema
Entregables:
Entrega del ejercicio solicitado en la clase anterior.
Test de Lectura N 18 sobre temas vistos en la clase anterior
Prctica 3:45 hs.
Desarrollo de programas de manejo de threads. Cotejando los resultados con los
programas que hacen uso de fork () para crear hilos de procesamiento en procesos
separados, obtener conclusiones. Uso de semforos mutex para sincronizar el acceso a
recursos comunes entre threads.
TRABAJO PARA PROXIMA CLASE:

- Lectura de los temas desarrollados en esta clase.


- Ejercicio de aplicacin en C:
Tome el programa solicitado en la clase 17 y reemplace la system call fork ()
por otra que en lugar de crear un proceso cree un thread.
Reelabore la discusin en funcin del resultado por stdout de su ejecucin
Clase 22: Semana del 12 de Setiembre
Estructura de un Sistema Operativo Multitasking. Caso de estudio detallado:
Linux. Diseo de Device Drivers.

Objetivo: En base a los conceptos de Proteccin estudiados durante el primer


cuatrimestre, y en base a la implementacin prctica realizada con lso procesadores
IA-32, introducir el concepto de acceso a los dispositivos de E/S en un entorno de
proteccin, a travs de mdulos especiales del Sistema Operativo denominados Device
Drivers. Poner en trminos prcticos estos conceptos, presentando al alumno la
plataforma de soporte del Sistema Operativo Linux para disear Device Drivers.
Posibilitarle con estos elementos la capacidad de manejar su propio Hardware u otro
diseado por terceros.
Material de la ctedra: presentacion_td3_linux.v.5.pdf

Entregables:
Entrega del ejercicio solicitado en la clase anterior.
Test de Lectura N 19 sobre temas vistos en la clase anterior
Terica 2:00hs
Acceso a la E/S en sistemas Multitasking. Problemas de la concurrencia de accesos.
Necesidad de administracin de cada dispositivo mediante un software que permita
regular el acceso desde los diferentes procesos que lo requieran.
Device Drivers: Funcin dentro de un Sistema Operativo. Clasificacin: Caracter,
Bloque, Network, y Miscelneos. Caractersticas de cada uno.
Caso de implementacin : LINUX. Modelo de programacin de Device Drivers. El
directorio /dev. Nmeros Mayor y Menor. Tratamiento del driver como un archivo.
Mapeo del API del sistema Operativo sobre el hardware: La estructura
"file_operations".
Instalacin de un device driver: Mtodo en las viejas versiones UNIX: Relinkeo contra
el kernel, Mtodo actual: ejecucin como Modulo. Ventajas y desventajas de cada
caso.
Estructura de un mdulo en Linux. Instalacin y desinstalacin. Comandos de shell
necesarios. Ejecucin desde root: motivos. Funciones del mdulo que trabajan de entry
point en cada caso.
Funciones del kernel utilizables por los drivers. Registro del driver. Manejo del buffer
de datos desde especio User a espacio Kernel y viceversa. Uso de interrupciones de
hardware desde el driver.
El file system /proc.
Prctica 1:45hs
Ejemplos de desarrollo. Anlisis exhaustivo del cdigo de "serial.c": (driver genrico
para un port serie standard).
Manejo de las Interrupciones: Funciones del kernel relacionadas.
Uso de las funciones internas del kernel para:
Intercambio de los datos desde el buffer de memoria de Modo User al de Modo
Kernel

Creacin de colas de espera para despertar al proceso cuando arribe una


interrupcin
Manejo del estado del proceso cuando es necesario esperar datos desde el
dispositivo de hardware.
Instalacin y remocin del driver. Registro y desregistro.
Demostracin prctica de su funcionamiento.
Anlisis del file system virtual /proc para monitorear los recursos asignados y la
instalacin del mdulo.
TRABAJO PARA PROXIMA CLASE:
- Lectura de los temas desarrollados en esta clase.
- Ejercicio de aplicacin en C:
Tome el cdigo presentado en clase, y compilelo en un kernel 2.4.x.
Conecte al port serie controlado por el driver un equipo que sea capaz de
enviar caracteres
Vuelque sobre stdout el contenido de /proc/interrupts, y /proc/modules.
Instlelo y vea el resultado en /proc/modules.
Escriba un programa que lo lea y presente en stdout los caracteres que recibe.
Una vez abierto el nodo /dev/ser vea el contenido de /proc/interrupts
nuevamente
A medida que sigue recibiendo chequee el contenido de /proc/interrupts y
documente los cambios acaecidos.
Elabore un informe con los resultados, explicando las causas de los
comportamientos descriptos.
Clase 23: Semana del 19 de Setiembre
Laboratorio. Prcticas a cargo del ayudante

Objetivo: Trabajar en el desarrollo de aplicaciones uniendo conceptos en manejo de


recursos del sistema en IPCs, archivos, y drivers. Concepto de acceso simultneo a
mltiples recursos que bloquean al proceso hasta responder con los datos solicitados.
Entregables:
Entrega del ejercicio solicitado en la clase anterior.
Test de Lectura N 20 sobre temas vistos en la clase anterior
Prctica 3:45hs.
Desarrollo de procesos ms elaborados.
Uso de select () y fcntl (), para manejo de acceso simultneo a mltiples recursos
bloqueantes.
Generacin de alarmas. Syscall alarm ().
Acceso a drivers standard del sistema. Acceso al /dev/dsp para el manejo de la placa
de sonido del sistema desde una aplicacin.
Desarrollo de aplicaciones de Procesamiento Digital de Seales con la seal de entrada
del dispositivo de audio.
Combinar estos programas con los mdulos escritos en Assembler utilizando
instrucciones SIMD durante el primer cuatrimestre.
TRABAJO PARA PROXIMA CLASE:
- Lectura de los temas desarrollados en esta clase.
- Ejercicio de aplicacin en C:

Escriba un programa que espere datos desde un FIFO, el dispositivo serie del
programa entregado en esta clase, y que adems genere una demora de 60
segundos luego de los cuales no contine esperando datos y finalice su
ejecucin.
Analice el comportamiento si se enva una seal cualquiera mientras est
bloqueado
Incluya la espera de un mensaje por una message queue
Elabore un informe con los resultados, explicando las causas de los
comportamientos descriptos.

Clase 24: Semana del 26 de Setiembre


Laboratorio. Prcticas a cargo del ayudante

Objetivo: Trabajar en el desarrollo de aplicaciones de Procesamiento Digital de Seales


utilizando el dispositivo de audio. Limitaciones del kernel No Real Time de Linux.
Entregables:
Entrega del ejercicio solicitado en la clase anterior.
Test de Lectura N 21 sobre temas vistos en la clase anterior
Prctica 3:45hs.
Desarrollo de programas de filtrado digital, y dems rutinas tpicas de Procesamiento
Digital de Seales. Efectos de audio. Eco simple y doble
Comparacin de tiempos de ejecucin entre rutinas de DSP en C y en assembler
utilizando el modelo SIMD.
TRABAJO PARA PROXIMA CLASE:
- Lectura de los temas desarrollados en esta clase.
- Ejercicio de aplicacin en C y Assembler:
Escriba un programa que lea audio desde el dispositivo /dev/dsp y aplique el
algoritmo de convolucin presentado en la clase 12 (1er. Cuatrimestre).
tomando de a 1024 muestras.
Efecte el mismo algoritmo en C
Mediante la lectura del registro TSC del procesador calcule la cantidad de ciclos
de clock insumidos en cada caso.
Elabore un informe con los resultados, explicando las causas de los
comportamientos descriptos.
Clase 25: Semana del 3 de Octubre
Redes de Datos.

Objetivo: Capacitar al alumno para comprender el funcionamiento de un sistema de


comunicaciones de datos desde el punto de vista del diseo de aplicaciones como las
vistas hasta el momento, agregando la capacidad de intercomunicarlas a travs de una
red de datos. Se opta por el protocolo TCP/IP como base de trabajo por ser el mas
ampliamente difundido.
Material de la ctedra: Sistemas de Comunicaciones de datos.pdf

Entregables:
Entrega del ejercicio solicitado en la clase anterior.
Test de Lectura N 22 sobre temas vistos en la clase anterior
Terica 3:45 hs.

Introduccin a los Sistemas de Comunicaciones. Funciones. Modelo OSI. Descripcin


de las
Capas del modelo. Conceptos de Naming, Addressing. Concepto de
Conmutacin de paquetes. Modelos LAN y WAN. Topologas fsicas de una red.
Concepto de protocolo de comunicaciones. Encapsulado de la informacin en cada
capa
del
modelo
OSI.
Concepto
peer
to
peer.
Capa 2:
IEEE 802.3: Protocolo Ethernet. Descripcin de la tcnica de acceso al medio:
CSMA/CD. Colisiones. Efecto del trfico en una LAN Ethernet. Descripcin del frame.
Concepto de MAC Address Acceso a los Controladores Ethernet. Lnea Realteck.
IEEE 802.11b: Wireless Ethernet o WiFi. Estructura del frame. Bandas de frecuencia.
Aplicaciones. Seguridad en las transmisiones.
Capa 3:
Suite TCP/IP. Protocolo IP. Datagrama. Formato y datos que lo componen. Conexin
entre nodos en una red. Independencia del hardware. Esquema de direccionamiento
IP. Limitaciones: Modelo IPv6. Mscara de subred. Protocolo ARP.
TRABAJO PARA PROXIMA CLASE:
- Lectura de los temas desarrollados en esta clase.
- Ejercicio de aplicacin:
Una PC est conectada a una red con IP 200.3.42.15. Su MAC es
0C:90:2F:3A:00:00. EL router tiene la direccin 200.3.42.1, y MAC
00:F1:0E:AF:12:01. La primer transaccin que intenta tiene como destino un
Server remoto que hostea una pgina web: IP198.122.34.203, MAC
0C:90:E4:50:09:18. Escriba una tabla con cada uno de los paquetes que se
necesitan intercambiar para resolver las direccones MAC y el contenido de cada
uno (direcciones origen y destino de capa2 y capa3)
Trabajo Prctico obligatorio de LINUX.
Clase 26: Semana del 10 de Octubre
Redes de datos.

Objetivo: Impartir al alumno el concepto de servicio, port, y su vinculacin con el


proceso que responder el requerimiento (server), articulando los conceptos con los
vistos en Sistemas Operativos.
Material de la ctedra: Sistemas de Comunicaciones de datos.pdf

Entregables:
Entrega del ejercicio solicitado en la clase anterior.
Entrega Trabajo Prctico obligatorio de LINUX
Test de Lectura N 23 sobre temas vistos en la clase anterior
Terica 3:45 hs.
Capa 4: Concepto de acceso a servicios. Protocolos Conectados y no Conectados.
Ventajas y desventajas de cada uno. Condiciones de uso. TCP y UDP. Concepto de port
lgico.
Dispositivos de tratamiento de paquetes en una red (Repetidores, Bridges, Switches,
Routers,
Gateways).
Servicios dentro de una red: Naming. DNS. Funcionamiento. Traduccin dinmica.
Modelo cliente servidor:
Implementacin de la intercomunicacin de procesos en una red para el acceso a
servicios. La interfaz de sockets. Modelo de programacin de un servidor. Servidores
concurrentes e iterativos. Diferencias. Funciones standard de la librera TCP/IP para el

desarrollo: socket (), bind (), listen (), accept (). Programacin en LINUX. Familias de
sockets (AF_UNIX, AF_INET, PF_INET). Programacin de clientes tanto windows como
Linux, Portabilidad de las funciones. primitiva connect (). Lectura y escritura de datos:
con funciones de archivos, o especficas.
Desarrollo de aplicaciones clientes servidor TCP y UDP. Diferencias.
Servidores concurrentes Manejo de control de sesiones en TCP y UDP.
Funciones de soporte. getservbyname (), gethostbyname ().
Configuracin y declaracin de un servidor en un sistema Linux.
TRABAJO PARA PROXIMA CLASE:
- Lectura de los temas desarrollados en esta clase.
- Ejercicio de aplicacin:
Tomar el programa servidorTCP.c, y clienteTCP,c vistos en clase. Al Server,
antes del accept () insertarle pause () de modo de frenarlo hasta que se pulse
una tecla.
Compilarlos.
Ejecutar en diferentes consolas el servidor y diversos clientes.
En una consola separada ejecutar netstat a. Tome nota de la salida del
comando.
En la ventana del Server pulse una tecla.
Vuelva a la consola en donde ejecut netstat, y repita el mismo comando.
Tome nota de la salida ahora.
Elabore un informe sobre el comportamiento observado.
Clase 27: Semana del 17 de Octubre
Laboratorio. Prcticas a cargo del ayudante

Objetivo: Introducir al desarrollo de pares cliente servidor familiarizando al alumno con


la interfaz de sockets para desarrollo de aplicaciones que instaladas en mquinas
diferentes interacten a travs de una red de datos sobre TCP/IP.
Entregables:
Entrega del ejercicio solicitado en la clase anterior.
Test de Lectura N 24 sobre temas vistos en la clase anterior
Prctica 3:45 hs
Desarrollo de servidores para Linux y clientes Linux y Windows. Uso de sniffers para
visualizar a transmisin de paquetes por la red: TCPDump o Ethereal. Anlisis de los
resultados. Visualizacin de los headers de las diferentes capas del modelo OSI.
TRABAJO PARA PROXIMA CLASE:
- Lectura de los temas desarrollados en esta clase.
- Ejercicio de aplicacin:
Repita la secuencia de tareas requerida para el trabajo presentado en esta
clase. Observe el proceso de conexin, y desconexin con tcpdump.
Elabore un informe interpretando la salida y describiendo el proceso conocido
como three way handshake.
Repita el trabajo con Ethereal
Clase 28: Semana del 24 de Octubre
Laboratorio. Prcticas a cargo del ayudante

Objetivo: Asistir al alumno en el desarrollo de pares cliente servidor utilizando la


interfaz de sockets para desarrollo de aplicaciones de la gua de TPs.
Entregables:
Entrega del ejercicio solicitado en la clase anterior.
Test de Lectura N 25 sobre temas vistos en la clase anterior
Prctica 3:45 hs
Desarrollo de servidores para Linux y clientes Linux y Windows (si alcanza el tiempo de
clase). Incluyendo Mecanismos IPCs, y acceso a la E/S Tratamiento de accesos a
mltiples recursos bloqueantes. Combinacin de lectura de sockets con lectura de
archivos, dispositivos de E/S, y nodos en general del File System (especialmente con
IPCs). Uso de las primitivas select ().
TRABAJO PARA PROXIMA CLASE:
- Lectura de los temas desarrollados en esta clase.
- Ejercicio de aplicacin:
Tome el ejercicio requerido para la clase 24, y molifquelo para que adems del
FIFO y el dispositivo /dev/ser espere conexiones por un port TCP a su eleccin
superior al 1024.
Incluya el cdigo para que la demora de 60 segundos no sea interrumpida (y
en consecuencia reseteada) por una seal.
Clase 29: Semana del 31 de Octubre
Laboratorio. Prcticas a cargo del ayudante

Objetivo: introducir al alumno en el desarrollo de aplicaciones de networking de bajo


nivel utilizando libreras existentes en el sistema. Se utiliza libpcap ya que est
disponible tanto en Linux como en Windows.
Entregables:
Entrega del ejercicio solicitado en la clase anterior.
Test de Lectura N 26 sobre temas vistos en la clase anterior
Prctica 3:45 hs.
Desarrollo de aplicaciones utilizando libpcap para acceder a los controladores Ethernet.
Configuracin de la placa de red en modo promiscuo. Construccin de un sencillo
analizador de paquetes (sniffer). Uso de filtros.
TRABAJO PARA PROXIMA CLASE:
- Lectura de los temas desarrollados en esta clase.
- Ejercicio de aplicacin:
Trabajo Prctico Obligatorio de Redes
Clase 30: Semana del 7 de Noviembre
Laboratorio. Prcticas a cargo del ayudante

Objetivo: Avanzar en el desarrollo de programas de internetworking combinando los


recursos de la interfaz de sockets y dems recursos vistos en Linux, para
procesamiento de seales.
Entregables:
Entrega Trabajo Prctico Obligatorio de Redes.
Test de Lectura N 27 sobre temas vistos en la clase anterior
Prctica 3:45 hs.

Desarrollo de servidores para Linux y clientes Linux y Windows. Incluyendo


Mecanismos IPCs, y acceso a la E/S
TRABAJO PARA PROXIMA CLASE:
- Lectura de los temas desarrollados en esta clase.
- Ejercicio de aplicacin:
Entrega Trabajo prctico Obligatorio integrador 2do. Cuantrimestre.
Clase 31: Semana del 14 de Noviembre
Arquitectura de la PC Controlador de Video.

Objetivo: Que el alumno comprenda el funcionamiento de un controlador de video


bsico en Modo texto, las tcnicas para representacin de grficos su impacto en el
trfico de informacin en el bus de la PC y las soluciones tecnolgicas para resolver
este problema (AGP)
Entregables:
Entrega Trabajo Prctico Obligatorio integrador 2do. Cuantrimestre.
Test de Lectura N 28 sobre temas vistos en la clase anterior
1. Controlador de Video.
Funcin y Caractersticas principales. Barrido de una imagen. Seales necesarias.
Arquitectura y funcionamiento de un controlador Monocromo standard. Descripcin
de la RAM de Video ROM de Caracteres. Estructura de la Unidad de Temporizacin
y control. Mencin del 6845, actualmente embebido en los dispositivos comerciales
avanzados.
Evolucin de la Tecnologa. Enumeracin de las principales placas controladoras:
CGA, EGA, VGA, SVGA, etc.
2. Aceleradores Grficos.
Su impacto en el Bus PCI. Tecnologa AGP. Arquitectura. Manejo del ancho de
banda de Bus. Integracin con PCI.
TRABAJO PARA PROXIMA CLASE:
- Lectura de los temas desarrollados en esta clase.
Clase 32: Semana del 21 de Noviembre
Trabajo de integracin de las Unidades temticas de la materia

Objetivo: Lograr interactuando con los alumnos articular los conocimientos


transmitidos durante el curso relacionando los temas de la asignatura a modo de cierre
del curso. Debe lograrse transmitir la relacin existente entre los diferentes temas
vistos.
Entregables:
Test de Lectura N 29 sobre temas vistos en la clase anterior
Terico prctica 3:45hs
A travs de la interaccin entre el docente y los alumnos a travs de preguntas
disparadoras de cada tema, se analizar un tema y se indagar hacia los contenidos
previos de ese tema en la planificacin ayudando a que los alumnos por si solos logren
conectar los conceptos.
Clase 33: Lunes 28 de Noviembre

2do. Examen Parcial en todos los cursos

Das könnte Ihnen auch gefallen