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

If a process is blocked, There is a process bloacked by a semaphore and no ...

There is a process bloacked by a semaphore and no other process in the ready queue, can the blocked process get back to the ready queue without the semsignal() function?

Write a note on deadlocks, Write a note on deadlocks. The proper defini...

Write a note on deadlocks. The proper definition of deadlock A set of processes is deadlocked if every process in the set is waiting for an event that only a proces

Define file permission in unix, The permission function is used to calculat...

The permission function is used to calculate what, if any access each class or level of user has to each file on a Unix machine. The permission task is one of the data components s

Name two differences between logical and physical addresses, Q. Name two di...

Q. Name two differences between logical and physical addresses? Answer: A logical address doesn't refer to an actual existing address rather it refers to an abstract address in

Explain lru page replacement, LRU page replacement In slightest recentl...

LRU page replacement In slightest recently used page replacement algorithm we will replace that page that hasn't been used for the longest period of time. This is similar as an

Blocking locks, We have talked about blocking locks, which voluntarily yiel...

We have talked about blocking locks, which voluntarily yield, and spinlocks, which just spin until they acquire the lock. At ?rst, it seems like spinlocks are verywasteful, and tha

Calculate the average waiting time, Calculate the Average Waiting Time ...

Calculate the Average Waiting Time CPU burst time points out the time, the process needs the CPU. The subsequent are the set of processes with their respective CPU burst time (

Explain the concept of mutual exclusion, Question 1: (a) Discuss about...

Question 1: (a) Discuss about the evolution of operating systems from mainframe batch systems to mainframe time sharing systems. (b) Explain your understanding of the "sus

Explain the os/2 operating system, Explain the OS/2 Operating System Li...

Explain the OS/2 Operating System Like NetWare, OS/2 manage resources at three levels, as shown in Figure 4.5 Resources may be maintained at the session, process, and thread le

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