FACULTAD DE INGENIERÍA


DIVISIÓN DE INGENIERÍA ELÉCTRICA
DEPARTAMENTO DE INGENIERÍA EN COMPUTACIÓN
Programa de la Asignatura: PROGRAMACIÓN DE SISTEMAS Clave: 0633 Núm. de créditos: 8 Carrera: ING. EN COMPUTACION Duración del curso: Semanas: 16 Horas: 64 Semestre: 6º Horas a la semana: Teoría: 4 Obligatoria: SI Prácticas: 0 Optativa: OBJETIVO DEL CURSO El alumno explicará los conceptos de organización y programación de una computadora, que le permitan llevar a cabo el análisis, diseño y desarrollo de programas del sistema mismos que facilitarán al usuario del equipo interactuar de una manera más eficiente con éste. TEMAS Núm: Nombre: Horas I. ESTRUCTURA DE LA MAQUINA. 6 II. PRESENTACION DE SISTEMAS REALES DE COMPUTACION 25 III. ENSAMBLADORES. 9 IV. MACROENSAMBLADORES. 6 V. ENCADENADORES Y CARGADORES. 6 VI. ASIGNACION DE MEMORIA. 6 VII. PROGRAMACION DE ENTRADA/SALIDA. 6 ______ 64 ASIGNATURAS CONSECUENTES OBLIGATORIAS: SISTEMAS OPERATIVOS COMPILADORES ANTECEDENTES, OBJETIVOS Y CONTENIDOS DE LOS TEMAS I. ESTRUCTURA DE LA MAQUINA. ANTECEDENTES: Estructuras de Datos. OBJETIVO: El alumno explicará los conceptos que le permitan analizar funcionalmente los distintos elementos, tanto de software como de hardware que constituyen una computadora y su repercusión en las características de operación del sistema. CONTENIDO: I.1 Bloques funcionales de una computadora: Memoria, procesador central, dispositivos de entrada/salida. I.2 Bloques funcionales de un procesador central: Registro de direcciones, registro de datos, contador del programa, registro de instrucción, registros de propósito general. I.3 Funcionamientos de una computadora: Ciclos de obtención, interpretación y ejecución de instrucción. I.4 Esquemas de direccionamiento: Máquinas de '3+1', '3', '2', '1' y '0' direcciones. I.5 Métodos de direccionamiento inmediato, directo e indirecto. II. PRESENTACION DE SISTEMAS REALES DE COMPUTACION. ANTECEDENTES: Incluídos en esta asignatura. OBJETIVO: El alumno explicará los elementos que le permitan conocer y estudiar sistemas de cómputo reales. CONTENIDO: II.1 Procesador de 8 bits: Descripción general, características principales y programación en lenguaje ensamblador. II.2 Procesador de 16 y 32 bits: Descripción general, características principales y programación en lenguaje ensamblador. II.3 Programas depuradores. III. ENSAMBLADORES. ANTECEDENTES: Incluídos en esta asignatura. OBJETIVO: El alumno describirá el funcionamiento y el diseño de un programa ensamblador capaz de procesar un lenguaje simbólico y las directivas comúnmente empleadas. CONTENIDO: III.1 El lenguaje de máquina y el lenguaje humano: Necesidad de un traductor. III.2 Características de un lenguaje simbólico. III.3 Funciones y características de un ensamblador. Ensambladores de una, una y media y dos pasadas. III.4 Diseño de un ensamblador: Contador de localidades, tablas de símbolos, directivas. IV. MACROENSAMBLADORES. ANTECEDENTES: Incluídos en esta asignatura. OBJETIVO: El alumno comprenderá las características, el funcionamiento y el diseño de un programa macroensamblador capaz de procesar macro instrucciones y las directivas más comunes. CONTENIDO: IV.1 Macroinstrucciones y macroprocesadores. IV.2 Paso de argumentos. IV.3 Macrollamadas dentro de macroinstrucciones. IV.4 Definición de macroinstrucciones dentro de macroinstrucciones. IV.5 Expansión condicional. IV.6 Diseño de un macroprocesador. V. ENCADENADORES Y CARGADORES. ANTECEDENTES: Incluídos en esta asignatura. OBJETIVO: El alumno comprenderá las características y funcionamiento de los programas tipo encade- nadores y tipo cargadores, además de mostrar la importancia de éstos en un sistema de cómputo. CONTENIDO: V.1 El problema de la carga inicial. V.2 Funciones y características de un encadenador y un cargador. V.3 Cargadores de traducción-ejecución. V.4 Encadenadores. V.5 Cargadores: absolutos y relocalizables. V.6 Otros tipos de encadenadores y de cargadores. VI. ASIGNACION DE MEMORIA. ANTECEDENTES: Incluídos en esta asignatura. OBJETIVO: El alumno explicará las diferentes técnicas empleadas para dar solución al problema de asignación de memoria en una computadora. CONTENIDO: VI.1 Memoria continua. VI.2 Memoria particionada: Particiones estáticas, dinámicas y relocalizables. VI.3 Memoria virtual: Paginación y segmentación. VII. PROGRAMACION DE ENTRADA/SALIDA. ANTECEDENTES: Incluídos en esta asignatura. OBJETIVO: El alumno programará la entrada y salida en diversos dispositivos. CONTENIDO: VII.1 Entrada/salida programada. VII.2 Interrupciones y manejo de errores. VII.3 Acceso directo a memoria. TECNICAS DE ENSEÑANZA: ELEMENTOS DE EVALUACION: Exposición oral (X) Exámenes parciales (X) Exposición audiovisual (X) Exámenes finales (X) Ejercicios dentro de clase (X) Trabajos y tareas fuera del aula(X) Ejercicios fuera del aula (X) Participación en clase (X) Seminarios ( ) Asistencia a prácticas ( ) Lecturas obligatorias (X) Otros: Trabajo de investigación (X) Prácticas de taller o lab. ( ) Prácticas de campo ( ) Otras: BIBLIOGRAFIA TEXTOS BASICOS Temas de la materia para los que se recomienda: ABEL, Peter. "IBM pc assembly language and programming" Todos Prentice Hall, E.E.U.U., 1991 BIREY, Barry B. "Assembly language programming Todos 8086/8088, 80286 & 80486" Merril, E.E.U.U., 1994 BRUMM, Penn; BRUMM, Don; SCALON, Leon J. Todos "80486 PROGRAMMING" Mc Graw-Hill, E.E.U.U. 1991 DONOVAN, John. Todos "Systems programming" Mc Graw-Hill, E.E.U.U., 1972 GEAR, Charles William. Todos excepto VI "Estructura y programación de computadoras" Mc Graw-Hill, México, 1987 GRAHAM Robert M. Todos excepto III "Principles of systems programming" Wiley, E.E.U.U., 1975 MAZIDI, MUHAMMAD ALI; MAZIDI, JANICE GILLISPIE Todos "The 80x86 IBM PC & compatible computers Vol I" PreNtice Hall, E.E.U.U., 1993 SCHNEIDER G. Michael Todos excepto VI "Estructura y organización de los sistemas de computación." Limusa, México, 1989