Chapter 3: Processes: Process concept and process scheduling PDF

Document Details

SatisfyingLogarithm2261

Uploaded by SatisfyingLogarithm2261

University of Southern Mindanao

2018

Tags

operating systems process scheduling operating system concepts

Summary

This document summarizes Chapter 3 from the "Operating System Concepts" textbook, focusing on process concepts, including process scheduling, interprocess communication, and client-server communication.

Full Transcript

Chapter 3: Processes: Process concept and process scheduling Operating System Concepts – 10th Edition Silberschatz, Galvin and Gagne ©2018 Outline ▪ Process Concept ▪ Process Scheduling ▪...

Chapter 3: Processes: Process concept and process scheduling Operating System Concepts – 10th Edition Silberschatz, Galvin and Gagne ©2018 Outline ▪ Process Concept ▪ Process Scheduling ▪ Operations on Processes ▪ Interprocess Communication ▪ IPC in Shared-Memory Systems ▪ IPC in Message-Passing Systems ▪ Examples of IPC Systems ▪ Communication in Client-Server Systems Operating System Concepts – 10th Edition 3.2 Silberschatz, Galvin and Gagne ©2018 Objectives ▪ Identify the separate components of a process and illustrate how they are represented and scheduled in an operating system. ▪ Describe how processes are created and terminated in an operating system, including developing programs using the appropriate system calls that perform these operations. ▪ Describe and contrast interprocess communication using shared memory and message passing. ▪ Design programs that uses pipes and POSIX shared memory to perform interprocess communication. ▪ Describe client-server communication using sockets and remote procedure calls. ▪ Design kernel modules that interact with the Linux operating system. Operating System Concepts – 10th Edition 3.3 Silberschatz, Galvin and Gagne ©2018 Process Concept ▪ An operating system executes a variety of programs that run as a process. ▪ Process – a program in execution; process execution must progress in sequential fashion. No parallel execution of instructions of a single process ▪ Multiple parts The program code, also called text section Current activity including program counter, processor registers Stack containing temporary data  Function parameters, return addresses, local variables Data section containing global variables Heap containing memory dynamically allocated during run time Operating System Concepts – 10th Edition 3.4 Silberschatz, Galvin and Gagne ©2018 Process Concept (Cont.) ▪ Program is passive entity stored on disk (executable file); process is active Program becomes process when an executable file is loaded into memory ▪ Execution of program started via GUI mouse clicks, command line entry of its name, etc. ▪ One program can be several processes Consider multiple users executing the same program Operating System Concepts – 10th Edition 3.5 Silberschatz, Galvin and Gagne ©2018 Process in Memory Operating System Concepts – 10th Edition 3.6 Silberschatz, Galvin and Gagne ©2018 Memory Layout of a C Program Operating System Concepts – 10th Edition 3.7 Silberschatz, Galvin and Gagne ©2018 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 processor Terminated: The process has finished execution Operating System Concepts – 10th Edition 3.8 Silberschatz, Galvin and Gagne ©2018 Diagram of Process State Operating System Concepts – 10th Edition 3.9 Silberschatz, Galvin and Gagne ©2018 Process Control Block (PCB) Information associated with each process(also called task control block) ▪ Process state – running, waiting, etc. ▪ Program counter – location of instruction to next execute ▪ CPU registers – contents of all process-centric registers ▪ CPU scheduling information- priorities, scheduling queue pointers ▪ Memory-management information – memory allocated to the process ▪ Accounting information – CPU used, clock time elapsed since start, time limits ▪ I/O status information – I/O devices allocated to process, list of open files Operating System Concepts – 10th Edition 3.10 Silberschatz, Galvin and Gagne ©2018 Threads ▪ So far, process has a single thread of execution ▪ Consider having multiple program counters per process Multiple locations can execute at once  Multiple threads of control -> threads ▪ Must then have storage for thread details, multiple program counters in PCB ▪ Explore in detail in Chapter 4 Operating System Concepts – 10th Edition 3.11 Silberschatz, Galvin and Gagne ©2018 Process Representation in Linux Represented by the C structure task_struct pid t_pid; long state; unsigned int time_slice struct task_struct *parent; struct list_head children; struct files_struct *files; struct mm_struct *mm; Operating System Concepts – 10th Edition 3.12 Silberschatz, Galvin and Gagne ©2018 Process Scheduling ▪ Process scheduler selects among available processes for next execution on CPU core ▪ Goal -- Maximize CPU use, quickly switch processes onto CPU core ▪ Maintains scheduling queues of processes Ready queue – set of all processes residing in main memory, ready and waiting to execute Wait queues – set of processes waiting for an event (i.e., I/O) Processes migrate among the various queues Operating System Concepts – 10th Edition 3.13 Silberschatz, Galvin and Gagne ©2018 Ready and Wait Queues Operating System Concepts – 10th Edition 3.14 Silberschatz, Galvin and Gagne ©2018 Representation of Process Scheduling Operating System Concepts – 10th Edition 3.15 Silberschatz, Galvin and Gagne ©2018 CPU Switch From Process to Process A context switch occurs when the CPU switches from one process to another. Operating System Concepts – 10th Edition 3.16 Silberschatz, Galvin and Gagne ©2018 Context Switch ▪ When CPU switches to another process, the system must save the state of the old process and load the saved state for the new process via a context switch ▪ Context of a process represented in the PCB ▪ Context-switch time is pure overhead; the system does no useful work while switching The more complex the OS and the PCB ➔ the longer the context switch ▪ Time dependent on hardware support Some hardware provides multiple sets of registers per CPU ➔ multiple contexts loaded at once Operating System Concepts – 10th Edition 3.17 Silberschatz, Galvin and Gagne ©2018 Multitasking in Mobile Systems ▪ Some mobile systems (e.g., early version of iOS) allow only one process to run, others suspended ▪ Due to screen real estate, user interface limits iOS provides for a Single foreground process- controlled via user interface Multiple background processes– in memory, running, but not on the display, and with limits Limits include single, short task, receiving notification of events, specific long-running tasks like audio playback ▪ Android runs foreground and background, with fewer limits Background process uses a service to perform tasks Service can keep running even if background process is suspended Service has no user interface, small memory use Operating System Concepts – 10th Edition 3.18 Silberschatz, Galvin and Gagne ©2018 End of ILO CO2 – 3.1 Operating System Concepts – 10th Edition Silberschatz, Galvin and Gagne ©2018

Use Quizgecko on...
Browser
Browser