In this chapter we introduce the concept of a process and the notion of concurrent execution. Those are at the very heart of modern operating systems. A process is is a program in execution and is the unit of work in a modern time-sharing system. Such a system consists of a collection of processes: Operating-system processes executing system code, and user processes executing user code. This chapter also discuss the notion of a thread (light-weight process) and interprocess communication (IPC). | Lecture Operating system concepts Fifth edition Module 4 - Avi Silberschatz Peter Galvin Module 4 Processes Process Concept Process Scheduling Operation on Processes Cooperating Processes Interprocess Communication Silberschatz and Galvin 1999 Process Concept An operating system executes a variety of programs Batch system jobs Time-shared systems user programs or tasks Textbook uses the terms job and process almost interchangeably. Process a program in execution process execution must progress in sequential fashion. A process includes program counter stack data section Silberschatz and Galvin 1999 Process State As a process executes it changes state 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 process. terminated The process has finished execution. Silberschatz and Galvin 1999 Diagram of Process State Silberschatz and Galvin 1999 Process Control Block PCB Information associated with each process. Process state Program counter CPU registers CPU scheduling information Memory-management information Accounting information I O status information Silberschatz and Galvin 1999 Process Control Block PCB Silberschatz and Galvin 1999 CPU Switch From Process to Process Silberschatz and Galvin 1999 Process Scheduling Queues Job queue set of all processes in the system. Ready queue set of all processes residing in main memory ready and waiting to execute. Device queues set of processes waiting for an I O device. Process migration between the various queues. Silberschatz and Galvin 1999 Ready Queue And Various I O Device Queues Silberschatz and Galvin 1999 Representation of Process Scheduling Silberschatz and Galvin 1999 Schedulers Long-term scheduler or job scheduler selects which processes should be brought into the ready queue. Short-term scheduler or CPU scheduler selects which process should be .