Modern OS checks the status of process in the system regularly. Each process should response to the OS when the OS checks its status. If the process does not respond, there are two possible reasons. First, the process is busy and it does not have CPU time to respond to the checking. Second, the process might be "dead" that it stucks into problems such as infinite loop, or other kinds of programming defect