L4Re/departure

Annotated docs/wiki/Departure

398:2313d3767768
2022-08-18 Paul Boddie Adjusted the documentation, adding an overview diagram on the front page.
paul@395 1
= Departure =
paul@142 2
paul@395 3
The Departure distribution aims to provide components and libraries to
paul@395 4
implement and deliver filesystem access in the L4 Runtime Environment. In
paul@395 5
particular, it acts as a research and testing vehicle for implementations of
paul@398 6
demand-paged files provided by filesystems.
paul@398 7
paul@398 8
######## A graph showing the general architecture of the system
paul@398 9
paul@398 10
{{{#!graphviz
paul@398 11
#format svg
paul@398 12
#transform notugly
paul@398 13
digraph architecture {
paul@398 14
  graph [fontsize="12.0",fontname="sans-serif"];
paul@398 15
  node [fontsize="12.0",fontname="sans-serif",shape=box];
paul@398 16
  edge [fontsize="12.0",fontname="sans-serif"];
paul@398 17
paul@398 18
  subgraph cluster_client {
paul@398 19
    color=none; style=filled; fillcolor="#ccffcc";
paul@398 20
    label="Client library"; URL="../Client_Library";
paul@398 21
paul@398 22
    notifications [label="Notifications"];
paul@398 23
    io [label="Input/Output"];
paul@398 24
  }
paul@398 25
paul@398 26
  subgraph cluster_components {
paul@398 27
    color=none; style=filled; fillcolor="#ccccff";
paul@398 28
    label="Components"; URL="../Components";
paul@398 29
paul@398 30
    pipes [label="Pipes"];
paul@398 31
    openers [label="Openers"];
paul@398 32
    filesystems [label="Filesystems"];
paul@398 33
    files [label="Files"];
paul@398 34
    directories [label="Directories"];
paul@398 35
  }
paul@398 36
paul@398 37
  subgraph cluster_server {
paul@398 38
    color=none; style=filled; fillcolor="#ffcccc";
paul@398 39
    label="Server library"; URL="../Server_Library";
paul@398 40
paul@398 41
    resources [label="Resources"];
paul@398 42
    registries [label="Registries"];
paul@398 43
    providers [label="Providers"];
paul@398 44
  }
paul@398 45
paul@398 46
  /* Layout constraints. */
paul@398 47
paul@398 48
  notifications -> pipes -> resources [dir=none,style=invis];
paul@398 49
  io -> directories -> providers [dir=none,style=invis];
paul@398 50
}
paul@398 51
}}}
paul@398 52
paul@398 53
########
paul@142 54
paul@142 55
== Topics ==
paul@142 56
paul@398 57
Reference topics:
paul@398 58
paul@395 59
 * [[Client Library]] - convenience functions and structures to access
paul@395 60
   filesystem objects
paul@359 61
 * [[Components]] - server objects exposed at the system level that support
paul@359 62
   filesystem access
paul@398 63
 * [[Server Library]] - abstractions to expose and manage access to filesystem
paul@398 64
paul@398 65
Mechanism details:
paul@398 66
paul@395 67
 * [[Filesystem Access]] - mechanisms within filesystem servers to manage
paul@395 68
   filesystem resources and content
paul@359 69
 * [[Paging]] - the mechanism by which filesystem content is provided for use
paul@359 70
   by client programs
paul@395 71
 * [[Program Loading]] - the mechanism by which programs are loaded
paul@395 72
   objects
paul@398 73
paul@398 74
Other concepts:
paul@398 75
paul@183 76
 * [[Users]]