In fact, the kernel module object isn't completely unfamiliar to us. In Chapter 3, Building the 5.x Linux Kernel from Source - Part 2, we built kernel modules as part of the kernel build process and had them installed.
Recall that these kernel modules are part of the kernel source and have been configured as modules by selecting M in the tristate kernel menuconfig prompt. They get installed into directories under /lib/modules/$(uname -r)/. So, to see a little bit regarding the kernel modules installed under our currently running an Ubuntu 18.04.3 LTS guest kernel, we can do this:
$ lsb_release -a 2>/dev/null |grep Description
Description: Ubuntu 18.04.3 LTS
$ uname -r
5.0.0-36-generic
$ find /lib/modules/$(uname -r)/ -name "*.ko" | wc -l
5359
Okay, the folks at Canonical and elsewhere have been busy! Over five thousand kernel modules... Think about it – it makes sense: distributors cannot know in advance exactly...