21

The MH microkernel

 5 years ago
source link: https://www.tuicool.com/articles/hit/zMJZJjr
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

In a system running MH, each process has its own local bus . The kernel mantains a global list of devices.

If it has enough permissions, a process can add a device to its own local bus and use it.

There are three broad kinds of devices:

  • User devices . These are devices created by processes, and it's the only inter-process communication mechanism present in the system.
  • Kernel Devices . These are special devices created by the kernel, used to provide kernel services to a process – timers, memory allocation, etc.
  • Hardware Devices . This is a mapping from real hardware to I/O devices. A special hardware device is the platform device, which gives access to the whole machine to a process.

The Process-Device interface

A process and a device communicate using three mechanisms:

  • IO ports . Similar to Intel I/O space, a process can write, or read, an inline value to a specified port of the device. The meaning assigned to these action is device specific.
  • DMA . A device can read or write directly to a process space. An I/O MMU mechanism is present so a device can only access memory explicitely exported by the process.
  • IRQs . A device can send interrupts to a process.

The MH Process/Device Interface

aIZbq2R.png!web


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK