Quindi un Kernel è uneseguibile caricato in memoria, mentre per accederci deve esserci una dll tramite la quele i programmi accedono all'hardware?