# HG changeset patch # User Paul Boddie # Date 1680102056 -7200 # Node ID 47cf59868695643d05e84f1162098e19103c16dd # Parent b3eab5c454521596e02dddeec0f28833cb775aba# Parent 18b61314880961a208b6822c0155f376eb5c7d2d Merged concurrent changes. diff -r b3eab5c45452 -r 47cf59868695 docs/tools/make_docs.sh --- a/docs/tools/make_docs.sh Wed Mar 29 00:32:20 2023 +0200 +++ b/docs/tools/make_docs.sh Wed Mar 29 17:00:56 2023 +0200 @@ -2,9 +2,8 @@ THISDIR=`dirname "$0"` INDIR="$THISDIR/../wiki" -OUTDIR="$THISDIR/../html" -ROOT="Filesystems" +ROOT="Departure" MAPPING='--mapping WikiPedia https://en.wikipedia.org/wiki/' THEME='--theme mercurial' @@ -16,6 +15,13 @@ DOCINDEX='--document-index index.html' fi +if [ "$1" = '-o' ] ; then + OUTDIR="$2" + shift 2 +else + OUTDIR="$THISDIR/../html" +fi + FILENAMES=${*:-'--all'} moinconvert --input-dir "$INDIR" \ diff -r b3eab5c45452 -r 47cf59868695 docs/wiki/Departure --- a/docs/wiki/Departure Wed Mar 29 00:32:20 2023 +0200 +++ b/docs/wiki/Departure Wed Mar 29 17:00:56 2023 +0200 @@ -19,7 +19,7 @@ subgraph cluster_client { color=none; style=filled; fillcolor="#ccffcc"; - label="Client library"; URL="../Client_Library"; + label="Client library"; URL="Client_Library"; notifications [label="Notifications"]; io [label="Input/Output"]; @@ -27,7 +27,7 @@ subgraph cluster_components { color=none; style=filled; fillcolor="#ccccff"; - label="Components"; URL="../Components"; + label="Components"; URL="Components"; pipes [label="Pipes"]; openers [label="Openers"]; @@ -38,7 +38,7 @@ subgraph cluster_server { color=none; style=filled; fillcolor="#ffcccc"; - label="Server library"; URL="../Server_Library"; + label="Server library"; URL="Server_Library"; resources [label="Resources"]; registries [label="Registries"]; diff -r b3eab5c45452 -r 47cf59868695 docs/wiki/Program_Loading --- a/docs/wiki/Program_Loading Wed Mar 29 00:32:20 2023 +0200 +++ b/docs/wiki/Program_Loading Wed Mar 29 17:00:56 2023 +0200 @@ -7,6 +7,16 @@ fault handler configured to provide program file content whenever a region of the program payload is encountered that is not currently resident in memory. +<> + +== Program Initialisation == + +To load and initialise a program, a new task must be created, defining a +separate address space for the program and allowing it to operate +independently of other programs. For a program to actually run, a thread of +execution must be created so that the program's instructions can be read and +processed. + == Internal Page Fault Handlers == When satisfying page faults for a task, one approach involves situating the @@ -86,8 +96,7 @@ == External Page Fault Handlers == -Another approach that may be used to support an internal page fault handler -deployed in a task is to employ an external page fault handler in the creating +Another approach is to employ an external page fault handler in the creating task. When a page fault occurs, the external handler ensures that the appropriate content has been brought into its own memory space. It then returns a flexpage from the handler routine to resolve the fault. @@ -168,6 +177,11 @@ ######## +This arrangement may be used to support a program deployed in a task. Since an +internal page fault handler is just another kind of program, this external +pager arrangement can be constrained to only supporting an internal page fault +handler deployed in a task. + == Configuring Programs == To provide an internal page fault handler alongside an actual program to be