1.1 --- a/docs/wiki/Departure Fri Aug 12 16:42:33 2022 +0200
1.2 +++ b/docs/wiki/Departure Thu Aug 18 16:47:21 2022 +0200
1.3 @@ -3,19 +3,74 @@
1.4 The Departure distribution aims to provide components and libraries to
1.5 implement and deliver filesystem access in the L4 Runtime Environment. In
1.6 particular, it acts as a research and testing vehicle for implementations of
1.7 -demand-paged files.
1.8 +demand-paged files provided by filesystems.
1.9 +
1.10 +######## A graph showing the general architecture of the system
1.11 +
1.12 +{{{#!graphviz
1.13 +#format svg
1.14 +#transform notugly
1.15 +digraph architecture {
1.16 + graph [fontsize="12.0",fontname="sans-serif"];
1.17 + node [fontsize="12.0",fontname="sans-serif",shape=box];
1.18 + edge [fontsize="12.0",fontname="sans-serif"];
1.19 +
1.20 + subgraph cluster_client {
1.21 + color=none; style=filled; fillcolor="#ccffcc";
1.22 + label="Client library"; URL="../Client_Library";
1.23 +
1.24 + notifications [label="Notifications"];
1.25 + io [label="Input/Output"];
1.26 + }
1.27 +
1.28 + subgraph cluster_components {
1.29 + color=none; style=filled; fillcolor="#ccccff";
1.30 + label="Components"; URL="../Components";
1.31 +
1.32 + pipes [label="Pipes"];
1.33 + openers [label="Openers"];
1.34 + filesystems [label="Filesystems"];
1.35 + files [label="Files"];
1.36 + directories [label="Directories"];
1.37 + }
1.38 +
1.39 + subgraph cluster_server {
1.40 + color=none; style=filled; fillcolor="#ffcccc";
1.41 + label="Server library"; URL="../Server_Library";
1.42 +
1.43 + resources [label="Resources"];
1.44 + registries [label="Registries"];
1.45 + providers [label="Providers"];
1.46 + }
1.47 +
1.48 + /* Layout constraints. */
1.49 +
1.50 + notifications -> pipes -> resources [dir=none,style=invis];
1.51 + io -> directories -> providers [dir=none,style=invis];
1.52 +}
1.53 +}}}
1.54 +
1.55 +########
1.56
1.57 == Topics ==
1.58
1.59 +Reference topics:
1.60 +
1.61 * [[Client Library]] - convenience functions and structures to access
1.62 filesystem objects
1.63 * [[Components]] - server objects exposed at the system level that support
1.64 filesystem access
1.65 + * [[Server Library]] - abstractions to expose and manage access to filesystem
1.66 +
1.67 +Mechanism details:
1.68 +
1.69 * [[Filesystem Access]] - mechanisms within filesystem servers to manage
1.70 filesystem resources and content
1.71 * [[Paging]] - the mechanism by which filesystem content is provided for use
1.72 by client programs
1.73 * [[Program Loading]] - the mechanism by which programs are loaded
1.74 - * [[Server Library]] - abstractions to expose and manage access to filesystem
1.75 objects
1.76 +
1.77 +Other concepts:
1.78 +
1.79 * [[Users]]