1.1 --- a/docs/wiki/Client_Library Fri Aug 12 16:42:33 2022 +0200
1.2 +++ b/docs/wiki/Client_Library Thu Aug 18 16:47:21 2022 +0200
1.3 @@ -2,7 +2,10 @@
1.4
1.5 The filesystem client library offers abstractions and a number of layers of
1.6 functionality to support interaction with [[Components|components]] and the
1.7 -provision of higher-level mechanisms and abstractions for file access.
1.8 +provision of higher-level mechanisms and abstractions for file access. In
1.9 +particular, the client library is intended for use by a conventional C
1.10 +library, with the functions in the C library invoking client library functions
1.11 +and employing client library structures internally.
1.12
1.13 <<TableOfContents(2,3)>>
1.14
2.1 --- a/docs/wiki/Components Fri Aug 12 16:42:33 2022 +0200
2.2 +++ b/docs/wiki/Components Thu Aug 18 16:47:21 2022 +0200
2.3 @@ -164,9 +164,9 @@
2.4 The operation yields a file opener appropriate for the given [[Users|user]]
2.5 credentials.
2.6
2.7 -== File Openers ==
2.8 +== File and Directory Openers ==
2.9
2.10 -File openers implement the `Opener` interface which provides the `context`
2.11 +openers implement the `Opener` interface which provides the `context`
2.12 operation:
2.13
2.14 {{{
3.1 --- a/docs/wiki/Departure Fri Aug 12 16:42:33 2022 +0200
3.2 +++ b/docs/wiki/Departure Thu Aug 18 16:47:21 2022 +0200
3.3 @@ -3,19 +3,74 @@
3.4 The Departure distribution aims to provide components and libraries to
3.5 implement and deliver filesystem access in the L4 Runtime Environment. In
3.6 particular, it acts as a research and testing vehicle for implementations of
3.7 -demand-paged files.
3.8 +demand-paged files provided by filesystems.
3.9 +
3.10 +######## A graph showing the general architecture of the system
3.11 +
3.12 +{{{#!graphviz
3.13 +#format svg
3.14 +#transform notugly
3.15 +digraph architecture {
3.16 + graph [fontsize="12.0",fontname="sans-serif"];
3.17 + node [fontsize="12.0",fontname="sans-serif",shape=box];
3.18 + edge [fontsize="12.0",fontname="sans-serif"];
3.19 +
3.20 + subgraph cluster_client {
3.21 + color=none; style=filled; fillcolor="#ccffcc";
3.22 + label="Client library"; URL="../Client_Library";
3.23 +
3.24 + notifications [label="Notifications"];
3.25 + io [label="Input/Output"];
3.26 + }
3.27 +
3.28 + subgraph cluster_components {
3.29 + color=none; style=filled; fillcolor="#ccccff";
3.30 + label="Components"; URL="../Components";
3.31 +
3.32 + pipes [label="Pipes"];
3.33 + openers [label="Openers"];
3.34 + filesystems [label="Filesystems"];
3.35 + files [label="Files"];
3.36 + directories [label="Directories"];
3.37 + }
3.38 +
3.39 + subgraph cluster_server {
3.40 + color=none; style=filled; fillcolor="#ffcccc";
3.41 + label="Server library"; URL="../Server_Library";
3.42 +
3.43 + resources [label="Resources"];
3.44 + registries [label="Registries"];
3.45 + providers [label="Providers"];
3.46 + }
3.47 +
3.48 + /* Layout constraints. */
3.49 +
3.50 + notifications -> pipes -> resources [dir=none,style=invis];
3.51 + io -> directories -> providers [dir=none,style=invis];
3.52 +}
3.53 +}}}
3.54 +
3.55 +########
3.56
3.57 == Topics ==
3.58
3.59 +Reference topics:
3.60 +
3.61 * [[Client Library]] - convenience functions and structures to access
3.62 filesystem objects
3.63 * [[Components]] - server objects exposed at the system level that support
3.64 filesystem access
3.65 + * [[Server Library]] - abstractions to expose and manage access to filesystem
3.66 +
3.67 +Mechanism details:
3.68 +
3.69 * [[Filesystem Access]] - mechanisms within filesystem servers to manage
3.70 filesystem resources and content
3.71 * [[Paging]] - the mechanism by which filesystem content is provided for use
3.72 by client programs
3.73 * [[Program Loading]] - the mechanism by which programs are loaded
3.74 - * [[Server Library]] - abstractions to expose and manage access to filesystem
3.75 objects
3.76 +
3.77 +Other concepts:
3.78 +
3.79 * [[Users]]