NOMBRE DE LA MATERIA: CC207 TALLER DE PROGRAMACIÓN DE SISTEMAS
TIPO: TALLER
CARÁCTER DEL CURSO: OBLIGATORIO.
ÁREA DE FORMACIÓN: BÁSICA PARTICULAR.
PREREQUISITO: SIMULTÁNEO CON TEORÍA.
DEPTO. DE ADSCRIPCIÓN: CIENCIAS COMPUTACIONALES.
CARGA HORARIA GLOBAL: 60 HORAS.
CARGA HORARIA SEMANAL:3 HORAS.
VALOR DE CRÉDITOS: 4 CRÉDITOS.


OBJETIVO GENERAL:
COMPRENDER LAS PRINCIPALES TÉCNICAS DE DISEÑO Y GENERACIÓN DE PROGRAMAS DE SISTEMAS POR COMPUTADORA, EMPLEANDO LENGUAJE C Y ENSAMBLADOR. ANALIZAR LOS PROGRAMAS DE SISTEMAS, ENSAMBLADORES, CARGADORES, LIGADORES Y EDITORES INTERACTIVOS INCRUSTADOS EN LOS SISTEMAS OPERATIVOS MODERNOS, ESTUDIAR LAS CUALIDADES DE ALGUNOS PAQUETES DE DISEÑO COMO LEX Y YACC. DISEÑAR Y PROGRAMAR UN ENSAMBLADOR - CARGADOR CON EL APOYO DEL CURSO TEÓRICO.
OBJETIVOS ESPECÍFICOS:
EXPRESADOS EN CADA MÓDULO DEL CONTENIDO.
CONTENIDO TEMÁTICO PRINCIPAL:
Módulo 1. Estructura de la Computadora.
Objetivo: Entender con detalle los procesos lógicos que suceden en una computadora para que pueda ejecutar un programa en lenguaje máquina de una plataforma que en particular se define al iniciar el curso.
El modelo de Von Newmann.
Estructura lógica del procesador.
Lenguaje máquina.
Conjunto de registros y modelo de programación.

Módulo 2 Ensambladores.
Objetivo: Entender y manejar los diferentes esquemas de ensamblado. Tener la capacidad de programar en lenguaje ensamblador de alguna plataforma. Diseñar un ensamblador de dos pasos.
Relación Arquitectura de máquinas y ensamblador.
Modalidades de ensamblador.
Técnicas de ensamblado.
Gestión de memoria en el ensamblador.
Diseño y programación del ensamblador de dos pasos.

Módulo 3: Cargador-Ligador.
Objetivo: Entender el funcionamiento de los esquemas más importantes de la liga de módulo objeto y rutina de biblioteca.
Clases de cargadores.
Relación cargador-sistemas operativo.
Funciones del editor de enlace.
El problema de liga de objetos métodos de solución.
Diseño y Programación de un cargador.

Módulo 4 Macroprocesadores.
Objetivo: Entender el funcionamiento de las diversas modalidades de macroprocesamiento.
Importancia teórica de la macroexpresiones.
Uso de un macroprocesaro.
Macroprocesadores con argumentos y macroprocesadores recursivos.
Incorporación de un procesador de macros al ensamblador.

MODALIDAD DE ENSEÑANZA-APRENDIZAJE. Para la realización de este curso, se recomienda que el profesor asesore y supervise el proceso de formación de cada alumno, además de comprobar la realización de las prácticas del taller de Programación de Sistemas.
BIBLIOGRAFÍA BÁSICA. - Barry Brey, Microprocesadores avanzados de intel Prentice-Hall.
- Beck, Leland, Software de Sistemas. Addison-Wesley.

CRITERIOS DE ACREDITACIÓN. Haber obtenido un promedio global de 60 puntos de máximo de 100.

COMPETENCIAS QUE SE PUEDEN ADQUIRIR. - Dominio de la programación de un sistema computacional en ensamblador.
- Conocimiento de los modelos de sistemas de diversas plataformas.
- Capacidad para diseñar programas de sistemas como el ensamblador y el cargador.