115113 Software de Base
Trimestre 2011 Otoño
Instructor: Dr. Francisco
Javier Zaragoza Martínez.
Inicio y fin del curso: lunes
19 de septiembre a viernes 2 de diciembre de 2011.
Grupo: CSI81 (martes y jueves
de 16:30
a
18:00).
Asesorías: lunes,
miércoles y viernes de 10:00 a 11:30 en la
oficina H-264.
Salón: E-309.
Cupo: 50 alumnos.
Contenido
Se cubrirá el contenido
oficial del curso (el cual se detalla
abajo). Es posible que el temario se cubra en un
orden distinto al allí mencionado.
- Descripción general de la estructura de una computadora.
- Lenguaje de máquina.
- Diseño de sistemas de programación.
- Ensamblador.
- Cargador y ligador.
- Macro-procesador.
Evaluación
La calificación del curso consta de 40 puntos obtenidos mediante
un proyecto de programación
dividido en varias etapas usando un microprocesador por definirse y 60
puntos obtenidos mediante tres
exámenes
parciales. No
habrá examen global. Además de obtener al menos 30
puntos
en los exámenes y al menos 20 puntos en el proyecto, se
requiere:
- obtener al menos un total de 60 puntos para acreditar con S,
- obtener al menos un total de 73 puntos para acreditar con B y
- obtener al menos un total de 87 puntos para acreditar con MB.
Las tareas y el proyecto se podrán entregar por correo
electrónico a
la cuenta sb en callix
y
podrán estar escritas en C o C++. Su cuenta
está en la misma máquina, a la que se pueden conectar con
ssh y que tiene
dirección IP 148.206.79.29.
Recuerden que, de acuerdo al Reglamento de
Alumnos de la UAM, es falta de los alumnos en contra de la
Institución el suplantar o permitir ser suplantado en la
realización de actividades académicas (Artículo 9)
y se impondrá desde amonestación escrita hasta
suspensión por dos trimestres (Artículo 13).
Calendario
El calendario de clases, de entrega de etapas del proyecto y de
exámenes escritos que muestro abajo es tentativo e irá
apareciendo paulatinamente. He anotado los números
de página de las notas a la derecha
de cada
tema.
- 20/09: Inicio del
curso. Software de aplicación y software de base (1-10).
- 22/09: Estructura
del SIC y SIC/XE (11-25).
- 23/09 a 28/09:
Examen eliminatorio del Octavo Concurso de
Programación de la UAM.
- 27/09: Formatos de instrucción del SIC/XE (26-36).
- 29/09: Ensamblador
simple y código objeto (37-51).
- 01/10 a 04/10:
Examen final
del Octavo Concurso de Programación
de la UAM.
- 04/10: Ensamblador
simple y código objeto (37-51).
- 06/10: Tablas y
lógica del ensamblador (52-67) y primera
sesión de preguntas sobre el proyecto.
- 11/10: Modos de
direccionamiento del SIC/XE (68-80).
- 13/10: Relocalización de programas (81-91).
- 18/10: Primer examen parcial (1-91):
Modos de direccionamiento y ensambladores.
- 20/10: Literales,
símbolos y expresiones (92-110). La clase de hoy será en el H299.
- 25/10: Bloques de
programa y secciones de control (111-124).
- 27/10: Ensamblado
con símbolos externos (125-135).
- 01/11: Día feriado.
- 03/11: Opciones de
diseño del ensamblador (136-147). Segunda
sesión de preguntas sobre el proyecto. Segundo examen
parcial (92-147): Opciones de diseño de ensambladores.
- 08/11: Cargadores
básico y relocalizador (148-160).
- 10/11: Ligado y
relocalización (161-174).
- 15/11: Opciones de
ligado independientes de la máquina
(175-192).
- 17/11: Opciones de
diseño del cargador (193-210).
- 22/11: Macroprocesadores básicos y algoritmo del
macroprocesador (211-235).
- 24/11: Tercera
sesión de preguntas sobre el proyecto.
- 29/11: Tercer examen parcial (148-235):
Cargadores,
ligadores
y
macroprocesadores.
- 01/12: Fin del
curso.
- 06/12:
Último día para entregar el proyecto. Se requiere que
envíen el código fuente de la última parte del
proyecto que hayan hecho a mi correo franz [at] correo.azc.uam.mx
(desde su cuenta institucional matricula [at] alumnos.azc.uam.mx) y
todo lo que hayan hecho a el correo del curso sb [at] callix (desde su
cuenta en callix).
- 12/12: Entrega del acta.
Bibliografía
- Beck. System Software: An Introduction to
Systems Programming. Addison Wesley.
[Los
capítulos
1
a
4
contienen
todo
el
temario
del
curso.]
- Brookshear. Introducción
a
las
ciencias
de
la
computación. Addison Wesley.
- Donovan. Systems Programming. Mc Graw Hill.
- Kernighan y Pike. El
entorno
de
programación
UNIX. Prentice Hall.
- Kernighan y Pike. La
práctica
de
la
programación. Prentice Hall.
- Levine, G. Computación
y
programación
moderna. Addison Wesley. [Los
capítulos 3 y 5 contienen una introducción al curso.]
- Levine, J. Linkers &
Loaders. Morgan Kaufmann Publishers. [Este libro puede verse como
una continuación del capítulo 5 del curso.]
- Ullman. Fundamental Concepts of Programming Systems. Addison
Wesley.