He trabajado en entornos * nix durante los últimos cuatro años como desarrollador de aplicaciones (principalmente en C).
Sugiera algunos libros / blogs, etc. para mejorar mi conocimiento interno * nix.
He trabajado en entornos * nix durante los últimos cuatro años como desarrollador de aplicaciones (principalmente en C).
Sugiera algunos libros / blogs, etc. para mejorar mi conocimiento interno * nix.
Respuestas:
Aquí hay algunas sugerencias sobre cómo entender el "espíritu" de Unix, además de las excelentes recomendaciones que se han hecho en las publicaciones anteriores:
"El entorno de programación de Unix" de Kernighan y Pike: un libro antiguo, pero muestra la esencia del entorno de Unix. También lo ayudará a convertirse en un usuario de shell efectivo.
"Unix para pacientes impacientes" es un recurso útil para aprender a navegar en el entorno Unix. Uno de mis favoritos.
Si desea convertirse en un usuario avanzado, no hay nada mejor que las "Herramientas eléctricas Unix" de O'Reilly, que consisten en consejos y trucos colectivos de profesionales de Unix.
Otro libro que no he visto mencionar que es una lectura divertida y educativa es "Sistemas operativos, diseño e implementación", el libro de Andy Tanenbaum que incluía el código fuente de un sistema operativo Unix completo en 12k líneas de código.
Definitivamente desea leer Programación avanzada en el entorno Unix de Stevens . No dejes que el título avanzado te asuste, es muy legible.
Libros / sitios / manuales que uso con frecuencia:
El kernel de Linux : este libro se publica en línea como parte de TLDP (The Linux Documentation Project). No está actualizado y no es un manual interno, pero proporciona información útil y materiales introductorios sobre los principios y mecanismos del núcleo.
Comprensión del kernel de Linux: en mi humilde opinión, es el mejor libro para principiantes que tiene experiencia sobre el diseño y el concepto de los sistemas operativos. Se acepta como actualizado, cubre la versión 2.6 del kernel. Hay una versión HTML del libro en la web, pero creo que probablemente sea warez.
Mientras estudia las partes internas del kernel de Linux, generalmente necesita aprender cómo funciona el hardware y qué hardware proporciona de manera abstracta. Intel tiene excelentes manuales para esto.
Intel 64 e IA-32 Architectures Software Developer's Manuales : información detallada y actualizada.
Manual de referencia del programador Intel 80386 : Sé que esto es un poco viejo, pero he aprendido muchas cosas de este manual.
Si necesita estudiar sobre el diseño y el concepto de los sistemas operativos, le sugiero el siguiente libro: Conceptos del sistema operativo .
O'REILLY Linux Kernel en pocas
palabras y controladores de dispositivo O'REILLY Linux
Programación de sistemas Linux o cualquier otro libro de Robert Love (todos estos son libros de O'Reilly):
Estoy de acuerdo con todos los demás y tengo que decir que Stevens 'APUE (tengo la segunda edición) es un clásico. También me gustaría agregar que The Art of UNIX Programming de Eric Raymond está a la altura de Stevens en mi lista.
Bueno, para BSD Unices, está El diseño e implementación del sistema operativo 4.4BSD, cuyas partes ahora están aparentemente disponibles de forma gratuita en http://www.freebsd.org/doc/en/books/design-44bsd/
Linux Device Drivers es otro buen recurso. Te daría otra forma de entrar en el funcionamiento interno. Del prefacio:
Este es, en la superficie, un libro sobre la escritura de controladores de dispositivos para el sistema Linux. Esa es una meta digna, por supuesto; No es probable que el flujo de nuevos productos de hardware disminuya en el corto plazo, y alguien tendrá que hacer que todos esos nuevos dispositivos funcionen con Linux. Pero este libro también trata sobre cómo funciona el kernel de Linux y cómo adaptar su funcionamiento a sus necesidades o intereses. Linux es un sistema abierto; Con este libro, esperamos que sea más abierto y accesible para una comunidad más grande de desarrolladores.
Para tener una idea de por qué y qué debe soportar el núcleo, eche un vistazo a The Art of Unix Programming de Eric Raymond. Lleva las cosas a un nivel filosófico bastante alto, pero iría bien con los detalles esenciales de otros libros.
¿Puedo sugerir los siguientes dos libros también (además de los otros):
Me he referido ampliamente al primero (si tuviera mejor memoria y tuviera más tiempo, sabría mucho más que ahora; pero esa es otra historia). Actualmente estoy leyendo el segundo.