Mirage architecture

From Xen
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

The following diagram shows the main Mirage components:

Mirage-architecture.svg

  • mirage: the low-level mirage "platform". This contains the code needed to boot on Unix, xen, kFreeBSD and in a browser. This package defines the common interfaces supported on all environments, for example the concept of "time". The xen netfront driver lives here, but blkfront does not. There is a proposal to move xen netfront to another repository.
  • mirari: a build and deployment helper tool. To see examples using mirari, look at the mirage-skeleton repository.
  • mirage-net: the mirage network stack. This contains both "socket" and "direct" implementations of ethernet, DHCP, TCP/IP. The "socket" interfaces will use an existing Unix OS socket interface, while "direct" implements everything on top of a system (such as xen netfront or Unix tuntap) supporting "frame send" "frame receive" primitives
  • blkfront: the mirage xen block driver ("blkfront"). This uses the standard xen shared memory protocol to read and write blocks from a disk "backend".
  • cohttp: an HTTP/1.1 client and server library
  • dns: an implementation of the DNS protocol
  • irminsule: a distributed filesystem and block store that follows the same design principles as Git

MirageOS Developer Docs
MirageOS Project
Designs
Proposals
Downloads

Important Note: Most documentation is on mirage.io