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