La organizacion del kernel de FreeBSD puede ser vista como un proveedor de servicios a los procesos de los usuarios. Procesos usualmente accesaran a esos servicios mediante las llamadas al sistema (system calls). Algunos servicios, tales como planeacion y administracion de memoria, son implementados como procesos que se ejecutaran en modo kernel o como subrutinas que se ejecutan periodicamente dentro del kernel.
Existen procesos de kernel, y ellos funcionan enteramente dentro del kernel. (Los procesos de kernel executan codigo que es compilado dentro de la imagen cargada y opera con el modo de ejecucion privilegiada del kernel).
| Nombre del Proceso | Funcion |
| idle | Corre cuando no hay mas nada por hacer |
| swapper | Programa la carga de procesos proveenientes de la memoria secundaria hacia en memoria principal, cuando los recursos del sistema empiezan a estar disponibles |
| vmdaemon | Programa la transferencia de procesos enteros hacia la memoria secundaria, cuando los recursos del sistema son bajos |
| ramdon | Colecta datos para la produccion de semillas aleatorias para el kernel y el dispositivo /dev/ramdon |
| vnrlu | Mantiene una fuente de vnodes libres, esto lo logra limpiando los vnodes cuya fecha de uso fue la menos reciente |
| pagedaemon | Escribe partes de el espacio de direcciones de un proceso hacia un sistema de almacenamiento secundario, a razon de soportar las facilidades de paginacion , de un sistema de memoria virtual. |
| ktrace | Escribe los registros de seguimiento a las llamadas al sistema (system calls) a sus archivos de salida. |
| bufdaemon | Mantiene un suministro de buffers limpios, producto de buffers sucios cuando el suministro de buffers limpios esta abajo del nivel optimo. |
| syncer | Asegura que los datos de archivo sucio estan escritos despues de 30 segundos. |
| pagezero | Mantiene un suministro de paginas Cero. |
| g_up | Toma los datos que van llegando de los dispositivos manejadores y los entrega a los procesos. |
| g_down | Toma los datos que van llegando de los procesos y los entrega a los dispositivos manejadores. |
| g_event | Toma tareas de configuracion, inclullendo en esto el descubrimiento de nuevos dispositivos y la remocion de estos cuando ellos ya han desaparecido. |
Despues de que los procesos de kernel son creados, el kernel crea el primer proceso a ejecuta en modo usuario. Este sirve como el proceso padre para todos los subsecuentes procesos. El primer proceso en modo usuario es el programa init. Este metodo realizara tareas administrativas, tales como ejecutar procesos getty para cada terminal sobre la maquina, etc. El proceso init es un proceso de modo usuario y corre fuera del kernel.
