NASIR AHMIDPRESTON BS(CS) UNI Prof. 1stNaeem Semester Iqbal 1421-212007
PROCESS CONCEPT PROCESS: A program in execution, process execution must progress in sequential fashion.
A Process includes A program in execution An instance of a program running on a computer The entity that can be assigned to and executed on a processor A unit of activity characterized by the execution of a sequence of instructions a current state and an associated set of system resources
PROCESSES All the run able software on comp including OS is organized into a number of sequential processes or just processes for short processes is just an executing program, including the current values of the registers and variables. Conceptually each process has its virtual cpu. The cpu switches back and forth from process to processes, but to understand the system much easier to think about a collection of processes running in pseudo parallel, than to keep track of how the cpu switches from prog to prog .This back and forth switching is called multiprogramming.
THE PROCESS MODEL(a) Multiprogramming of four programs.(b) Conceptual model of four independent, sequential processes.(c) Only one program active at any instant.
PROCESSES CREATION OS need some way to make sure all the necessary processes exits. In general purpose systems. Some way is needed to create and terminate processes as needed during operation. Principal events that cause processes creation.1. System initialization.2. Executing of a processes creation system call.3. User request to create new process.4. Initiation of a batch job.
PROCESSES CREATION When OS is booted, typically several processes are created. Foreground processes: Processes that interact with human user and perform work them. Background processes: Not associated with particular users, but instead have specific function. E.g. designed to accept incoming email ,sleeping most of the day but comes to life when email arrives. Daemons: Processes that stay in the background to handle some activity such as email, web pages and so on called daemons.
PROCESSES CREATION Processes can be created after boot time as well. Often a running process issue system calls to create one or more new processes to help it do its job. Creating new processes is particularly useful when the work to be done can easily be formulated in terms of several related, but otherwise independent interacting processes. In interactive systems, users can start a program by typing a command or double clicking an icon. In command based UNIX systems running X windows, the new process takes the new window. In windows , when a processes started it doesn’t have a window, but it can create one or more and most do.
PROCESS TERMINATION After a process has been created, it starts running and does whatever its job is. However, no process lasts forever. Sooner or later the new process will terminate, usually on one of the following conditions:1. Normal exit(voluntary).2. Error exit(voluntary).3. Fatal error(involuntary).4. Killed by another processes(involuntary).
PROCESS TERMINATION Normal exit(voluntary): Terminate because they have done their work. Fatal error(involuntary): The process discovers a fatal error e.g. user types the command cc foo.c to compile the program foo.c and no file exists the compiler simply exits. Error exit(voluntary): An error caused by a process often due to a program e.g. executing an illegal instruction , referencing nonexistent memory, or divide by zero. Killed by another processes(involuntary): A process executes a system call telling the OS to kill some other process. Using kill system call.
PROCESS HIERARCHIES Parent creates a child process, child processes can create its own processes. Forms a hierarchy UNIX calls this a “process group”. Windows has no concept of hierarchy. All processes are created equal.
PROCESS STATESState Transition diagram• Possible process states– ready– running– blocked
PROCESS STATES As a process executes, it changes states. New: The process is being created. Running: Instructions are being executed. Waiting: The process is waiting for some event to occur. Ready: The process is waiting to be assigned to a processor. Terminated: The process has finished execution.
IMPLEMENTATION OF PROCESS AND (PCB) To implement the process model, the OS maintains a table (an array of structures called the process table with one entry per process). Some authors call these entries process control block. These entry contains information about the: Process state. Program counter. CPU registers. CPU switching information. Memory management information. Accounting information. I/O status information.