Mirage architecture: Difference between revisions
From Xen
Jump to navigationJump to search
Dave.scott (talk | contribs) (Created page with "The following diagram shows the main Mirage components: File:mirage-architecture.svg") |
Dave.scott (talk | contribs) No edit summary |
||
Line 2: | Line 2: | ||
[[File:mirage-architecture.svg]] |
[[File:mirage-architecture.svg]] |
||
* [https://github.com/mirage/mirage 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. |
|||
* [https://github.com/mirage/mirari mirari]: a build and deployment helper tool. To see examples using mirari, look at the [https://github.com/mirage/mirage-skeleton mirage-skeleton] repository. |
|||
* [https://github.com/mirage/mirage-net 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 |
|||
* [https://github.com/mirage/ocaml-xen-block-driver blkfront]: the mirage xen block driver ("blkfront"). This uses the standard xen shared memory protocol to read and write blocks from a disk "backend". |
|||
* [https://github.com/mirage/ocaml-cohttp cohttp]: an HTTP/1.1 client and server library |
|||
* [https://github.com/mirage/ocaml-dns dns]: an implementation of the DNS protocol |
|||
* [https://github.com/samoht/irminsule irminsule]: a distributed filesystem and block store that follows the same design principles as Git |
Revision as of 10:04, 20 August 2013
The following diagram shows the main Mirage components:
- 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