be designed to only use resident segments. OS4000 supports a fully mixed set of process scheduling within the same system, from hard real-time processes, through soft real-time, time-shared, and background. Given that OS4000 also includes full program development and test/debug facilities, this made OS4000 ideal for developing and deploying real-time applications such as process control and high speed (at the time) data communications all within one system. Filesystem OS4000 uses its own proprietary filesystem. The filesystem is extent based, and variable block size — different files can be created with different blocksizes, ranging from 256 bytes to 16,384 bytes in 256-byte multiples. The filesystem is hierarchical, with components limited to 8 characters and the "." (period) used as the component separator. OS4000 JCL limits characters in file path components to upper case letters and numbers only. Each file path starts with a context pointer which is a name which refers to a position in a filesystem, followed by zero or more catalogues (equivalent to Unix directories), and ending with a filename. Each disk on the system contains a separate and independent filesystem, and the volume name of a disk is the same as the name of its top level catalogue or master catalogue. There must be one disk mounted with a volume name of SYSTEM which contains specific files required by OS4000. In larger systems, there will usually be additional disks containing user files, data files, etc. although these can all coexist on the SYSTEM disk, space permitting. Users are each given a set of initial context pointers which each point to a catalogue on a filesystem, and users can only see the filesystem hierarchies below their initial context pointers. Systems are usually configured so that unprivileged users cannot see other users files or the system's files, except for the system executables held in SYS. By convention, an area called POOL is available for all users, and enables the transfer/sharing of files. Files in an OS4000 filesystem are typed, which means that the filesystem can hold several different types of file, and understands how the contents are structured. Most common are logical files which contain a record structure. These are split into sequential and random files, with random files having all records the same length to enable seeking to record numbers. Finally, text and binary files are distinguished, mainly to prevent applications which expect textual data from accidentally using a