Protections must be checked to assure proper file access. User programs could neither ensure adherence to protection methods nor be trusted to allocate only free blocks and to de-allocate blocks when a file is deleted. Message passing between systems requires messages be turned into packets of information, sent to the network controller, transmitted across a communications medium, and reassembled by the destination system. Packet ordering and data correction must take place. Again, user programs might not coordinate access to the network device, or they might receive packets destined for other processes.
Error detection occurs both at the hardware and at the software level.
At the hardware level, all data transfers must be inspected to ensure that data have not been corrupted in transit. All data on secondary storage must be checked to be sure that the data has not been corrupted since it has been written. At the software level, secondary storage must be checked for consistency. For example, does the number of allocated and free blocks on a disk add to the total number of blocks on a disk. A system call allows a user-level process to request services of the operating system.