There may be different kind of errors rise up due to several reasons.
- Improper synchronization: When processor request I/O resources for data most of times processor have to wait until I/O resources available in buffer. Some data may be lost or duplicate if the signaling mechanism not work well.
- Failed mutual exclusion: This happen when more than one user tries to use shared resources. As an example If one program try to write “Hello world” to a file. Same time another program tries to write “Operating system”. After the execution of program, output seems like “HeOerallot ing wosysterld”. Operating system should control the access of I/O resources to prevent this error.
- Non determinate program operations: This situation happen when multiple programs run in shared memory. If one program use second program memory, the second program memory (may be next instructions or required data) may be change. OS should control memory access to prevent this error.
- Deadlocks: Two or more program waiting for response of each other. Both programs not execute next instruction. Program stuck in cycle and not flows forward.
Process contain three components
- Executable program
- Associated data
- Execution context of the program(process state): Information that OS need to manage process.