Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

like image 644
Taylor Ramirez Avatar asked Apr 08 '12 00:04

Taylor Ramirez


People also ask

How does microkernel communicate?

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.

How do user program and system programs interact in microkernel architecture?

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.

What is kernel differentiate between monolithic kernel and micro kernel?

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.


1 Answers

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.

like image 115
Paweł Dziepak Avatar answered Oct 06 '22 15:10

Paweł Dziepak