In: Computer Science
There are two major design types for operating system kernels: monolithic kernels and microkernels. Which design better satisfies the following requirements, monolithic kernel, microkernels, or both? Justify your answers.
1. Convenient access to operating system data structures by the kernel-level process.
2. Adding/modifying operating system components by kernel developers.
3. Strong security and reliability.
Ans-
1. Convenient access to operating system data structures.
Monolithic- is a any part of kernel . it is possible to other part of kernel. it is a single large process running entirely in single address space .
microkernel- is access message passing . the kernel is broken down into separate processes known as server.
all server run in different address space .
2. Addition of new operating system components-
Microkernel- it is not required modification in kernel . and it is used user space.
Modification of operating system components-
Microkernel - it is not required modification in kernel . the modifying a user mode service can be more easily . it is possible to modify without a need to restart the system.
3. Security and reliability-
MIcrokernel- services are isolated from each other .if one service crashed it does not directly affect others.Another acceptable answer on security would be both implemented well. it prevents unanthorized access to program and data. if a service crashes never the whole system of microkernel. it is slow execution.
Monolithic - if a service crashes the whole collapses in a monolithic kernel. a monolithic kernel less code is required. it is fast execution.