4.9 Section Three

Section Three is concerned with basic input/output operations between the main memory and disk storage.

These operations are fundamental to the activities of program swapping and the creation and referencing of disk files.

This section also introduces procedures for the use and manipulation of the large (512 byte) buffers.

text.h

[Sheet 43; Chapter 14] defines the “text” structure and array. One “text” structure is used to define the status of a shared text segment.

text.c

[Sheets 43, 44; Chapter 14] contains the procedures which manage the shared text segments.

buf.h

[Sheet 45; Chapter 15] defines the “buf” structure and array, the structure “devtab” and names for the values of “b_error” All these are needed for the management of the large (512 byte) buffers.

conf.h

[Sheet 46; Chapter 15] defines the arrays of structures “bdevsw” and “cdevsw” which specify the device oriented procedures needed to carry out logical file operations.

conf.c

[Sheet 46; Chapter 15] is generated, like “low.s” by the “mkconf” utility to suit the set of peripheral devices present at a particular installation. It contains the initialisation for the arrays “bdevsw” and “cdevsw” which control the basic i/o operations.

bio.c

[Sheets 47..53; Chapters 15, 16, 17] is the largest file after “m40.s” It contains the procedures for manipulation of the large buffers, and for basic block oriented i/o.

rk.c

[Sheets 53, 54; Chapter 16] is the device driver for the RK11/K05 disk controller.