17.14 physio (5259)

This routine is called to handle “raw” input/output i.e. operations which ignore the normal 512 character block size.

“physio” is called by “rkread” (5476) and “rkwrite” (5483) which appear as entries in the array “cdevsw” (4684)

“Raw i/o” is not an essential feature of UNIX. For disk devices it is used mainly for copying whole disks and checking the integrity of the file system as a whole (see e.g. ICHECK (VIII) in the UPM), where it is convenient to read whole tracks, rather than single blocks, at a time.

Note the declaration of “strat” (5261). Since the actual parameter used e.g. “rkstrategy” (5389) does not return any value, is this form of declaration really necessary? Section Four

Section Four is concerned with files and file systems.

A file system is a set of files and associated tables and directories organised onto a single storage device such as a disk pack.

This section covers the means of creating and accessing files, locating files via directories, and organising and maintaining file systems.

It also includes the code for an exotic breed of file called a “pipe”.