Modern NetBSD allows adding and removing kernel functionality dynamically through kernel modules. Kernel modules can be loaded and unloaded without needing to recompile or reboot the kernel. They are placed in directories under /stand and can be loaded at boot time via boot.cfg or using the modload command. Writing kernel modules is straightforward, requiring only MODULE and _modcmd declarations. However, there are some limitations around passing parameters and creating device nodes.