<P> An operating system kernel that allows multitasking needs processes to have certain states . Names for these states are not standardised, but they have similar functionality . </P> <Ul> <Li> First, the process is "created" by being loaded from a secondary storage device (hard disk drive, CD - ROM, etc .) into main memory . After that the process scheduler assigns it the "waiting" state . </Li> <Li> While the process is "waiting", it waits for the scheduler to do a so - called context switch and load the process into the processor . The process state then becomes "running", and the processor executes the process instructions . </Li> <Li> If a process needs to wait for a resource (wait for user input or file to open, for example), it is assigned the "blocked" state . The process state is changed back to "waiting" when the process no longer needs to wait (in a blocked state). </Li> <Li> Once the process finishes execution, or is terminated by the operating system, it is no longer needed . The process is removed instantly or is moved to the "terminated" state . When removed, it just waits to be removed from main memory . </Li> </Ul> <Li> First, the process is "created" by being loaded from a secondary storage device (hard disk drive, CD - ROM, etc .) into main memory . After that the process scheduler assigns it the "waiting" state . </Li> <Li> While the process is "waiting", it waits for the scheduler to do a so - called context switch and load the process into the processor . The process state then becomes "running", and the processor executes the process instructions . </Li>

Instructions that enable the operating system to interact with a device