Process hierarchy: In UNIX, there is a concept known as process hierarchy. In this concept there is a parent process which can create child processes. The child processes can in turn create their own child processes thus forming a hierarchy of processes. This is also known as a process group. When a signal is send by the user then this signal is delivered to the entire process group. A process in the process group can catch a signal, take a particular action or ignore it. For Example, when the operating system is booted init process is started. Then it starts creating new processes and a process hierarchy is formed. Here, the init process is the root of the hierarchy. However, in Windows there is no concept of process hierarchy.
Process state: A process can be in any of the below given states:
1) Running: Process is running and using the CPU.
2) Ready: Process is ready to run but is waiting for another process. Process scheduler can make a running process to a ready state due to many reasons. Scheduling is done to make sure that every process is getting CPU time. The process of scheduling is controlled by using algorithms.
3) Blocked: Process is not able to run until an external event occurs. When a process is not ready to proceed or if there is no input available, then it is blocked.