Quiero aprender sobre sistemas operativos. Soy un principiante absoluto y no tengo conocimiento de nada sobre el lenguaje ensamblador. Pero quiero aprenderlo a un nivel avanzado. ¿Cómo hago esto?

Gracias por A2A!

Bueno, es difícil aprender no solo los sistemas operativos, sino también los sistemas completos, incluidos los compiladores y la arquitectura. La razón es que para aprender un tema en el sistema como el sistema operativo, debe poseer algo de conocimiento de otros temas como compiladores, organización y arquitectura. Pero aún así puedes aprenderlo. No hay problema.

Esto es lo que sugeriría:

  1. Comience a usar Linux. Saber cómo compilar usando GCC y ejecutar su programa es suficiente por ahora.
  2. Aprende C en profundidad. C es el lenguaje principal utilizado por los sistemas operativos hoy en día. La mayoría de los sistemas operativos proporciona una buena API de C. También para sobresalir en Sistemas, debes aprender C.
  3. Comienza a aprender programación de sistemas. Confía en mí, aprender programación de sistemas primero y luego OS Concepts es una mejor opción. Porque en la programación de sistemas estarías aprendiendo esos conceptos que son fáciles de entender primero. Además, debes practicar todos y cada uno de los conceptos. Practique creando programas de subprocesos, mutex, comunicación entre procesos, etc. Este es un buen libro para principiantes, libro de programación Linux para principiantes
  4. Después de practicar a fondo a través del libro, está en una buena posición para comprender los conceptos del sistema operativo. Lea este libro ahora Conceptos del sistema operativo: Abraham Silberschatz, Greg Gagne, Peter B. Galvin
  5. Ahora aprendamos más programación de sistemas. Lea esto, esta es la biblia de la programación de sistemas Linux La interfaz de programación de Linux: Un manual de programación del sistema Linux y UNIX: Michael Kerrisk
  6. Hasta ahora deberías ser muy bueno en Sistemas Operativos y Programación de Sistemas. Si aún desea continuar, le recomendaría que lea la descripción del mayor proyecto de código abierto The Linux Kernel. Este libro es una muy buena descripción de Linux Kernel, Amazon.com: Linux Kernel Development (3rd Edition): Robert Love

Ahora puedes comenzar a crear tu propio kernel, hackear Linux o lo que quieras hacer. También te sugiero que leas Programación del sistema de Windows y Windows Internals.

Feliz codificación !!!

Comience con el libro de dinosaurios
Conceptos de sistemas operativos por Silbershatz, Galvin.
Completarlo a fondo incluyendo las tareas, proyectos dados después de cada capítulo. Más tarde puede continuar con otro material avanzado.