kernelinter-process-communicatmicrokernel

how do programs communicate - micro kernel monolithic kernel exo kernel


how do programs communicate with the micro kernel/monolithic kernel/exo kernel?

enter image description here

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


Solution

  • 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.