User programs could ensure neither adherence to protection methods nor could they be trusted to allocate only free blocks and deallocate blocks on file deletion. Message passing between systems requires messages be turned into packets of information, sent to the network controller, transmitted across a com-munications 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 may receive packets destined for other processes. Error detection .
Error detection occurs at both the hardware and software levels.
At the hardware level, all data transfers must be inspected to ensure that data have not been corrupted in transit. All data on media must be checked to be sure they have not changed since they were written to the media. Also, by having errors processed by the operating system, processes need not contain code to catch and correct all the errors possible on a system. System calls provide the interface between a process and the operating system. These calls generally can be made in assembly programs, some system may allow the calls to be made directly from a higher-level language program.