1.1 --- a/docs/wiki/Program_Loading Wed Mar 29 16:59:10 2023 +0200
1.2 +++ b/docs/wiki/Program_Loading Wed Mar 29 16:59:48 2023 +0200
1.3 @@ -7,6 +7,16 @@
1.4 fault handler configured to provide program file content whenever a region of
1.5 the program payload is encountered that is not currently resident in memory.
1.6
1.7 +<<TableOfContents(2,3)>>
1.8 +
1.9 +== Program Initialisation ==
1.10 +
1.11 +To load and initialise a program, a new task must be created, defining a
1.12 +separate address space for the program and allowing it to operate
1.13 +independently of other programs. For a program to actually run, a thread of
1.14 +execution must be created so that the program's instructions can be read and
1.15 +processed.
1.16 +
1.17 == Internal Page Fault Handlers ==
1.18
1.19 When satisfying page faults for a task, one approach involves situating the
1.20 @@ -86,8 +96,7 @@
1.21
1.22 == External Page Fault Handlers ==
1.23
1.24 -Another approach that may be used to support an internal page fault handler
1.25 -deployed in a task is to employ an external page fault handler in the creating
1.26 +Another approach is to employ an external page fault handler in the creating
1.27 task. When a page fault occurs, the external handler ensures that the
1.28 appropriate content has been brought into its own memory space. It then
1.29 returns a flexpage from the handler routine to resolve the fault.
1.30 @@ -168,6 +177,11 @@
1.31
1.32 ########
1.33
1.34 +This arrangement may be used to support a program deployed in a task. Since an
1.35 +internal page fault handler is just another kind of program, this external
1.36 +pager arrangement can be constrained to only supporting an internal page fault
1.37 +handler deployed in a task.
1.38 +
1.39 == Configuring Programs ==
1.40
1.41 To provide an internal page fault handler alongside an actual program to be