how do programs communicate - micro kernel monolithic kernel exo kernel
Asked Answered
S

1

9

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

Skeens answered 8/4, 2012 at 0:2 Comment(4)
Don't these books mention the system call interface? In a sense, on *nix systems that is the only way that most processes communicate with the kernel.Dogmatic
@AdamMihalcin so what your say is the program communicates with the base kernel through the system call interface, and not through the servers?Skeens
Also here in these docs docs.google.com/… it shows there is a message bus that all thing communicate through. but I still don't know where the system call table is at any these microkernels.Skeens
Program -> Kernel -> server -> kernel -> program.Skeens
G
2

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.

Gribble answered 9/4, 2012 at 11:53 Comment(1)
so program communicate with the kernel like so program -> library -> servers -> kernel then <-, yes?Skeens

© 2022 - 2024 — McMap. All rights reserved.