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:

    • Volume 1: Basic Architecture, pdf.
    • Volume 3A: System Programming Guide, part 1, pdf.
  1. 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. ↩︎