Descripción
Para comprender a fondo qué hace que Linux funcione y por qué funciona tan bien en una amplia variedad de sistemas, es necesario profundizar en el corazón del kernel. El kernel maneja todas las interacciones entre la CPU y el mundo externo, y determina qué programas compartirán el tiempo del procesador, y en qué orden. Gestiona la memoria limitada tan bien que cientos de procesos pueden compartir el sistema de manera eficiente, y organiza expertamente las transferencias de datos para que la CPU no espere más de lo necesario por los discos, que son relativamente lentos.
La tercera edición de Understanding the Linux Kernel le lleva en un recorrido guiado por las estructuras de datos, algoritmos y trucos de programación más significativos utilizados en el kernel. Investigando más allá de las características superficiales, los autores ofrecen valiosos conocimientos a las personas que quieren saber cómo funcionan realmente las cosas dentro de su máquina. Se discuten importantes características específicas de Intel. Se diseccionan segmentos relevantes de código línea por línea. Pero el libro cubre más que solo el funcionamiento del código; explica los fundamentos teóricos de por qué Linux hace las cosas de la manera en que las hace.
Esta edición del libro cubre la Versión 2.6, que ha experimentado cambios significativos en casi todos los subsistemas del kernel, particularmente en las áreas de gestión de memoria y dispositivos de bloque. El libro se centra en los siguientes temas:
- Gestión de memoria, incluyendo el almacenamiento en búfer de archivos, el intercambio de procesos y el acceso directo a memoria (DMA)
- La capa del Sistema de Archivos Virtual y los sistemas de archivos Segundo y Tercer Extendidos
- Creación y planificación de procesos
- Señales, interrupciones y las interfaces esenciales para los controladores de dispositivos
- Sincronización
- Sincronización dentro del kernel
- Comunicación entre procesos (IPC)
- Ejecución de programas
Understanding the Linux Kernel le familiarizará con todos los entresijos de Linux, pero es más que un simple ejercicio académico. Aprenderá qué condiciones sacan el mejor rendimiento de Linux y verá cómo afronta el desafío de proporcionar una buena respuesta del sistema durante la programación de procesos, el acceso a archivos y la gestión de memoria en una amplia variedad de entornos. Este libro le ayudará a sacar el máximo partido a su sistema Linux.
Autor: Daniel P. Bovet, Marco Cesati
Editorial: O'Reilly Media
Publicado: 13/12/2005
Páginas: 944
Tipo de encuadernación: Tapa blanda
Peso: 3.33lbs
Tamaño: 9.20h x 7.00w x 1.80d
ISBN13: 9780596005658
ISBN10: 0596005652
Categorías BISAC:
- Informática | Sistemas Operativos | Linux
- Informática | Tecnología de la Información
- Informática | Sistemas Operativos | UNIX
Acerca del autor
Daniel P. Bovet obtuvo un doctorado en ciencias de la computación en la UCLA en 1968 y ahora es profesor titular en la Universidad de Roma, Tor Vergata, Italia. Tuvo que esperar más de 25 años antes de poder enseñar un curso de sistemas operativos de manera adecuada debido a la falta de código fuente para sistemas modernos y bien diseñados. Ahora, gracias a las PC baratas y a Linux, Marco y Dan pueden cubrir todas las facetas de un sistema operativo, desde el arranque hasta la optimización, y pueden asignar tareas difíciles y satisfactorias a sus estudiantes. (Estos jóvenes que trabajan en casa en sus PC están realmente malcriados; nunca tuvieron que luchar con tarjetas perforadas). De hecho, Dan estaba tan fascinado por los logros de Linus Torvalds y sus seguidores que pasó los últimos años tratando de desentrañar algunos de los misterios de Linux. Le pareció natural, después de todo ese trabajo, escribir un libro sobre lo que encontró.
Marco Cesati se licenció en matemáticas en 1992 y obtuvo un doctorado en ciencias de la computación (Universidad de Roma, La Sapienza) en 1995. Actualmente es asistente de investigación en el departamento de ciencias de la computación de la Escuela de Ingeniería (Universidad de Roma, Tor Vergata). En el pasado, fue administrador de sistemas y programador Unix para la universidad (como estudiante de doctorado) y para varias instituciones (como consultor).

