Cómo familiarizarse con el sistema operativo Windows
Como programador de sistemas involucrado en el kernel, creo que la llamada "familiaridad" incluye al menos:
En primer lugar, comprender la arquitectura, las relaciones jerárquicas y los módulos de el núcleo del sistema operativo. Por ejemplo, qué es un ejecutable, qué es el kernel, qué es una DLL de subsistema, qué es una capa de abstracción de hardware, qué es un controlador.
El resto es la comprensión de las funciones del sistema operativo, que incluye principalmente cuatro partes: gestión de procesos, gestión de memoria, gestión de archivos, gestión de dispositivos
Gestión de procesos: representación de procesos, datos estructuras y organización de procesos. Conceptos de subprocesos, estructuras de datos y organización. Problemas de programación.
Gestión de memoria: gestión de memoria virtual, traducción de direcciones, gestión de memoria física, organización del espacio de direcciones de procesos, transmisión de páginas de solicitud, etc.
Gestión de archivos: representación de archivos, estructura de datos, implementación del sistema de archivos y principio de funcionamiento del sistema de archivos.
Gestión de dispositivos: objetos controladores, objetos de dispositivos, IRPs, jerarquías y cachés, etc.
Además, los más importantes son el mecanismo de interrupción, DPC, APC, llamadas al sistema y estos mecanismos.
El proceso anterior se entiende como mínimo. Mi profesor universitario dijo que si puedes describir el proceso de creación de un proceso en detalle, serás una introducción al sistema operativo.