
Sistemas
WIP: En Proceso.

Notas sobre sistemas operativos y temas relacionados. Datos sacados, principalmente, de:
Un sistema operativo tambi茅n es un programa. Lo que diferencia a este programa del resto es que su n煤cleo, el kernel, se ejecuta en modo kernel (馃槷), un modo privilegiado de la CPU que permite ejecutar instrucciones de la arquitectura que est谩n restringidas al resto de programas, y acceder a partes de memoria a la que los procesos normales no pueden acceder (entre otros).
El kernel de Linux, por ejemplo, est谩 formado principalmente por una secuencia de inicializaci贸n cuyo punto de entrada (de forma simplificada) es start_kernel(), funci贸n an谩loga a main(). En esta funci贸n se inicializan drivers, interrupciones y otros componentes fundamentales. Una vez completado el arranque, el kernel se encarga de iniciar el primer proceso de espacio de usuario, con PID 1 (hist贸ricamente init, normalmente systemd) y diversos hilos internos del propio kernel.
A diferencia de un programa normal cuya ejecuci贸n suele seguir un flujo lineal desde main(), el kernel luego pasa r谩pidamente a un modelo dirigido por eventos. A partir de ese momento, su ejecuci贸n se reparte entre atender interrupciones, llamadas al sistema, excepciones, temporizadores, etc. y gestionar hilos del kernel (kthreads), adem谩s de planificar la ejecuci贸n los procesos de usuario. En general, en este punto pasa de ser un programa normal a tratarse de una serie de funciones a las que llamar cuando suceden determinadas cosas.