# HG changeset patch # User Paul Boddie # Date 1660834041 -7200 # Node ID 2313d3767768af7db0ea1b75aacb756ba23fcb4e # Parent dce34ff1ba5226731115f2f676275cc7e5c9c210 Adjusted the documentation, adding an overview diagram on the front page. diff -r dce34ff1ba52 -r 2313d3767768 docs/wiki/Client_Library --- a/docs/wiki/Client_Library Fri Aug 12 16:42:33 2022 +0200 +++ b/docs/wiki/Client_Library Thu Aug 18 16:47:21 2022 +0200 @@ -2,7 +2,10 @@ The filesystem client library offers abstractions and a number of layers of functionality to support interaction with [[Components|components]] and the -provision of higher-level mechanisms and abstractions for file access. +provision of higher-level mechanisms and abstractions for file access. In +particular, the client library is intended for use by a conventional C +library, with the functions in the C library invoking client library functions +and employing client library structures internally. <> diff -r dce34ff1ba52 -r 2313d3767768 docs/wiki/Components --- a/docs/wiki/Components Fri Aug 12 16:42:33 2022 +0200 +++ b/docs/wiki/Components Thu Aug 18 16:47:21 2022 +0200 @@ -164,9 +164,9 @@ The operation yields a file opener appropriate for the given [[Users|user]] credentials. -== File Openers == +== File and Directory Openers == -File openers implement the `Opener` interface which provides the `context` +openers implement the `Opener` interface which provides the `context` operation: {{{ diff -r dce34ff1ba52 -r 2313d3767768 docs/wiki/Departure --- a/docs/wiki/Departure Fri Aug 12 16:42:33 2022 +0200 +++ b/docs/wiki/Departure Thu Aug 18 16:47:21 2022 +0200 @@ -3,19 +3,74 @@ The Departure distribution aims to provide components and libraries to implement and deliver filesystem access in the L4 Runtime Environment. In particular, it acts as a research and testing vehicle for implementations of -demand-paged files. +demand-paged files provided by filesystems. + +######## A graph showing the general architecture of the system + +{{{#!graphviz +#format svg +#transform notugly +digraph architecture { + graph [fontsize="12.0",fontname="sans-serif"]; + node [fontsize="12.0",fontname="sans-serif",shape=box]; + edge [fontsize="12.0",fontname="sans-serif"]; + + subgraph cluster_client { + color=none; style=filled; fillcolor="#ccffcc"; + label="Client library"; URL="../Client_Library"; + + notifications [label="Notifications"]; + io [label="Input/Output"]; + } + + subgraph cluster_components { + color=none; style=filled; fillcolor="#ccccff"; + label="Components"; URL="../Components"; + + pipes [label="Pipes"]; + openers [label="Openers"]; + filesystems [label="Filesystems"]; + files [label="Files"]; + directories [label="Directories"]; + } + + subgraph cluster_server { + color=none; style=filled; fillcolor="#ffcccc"; + label="Server library"; URL="../Server_Library"; + + resources [label="Resources"]; + registries [label="Registries"]; + providers [label="Providers"]; + } + + /* Layout constraints. */ + + notifications -> pipes -> resources [dir=none,style=invis]; + io -> directories -> providers [dir=none,style=invis]; +} +}}} + +######## == Topics == +Reference topics: + * [[Client Library]] - convenience functions and structures to access filesystem objects * [[Components]] - server objects exposed at the system level that support filesystem access + * [[Server Library]] - abstractions to expose and manage access to filesystem + +Mechanism details: + * [[Filesystem Access]] - mechanisms within filesystem servers to manage filesystem resources and content * [[Paging]] - the mechanism by which filesystem content is provided for use by client programs * [[Program Loading]] - the mechanism by which programs are loaded - * [[Server Library]] - abstractions to expose and manage access to filesystem objects + +Other concepts: + * [[Users]]