If we add layers to a microkernel we can assign servers to d
If we add layers to a microkernel we can assign servers to different layers. Indicate:
a. The advantages of this approach.
b. The disadvantages of the approach.
c. Modify the class diagram of the microkernel to include the concept of layers.
Here is the original diagram:
Extermal Server receiveRequest Internal Server ex ecute Service receiveRequest dispa tchRequest exécuteService activates calls Microkernel execute initCommunication findReceiver crea teHandle sendMessage callInternalServer senc request initialize commnication Client Adapter callService createRequest doTask calls serviceSolution
a. The basic idea behind micro kernels is to remove all non-essential services from the kernel, and implement them as system applications instead, thereby making the kernel as small and efficient as possible. Most microkernels provide basic process and memory management, and message passing between other services, and not much more. Security and protection can be enhanced, as most services are performed in user mode, not kernel mode. System expansion can also be easier, because it only involves adding more system applications, not rebuilding a new kernel. The basic idea is to divide the operating system into several processes each of which impement a single set of services. Each server runs in user mode provides services to the requested client. The client which can be a operating system component or a application program request service by sending message to the server. micro-kernels provide minimal process and memory management, in addition to a communication facility. Micro-kernels provide minimal process and memory management, in addition to a communication facility. On benefit of the microkernel approach is ease of extending the operating system. All new services are added to user space and consequently do not require modification of the kernel. When the kernel does have to be modified, the changes tend to be fewer, because the microkernel is a smaller kernel. The resulting operating system is easier to port from one hardware design to another. The microkernel also provided more security and reliability. So as for summary the advantages are
Lower levels can be changed without affecting higher layers.
Control of information using layer hierarchical rules using enforcement of security policies between layers Each core component is separate.
Each layer hides existence of certain data structures, operations and hardware from higher levels.
Clearly defined interfaces between each OS layer and the user applications.
Can add even more security by putting fundamental functions in internal servers.
Provides a good degree of security because of the well defined interfaces between servers.
b. The disadvantages of this approach are as follows-
It is not clear what to put in each layer.
The layers are restricted to interface only with immediate neighboring layers. This restriction reduces flexibility and provides additional over head for to go through adjacent layers in order to use the services of layers i+2 and greater or layers i–2 and less.
There may be less efficiency as information needs to go through each layer.
In general purpose environments we need to be able to add new functionality and security.
Communication overhead due to message passing.
c. The Microkernel OS Architecture Pattern can be combined with the Layered OS Architecture pattern. Microkernel functionality is provided for internal use by system software or for certain special purpose applications. Many applications in the PalmOS do not use the microkernel services; they are handled automatically by the system.

