The kernel is the software that directly manages your hardware, allowing application libraries and software like GNOME and Firefox to run on many types of hardware without much difficulty. The kernel is loaded into memory when the system starts and remains in memory.
Monolithic Kernels
Monolithic kernels are kernels that have all of the device modules built directly into the kernel. The advantage of the Monolithic kernel is that it can communicate faster as the device modules are built in. Monolithic kernels are not flexible because a new kernel must be built to add any new peripheral devices. This difficulty often then resulted in a huge kernel as the tendency was to build in support for more devices than was needed to avoid having to build a kernel.
Modular Kernels
The Ubuntu kernel is modular. Modular kernels provide many device modules as separate loadable modules so the kernel is much smaller. Modular kernels are slower in communication to modules because they cannot talk with them directly. The Modular kernel is much more flexible and because of size reduces the boot time of the kernel. The modprobe and insmod commands can be used to load modules.
Kernel modules are object files (they have a .o extension) which were produced by the C compiler but were not linked to a completed executable. Thus the process of loading modules creates this executable link to the kernel. The modules are distributed with the kernel and can be found in /lib/modules.
Here is a view of /lib/modules with the default kernel directory.
ls /lib/modules
To verify which kernel you are running go to the command line and type this command:
uname -r
The difference that you will see is that the generic kernel is set for the i586 and the i686 architectures while the server kernel will focus on the i686 architecture. The reality is that the closer you can tune the kernel to your specific CPU and hardware, the better the performance you will receive.
No comments:
Post a Comment