Programación de Sistemas Operativos
Bienvenida
Bienvenidos a la edición 2011 de Programación de Sistemas Operativos. La materia, durante el 2011, se dictará sólo el primer cuatrimestre.
Descripción
Programación de Sistemas Operativos aborda la problemática práctica de un sistema operativo desde su implementación. Conceptos vistos en materias anteriores que van desde elementos de bajo nivel como Interrupciones, Clocks y Buses hasta aquellos de más alto nivel como Comunicación entre procesos, Protección de datos, Sincronización entre procesos, Archivos y dispositivos físicos o virtuales, por nombrar algunos, concurren a la hora de implementar un Sistema Operativo.
A lo largo de la materia se estudiará desde el punto de vista de la implementación cada uno de los temas presentados, con trabajos prácticos en grupo sobre el caso particular de la arquitectura Intel para una PC-IBM. Estos trabajos prácticos versarán sobre la implementación, siempre del lado del sistema operativo, de algunos de los mecanismos y funcionalidades presentadas en la materia. Es el complemento ideal para comprender a fondo muchos de los temas de Sistemas Operativos, construyendo una solución desde el lado del sistema operativo.
La materia tiene como correlativa a Sistemas Operativos y es necesaria para poder comprender las implementaciones. Es recomendable tener frescos además los temas de Organización del Computador II relacionados con las unidades y tablas del procesador que utiliza específicamente el sistema operativo. El curso comienza con clases teóricas extra de nivelación y repaso sobre estos temas, para quienes cursaron Organización del Computador II hace mucho.
Modalidad de Evaluación
Prácticos: Trabajos prácticos en grupos de 3 personas. Presentación (explicación) de una publicación sobre temas de la materia.
Final: Trabajo práctico final, como extensión del trabajo práctico de la cursada.
Puntaje
Esta materia otorga 3 puntos para la licenciatura y 4 puntos (a confirmar) para doctorado.
Docentes
Esta cursada contará con la conducción y coordinación del profesor Fernando Schapachnik (quien dictará Sistemas Operativos) y la participación estelar del Ing. Alejandro Furfaro (quien dictará Organización del Computador II) en las teóricas, acompañados por Alejandro Deymonnaz y Federico Raimondo en las prácticas.
Horario
La materia se dictará los días Jueves de 16hs a 22hs.
De 16hs a 17hs habrá sólo consultas, de 17hs a 22hs habrá primero clase práctica en el laboratorio y luego teórica las clases que corresponda.
Contacto
Para ponerse en contacto con la cátedra utilice la lista de docentes pso-doc@dc.uba.ar
Yo te avisé
Para más datos, consulte esta página web más adelante. Pero no digas que no, porque Yo te avisé.
Grupos
Listado de grupos:
Grupo 1:
- Marasca Dardo
- Benito Vitale
- Adrián Sedoski Croce
- Ezequiel Aguerre
- Cassagne, Javier
- Premuzic, María del Carmen
- Juan Pablo Bottaro
- Leandro Liptak
- Patricio Rebottari
- Damián Silvani
- Maria de los Angeles Alvarez
- Diego Sebastian Benitez
- Esteban Mariano Gonzalez
- Alejandro Mataloni
- Emiliano Mancuso
- Martín Miguel
Grupo 8:
- Antonio
- Herrero
Calendario
Programa
<Los detalles del programa serán publicados en breve>
Bibliografía
-
Manuales de Intel
Estos Manuales fueron obtenidos del sitio web de Intel para desarrolladores (http://developer.intel.com/) . Están en formato PDF. Para verlos, es necesario el Acrobat Reader.
- Intel® 64 and IA-32 Architectures Software Developer's Manual Volume 1: Basic Architecture (PDF 3.76MB)
- Intel® 64 and IA-32 Architectures Software Developer's Manual Volume 2A: Instruction Set Reference, A-M (PDF 2.99MB)
- Intel® 64 and IA-32 Architectures Software Developer's Manual Volume 2B: Instruction Set Reference, N-Z (PDF 5.60MB)
- Intel® 64 and IA-32 Architectures Software Developer's Manual Volume 3A: System Programming Guide (PDF 5.23MB)
- Intel® 64 and IA-32 Architectures Software Developer's Manual Volume 3B: System Programming Guide (PDF 3.30MB)
- Intel® 64 and IA-32 Architectures Optimization Reference Manual (PDF 3.04MB)
-
NASM
-
GCC
-
Libros
- Operating Systems Concepts, Abraham Silberschatz & Peter B. Galvin.
- Modern Operating Systems, Andrew S. Tanenbaum.
- Understanding the Linux Kernel, ed O'Relly, Daniel P. Bovet, Marco Cesati


