how do programs communicate with the micro kernel/monolithic kernel/exo kernel?
I have read many books that show as in the picture, that monolithic kernels communicates with the program through the system call table/filesystem layer.
But how do micro kernels and exo kernel communicate with the program?
does the base of the micro kernel talk directly with the program and , then the micro kernel communicates with the servers?
Update: I found this answered it quite nicely
Client-Server or Microkernel Operating System The advent of new concepts in operating system design, microkernel, is aimed at migrating traditionalservices of an operating system out of the monolithic kernel into the user-level process. The idea is todivide the operating system into several processes, each of which implements a single set of services -for example, I/O servers, memory server, process server, threads interface system. Each server runs inuser mode, provides services to the requested client. The client, which can be either another operatingsystem component or application program, requests a service by sending a message to the server. AnOS kernel (or microkernel) running in kernel mode delivers the message to the appropriate server; theserver performs the operation; and microkernel delivers the results to the client in another message
In the microkernel-based system, the service is obtained by sending an IPC message to a server, and obtaining the result in another IPC message from the server. This requires a context switch if the drivers are implemented as processes, or a function call if they are implemented as procedures.
User programs and system services interact in a microkernel architecture by using interprocess communication mechanisms such as messaging. These messages are conveyed by the operating system.
In microkernel, user services and kernel services are kept in separate address space. In monolithic kernel, both user services and kernel services are kept in the same address space. 2. OS is complex to design.
System calls are the main way of communicating with both monolithic and micro kernels. Using system calls interface kernel may provide numerous IPC methods (such as signals, shared memory, message passing). Due to the nature of microkernels IPC is usually the most important part of such kernel and is used to allow programs to communicate with the servers.
In other words, there are system calls that allow programs to make requests to kernel. Kernel provides some IPC methods that allow programs to communicate with each other including servers in microkernel-based operating systems.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With