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

Linux os, Introduction of linux

Introduction of linux

What is a process control block?, What is a Process Control Block? Ever...

What is a Process Control Block? Every process in the operating system is represented by a process control block as well called a task control block. It contains several pieces

Explain types of file allocation- linked list allocation, Linked list alloc...

Linked list allocation: At this time the blocks are stored using linked lists. The block size require not be the same. Thus internal fragmentation is avoided. Consider

What are the issues in designing a network-scalability, Scalability : ...

Scalability : Scalability is the competence of the system to adapt to increased service load. A scalable system will respond more gracefully to increased load than a non-sc

What are the different accessing methods of a file, What are the different ...

What are the different accessing methods of a file? The different types of accessing a file are: Sequential access: Information in the file is accessed sequentially

Explain memory management using link lists, MEMORY MANAGEMENT USING LINK LI...

MEMORY MANAGEMENT USING LINK LISTS The first one is for showing it is process or hole, second is for starting address and third is for length of the process and last is a point

Define the properties of batch operating systems, Define the properties ope...

Define the properties operating systems: Batch :- Jobs with similar needs are batched together and  run through the computer as a group by an operator or automatic job sequenc

Paging, Paging full question

Paging full question

Thread safety, What does it mean for something to be thread-safe? By saying...

What does it mean for something to be thread-safe? By saying that X is thread-safe, we mean that if multiple threads use X at the same time, we don't have to worry about concurrenc

Merits of device controller in the kernel, Q. State three merits of placing...

Q. State three merits of placing functionality in a device controller rather than in the kernel and State three disadvantages. Answer: Three advantages: Bugs are less probabl

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