Dynamically loadable kernel modules, Operating System

Assignment Help:

Q. Dynamically loadable kernel modules give elasticity when drivers are added to a system however do they have disadvantages too? Under what situations would a kernel be compiled into a single binary file and when would it be better to keep it split into modules? Describe your answer.

Answer: There are two principal disadvantages with the use of modules.

The initial one is size- a module management consumes un-page-able kernel memory as well as a basic kernel with a number of modules loaded will consume more memory than an equivalent kernel with the drivers compiled into the kernel image itself. This can be a extremely significant issue on machines with limited physical memory.

The second disadvantage is that modules can increase the complexity of the kernel bootstrap process. It is hard to load-up a set of modules as of disk if the driver needed to access that disk itself a module that needs to be loaded. Consequently managing the kernel bootstrap with modules can require extra work on the part of the administrator the modules necessary to bootstrap require to be placed into a ram disk image that is loaded alongside the early kernel image when the system is initialized.

In certain cases it is better to utilize a modular kernel as well as in other cases it is better to utilize a kernel with its device drivers pre-linked. Where reducing the size of the kernel is important the choice will depend on how frequently the various device drivers are used. If they are in constant utilize then modules are unsuitable. This is particularly true where drivers are needed for the boot process itself. On the other way if some drivers aren't always needed then the module mechanism allows those drivers to be loaded and unloaded on demand potentially offering a net saving in physical memory.

Where a kernel is to be built that should be usable on a large variety of awfully different machines then building it with modules is clearly preferable to using a single kernel with dozens of unnecessary drivers consuming memory. This is principally the case for commercially distributed kernels where supporting the widest diversity of hardware in the simplestmanner possible are a priority.

Nevertheless if a kernel is being built for a single machine whose configuration is known in move forwards then compiling and using modules may merely be an unnecessary complexity. In cases similar to this the use of modules may well be a matter of taste.


Related Discussions:- Dynamically loadable kernel modules

Determine a processing that is not a part of synthesis phase, Determine a p...

Determine a processing that is not a part of Synthesis phase  Perform LC processing is not a part of Synthesis phase

When page fault frequency in an operating system is reduced, When the Page ...

When the Page fault frequency in an operating system is reduced Locality of reference is appropriate to the process

What is multitasking, What is Multitasking? Multitasking provides power...

What is Multitasking? Multitasking provides power to users by offering them to run multiple applications at once. The applications are loaded into memory and appear to the user

Linux kernel components, Example 1.  The diagram illustrating the data stru...

Example 1.  The diagram illustrating the data structures of in-memory VFS objects and on-disk objects and their relationships on slide 24 of the lecture notes OSD.4. This diagram i

Tree directory structure, please help us to write a code in c for tree dire...

please help us to write a code in c for tree directory structures.

All the explanations of operating system and its types., operating systems ...

operating systems and its types together with its design issues and their examples.

Find the parent process and the child process, Q. When a process creates a...

Q. When a process creates a fresh process using the fork() operation which of the following state is shared among the parent process and the child process? 1 Stack 2 Heap

System bus and device speeds as the cpu speed increases, Q. Why is it impor...

Q. Why is it important to scale up system bus and device speeds as the CPU speed increases? Answer: Consider a system which carries out 50% I/O and 50% computes. Doubling-up

Explain fifo page replacement in detail, FIFO page replacement This is...

FIFO page replacement This is the easiest page replacement algorithm. Here the 1 st page toward the inside is the 1 st to leave that is the oldest page leaves. To execute th

Multilevel queue scheduling, Explain multilevel queue scheduling and multil...

Explain multilevel queue scheduling and multilevel feedback queue scheduling #Minimum 100 words accepted#

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd