Bibliografía de la materia
A continuación se lista la bibliografía principal y la complementaria. Cada ítem tiene una abreviatura que usaremos en nuestras referencias, por ejemplo: [DAH] §2.3.
Para los trabajos prácticos, consultar también nuestro kit de supervivencia.
Bibliografía principal
-
Thomas Anderson, Michael Dahlin, Operating Systems: Principles and Practice (2.ª ed.), Recursive Books (2014). [DAH]
-
Remzi H. Arpaci-Dusseau, Andrea C. Arpaci-Dusseau, Operating Systems: Three Easy Pieces (v0.91), Arpaci-Dusseau Books (2015). [ARP]
Disponible en línea de manera gratuita en http://ostep.org.
Bibliografía complementaria
-
Randal E. Bryant, David R. O’Hallaron, Computer Systems: A Programmer’s Perspective (2.ª ed.), Prentice Hall (2011). [BRY2]1
-
Michael Kerrisk, The Linux Programming Interface: A Linux and UNIX System Programming Handbook (1.ª ed.), No Starch Press (2010). [KERR]
Casos de estudio
-
Russ Cox, Frans Kaashoek, Robert Morris, xv6: a simple, Unix-like teaching operating system (draft, 2016-09-05), MIT PDOS Group en línea. [xv6]
-
Maurice Bach, The Design of the Unix Operating System, Prentice-Hall (1986). [BACH]
- Robert Love, Linux Kernel Development (3.ª ed.), Addison-Wesley (2010). [LOV]
Programación en C
-
Brian Kernighan, Dennis Ritchie, The C Programming Language (2.ª ed.), Prentice Hall (1988). [K&R]
-
Richard Reese, Understanding and Using C Pointers, O’Reilly Media (2013). [REES]
Material de referencia
-
The Linux man-pages project: kernel.org/doc/man-pages.
-
Instalable en Debian/Ubuntu:
$ sudo apt-get install manpages-dev manpages-posix-dev
-
Abreviatura: open(2) o malloc(3) (nombre de la página y sección).
-
-
Intel 64 and IA-32 Architectures Software Developer Manuals, Intel Corporation (marzo de 2017), en línea. [IA32]
En particular:
-
Se debe usar la edición de 2011. En la 3.ª edición (2016) la arquitectura de referencia deja de ser x86 (32-bits) en favor de x86_64 (64-bits), que no usamos en la materia aún. ↩︎