Chapter 3: Process Concept
|
|
- Bennett Young
- 5 years ago
- Views:
Transcription
1 Chapter 3: Process Concept By Worawut Srisukkham Updated By Dr. Varin Chouvatut, Silberschatz, Galvin and Gagne 2010
2 Chapter 3: Process-Concept Process Concept Process Scheduling Operations on Processes Interprocess Communication Examples of IPC Systems Communication in Client-Server Systems 3.2 Silberschatz, Galvin and Gagne 2010
3 Objectives To introduce the notion of a process -- a program in execution, which forms the basis of all computation To describe the various features of processes, including scheduling, creation and termination, and communication To describe communication in client-server systems 3.3 Silberschatz, Galvin and Gagne 2010
4 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 3.4 Silberschatz, Galvin and Gagne 2010
5 Process in Memory 3.5 Silberschatz, Galvin and Gagne 2010
6 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 3.6 Silberschatz, Galvin and Gagne 2010
7 Diagram of Process State dispatch: ท าการส งข าวสาร 3.7 Silberschatz, Galvin and Gagne 2010
8 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 3.8 Silberschatz, Galvin and Gagne 2010
9 Process Control Block (PCB) 3.9 Silberschatz, Galvin and Gagne 2010
10 CPU Switch From Process to Process 3.10 Silberschatz, Galvin and Gagne 2010
11 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 queue set of processes waiting for an I/O device A process migrates among the various queues throughout its lifetime 3.11 Silberschatz, Galvin and Gagne 2010
12 Ready Queue And Various I/O Device Queues 3.12 Silberschatz, Galvin and Gagne 2010
13 Representation of Process Scheduling Arrows indicate the flow of processes in the system Circles represent the resources that serve the queues Queueing-diagram representation of Process scheduling Each regular box represents a queue 3.13 Silberschatz, Galvin and Gagne 2010
14 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 executed next and allocates CPU 3.14 Silberschatz, Galvin and Gagne 2010
15 Addition of Medium-Term Scheduling Using in some OS with no long-term scheduler Such as UNIX and MS Windows Swapping Medium-term scheduler can removes process from memory and thus reduce the degree of multiprogramming Later, the process can be reintroduced into memory, and its execution can be continued where it left off Silberschatz, Galvin and Gagne 2010
16 Schedulers (Cont) Short-term scheduler is invoked very frequently (milliseconds) (must be fast) Long-term scheduler is invoked very infrequently (seconds, minutes) (may be slow) The long-term scheduler controls the degree of multiprogramming (the number of processes in memory) Processes can be described as either: I/O-bound process spends more time doing I/O than computations; If all processes are I/O bound, the ready queue will almost always be empty, and the short-term scheduler will have little to do. CPU-bound process spends more time doing computations; If all processes are CPU bound, the I/O waiting queue will almost always be empty, devices will go unused. The system with the best performance will thus have a combination of CPU-bound and I/O bound processes Silberschatz, Galvin and Gagne 2010
17 Context Switch When CPU switches to another process, the system must save the state of the current process and load the saved state for a different process via a context switch Context of a process is represented in the PCB of the process Context-switch time is overhead; the system does no useful work while switching Time is dependent on hardware support 3.17 Silberschatz, Galvin and Gagne 2010
18 Process Creation Parent process creates its children processes, which, may in turn create other processes, forming a tree of processes Generally, a process is identified and managed via a unique process identifier (or pid), which is typically an integer number. Resource sharing (such as CPU time, memory, files, I/O devices) Parent and children share all resources Children share subset of parent s resources Parent and child share no resources Execution when a process creates a new process Parent and children execute concurrently Parent waits until some or all children terminate 3.18 Silberschatz, Galvin and Gagne 2010
19 A tree of processes on a typical Solaris 3.19 Silberschatz, Galvin and Gagne 2010
20 Process Creation (Cont) Address space of the new process Child is a duplicate of the parent Child has a new program loaded into it UNIX examples fork system call creates a new process exec system call is used after a fork to replace the process s memory space with a new program 3.20 Silberschatz, Galvin and Gagne 2010
21 Process Creation Using fork() System Call 3.21 Silberschatz, Galvin and Gagne 2010
22 C Program Forking a Separate Process int main() { pid_t pid; /* fork a child process */ pid = fork(); if (pid < 0) { /* error occurred */ fprintf(stderr, "Fork Failed"); return 1; } else if (pid == 0) { /* child process */ execlp("/bin/ls", "ls", NULL); } else { /* parent process */ /* parent will wait for the child to complete */ wait (NULL); printf ("Child Complete"); } return 0; } Fork() returns pid = 0 for child and nonzero for the parent 3.22 Silberschatz, Galvin and Gagne 2010
23 Process Termination Process finishes executing its last statement and asks the operating system to delete it (exit system call) Return a status value (an integer) to the process parent (via wait) Process resources are deallocated by operating system Parent may terminate execution of children processes (abort) Child has exceeded the allocated resources Task assigned to child is no longer required The parent is exiting Some operating systems do not allow child to continue if its parent terminates All children are terminated cascading termination 3.23 Silberschatz, Galvin and Gagne 2010
24 Interprocess Communication Processes within a system may be independent or cooperating Independent process cannot affect or be affected by the other processes executing in the system. Cooperating process can affect or be affected by the other processes executing in the system, including sharing data. Reasons for cooperating processes: Information sharing Computation speedup Modularity Convenience Cooperating processes need interprocess communication (IPC) that will allow them to exchange data and information. Two models of IPC Shared memory Message passing 3.24 Silberschatz, Galvin and Gagne 2010
25 Communication Models message passing shared memory 3.25 Silberschatz, Galvin and Gagne 2010
26 INTERPROCESS COMMUNICATION : SHARED-MEMORY SYSTEMS 3.26 Silberschatz, Galvin and Gagne 2010
27 Producer-Consumer Problem A common paradigm for cooperating processes, producer process produces information that is consumed by a consumer process Must have a buffer of items that can be filled by the producer and emptied by the consumer. This buffer will reside in a region of memory that is shared by the producer and consumer processes. Two types of buffers can be used: Unbounded buffer places no practical limit on the size of the buffer Bounded buffer assumes that there is a fixed buffer size 3.27 Silberschatz, Galvin and Gagne 2010
28 Bounded Buffer Shared-Memory Solution Shared data: Variables reside in a region of memory shared by the producer and consumer processes #define BUFFER_SIZE 10 typedefstruct {... } item; item buffer[buffer_size]; int in = 0; int out = 0; Solution is correct, but can only use BUFFER_SIZE-1 elements in :points to the next free position in the buffer out: points to the first full position in the buffer buffer empty when in==out buffer full when ((in+1) % BUFFER_SIZE)== out) % is modulus operator Ex. 3 %10 = Silberschatz, Galvin and Gagne 2010
29 Bounded Buffer Producer Process } item nextproduced; /*a local variable in which while (true) { /* Produce an item in nextproduced */ the new item to be produced is stored.*/ while (((in + 1) % BUFFER_SIZE) == out) ; /*do nothing -- no free buffers*/ buffer[in] = nextproduced; in = (in + 1) % BUFFER_SIZE; in :points to the next free position in the buffer out: points to the first full position in the buffer buffer empty when in==out buffer full when ((in+1) % BUFFER_SIZE)== out) % is modulus operator Ex. 3 %10 = Silberschatz, Galvin and Gagne 2010
30 Bounded Buffer Consumer Process item nextconsumed; // a local variable in which the item to be consumed is stored. while (true) { while (in == out) ; // do nothing -- nothing to consume } nextconsumed = buffer[out]; out = (out + 1) % BUFFER_SIZE; // consume the item in nextconsumed in :points to the next free position in the buffer out: points to the first full position in the buffer buffer empty when in==out 3.30 Silberschatz, Galvin and Gagne 2010
31 INTERPROCESS COMMUNICATION : MESSAGE-PASSING SYSTEMS 3.31 Silberschatz, Galvin and Gagne 2010
32 Message-Passing Systems Provides a mechanism for processes to communicate and to synchronize their actions without sharing the same address space. Message system processes communicate with each other without resorting to the shared variables A message-passing facility provides at least two operations: send(message) message size can be either fixed or variable receive(message) If processes P and Q wish to communicate, they need to: establish a communication link between them exchange messages via send/receive Implementation of communication link physical (e.g., shared memory, hardware bus, network) logical (e.g., logical properties) What we are concerned with Silberschatz, Galvin and Gagne 2010
33 Logical Implementation Logical implementation of a link and the send()/receive() operations may be done by several methods: Direct or indirect communication Synchronous or asynchronous communication Automatic or explicit buffering 3.33 Silberschatz, Galvin and Gagne 2010
34 Implementation Questions How are links established? Can a link be associated with more than two processes? How many links can there be between every pair of communicating processes? What is the capacity of a link? Is the size of a message that the link can accommodate fixed or variable? Is a link unidirectional or bi-directional? 3.34 Silberschatz, Galvin and Gagne 2010
35 Direct Communication Processes must explicitly name the recipient or sender: send (P, message) send a message to process P receive(q, message) receive a message from process Q Properties of communication link Links are established automatically A link is associated with exactly one pair of communicating processes Between each pair there exists exactly one link The link may be unidirectional, but is usually bi-directional 3.35 Silberschatz, Galvin and Gagne 2010
36 Indirect Communication Messages are sent to and received from mailboxes (also referred to as ports) Each mailbox has a unique id Processes can communicate only if they share a mailbox Properties of communication link Link is established only if processes have a shared mailbox A link may be associated with more than 2 processes Each pair of processes may have several communication links, with each link corresponding to one mailbox. Link may be unidirectional or bi-directional 3.36 Silberschatz, Galvin and Gagne 2010
37 Indirect Communication Operations that OS must allow a process to do: create a new mailbox send and receive messages through mailbox delete a mailbox Primitives are defined as: send(a, message) send a message to mailbox A receive(a, message) receive a message from mailbox A 3.37 Silberschatz, Galvin and Gagne 2010
38 Indirect Communication 3.38 Silberschatz, Galvin and Gagne 2010
39 Synchronization Message passing may be either blocking or nonblocking Blocking is known as synchronous Blocking send. The sending process is blocked until the message is received by the receiver or by the mailbox. Blocking receive. The receiver blocks until a message is available. Nonblocking is known as asynchronous Nonblocking send. The sending process sends the message and continues. Nonblocking receive. The receiver retrieves either a valid message or a null Silberschatz, Galvin and Gagne 2010
40 Buffering A temporary queue of communicating messages attached to the link can be implemented in one of the three following ways: 1. Zero capacity The queue has a maximum length of zero; thus, the link cannot have any messages waiting in it. Sender must block until the receiver receives the message. 2. Bounded capacity The queue has finite length of n messages. Sender must wait (block) if the link is full. 3. Unbounded capacity The queue has infinite length. Sender never blocks. finite: จ าก ด infinite: ไม จ าก ด 3.40 Silberschatz, Galvin and Gagne 2010
41 Examples of IPC Systems - POSIX POSIX Shared Memory Process first creates a shared memory segment segment id = shmget(ipc_private, size, S_IRUSR S_IWUSR); Process wanting access to that shared memory must attach to it Shared_memory = (char *) shmat(id, NULL, 0); Now the process could write to the shared memory sprintf(shared_memory, "Writing to shared memory"); When done, a process can detach the shared memory from its address space shmdt(shared_memory); 3.41 Silberschatz, Galvin and Gagne 2010
42 Examples of IPC Systems - Mach Mach communication is message based Even system calls are messages Each task gets two mailboxes at creation- Kernel and Notify Only three system calls needed for message transfer msg_send(), msg_receive(), msg_rpc() Mailboxes needed for commuication, created via port_allocate() 3.42 Silberschatz, Galvin and Gagne 2010
43 Examples of IPC Systems Windows XP The message-passing facility in Windows XP is called the local procedure call (LPC) facility Only works between processes on the same system Uses ports (or mailboxes) to establish and maintain communication channels between 2 processes The communication works as follows: The client opens a handle to the subsystem s connection port object The client sends a connection request The server creates two private communication ports and returns the handle to one of them to the client The client and server use the corresponding port handle to send messages or callbacks and to listen for replies 3.43 Silberschatz, Galvin and Gagne 2010
44 Local Procedure Calls in Windows XP 3.44 Silberschatz, Galvin and Gagne 2010
45 Communications in Client-Server Systems Sockets Remote Procedure Calls (RPCs) Remote Method Invocation (Java) 3.45 Silberschatz, Galvin and Gagne 2010
46 Sockets A socket is defined as an endpoint for communication Concatenation of an IP address and a port number Ex. ftp port: 21, telnet port: 23, http port: 80 Standard service port-numbers are below 1024 The socket :1625 refers to port 1625 on host Communication consists between a pair of sockets 3.46 Silberschatz, Galvin and Gagne 2010
47 Socket Communication port: 1625 port: Silberschatz, Galvin and Gagne 2010
48 Remote Procedure Calls Remote procedure call (RPC) abstracts procedure calls between processes on networked systems Stub client-side proxy for the actual procedure on the server The client-side stub locates the server and marshalls the parameters The server-side stub receives this message, unpacks the marshalled parameters, and performs the procedure on the server 3.48 Silberschatz, Galvin and Gagne 2010
49 Execution of RPC 3.49 Silberschatz, Galvin and Gagne 2010
50 Remote Method Invocation Remote Method Invocation (RMI) is a Java mechanism similar to RPCs RMI allows a Java program on one machine to invoke a method on a remote object 3.50 Silberschatz, Galvin and Gagne 2010
51 Marshalling Parameters 3.51 Silberschatz, Galvin and Gagne 2010
52 End of Chapter 3, Silberschatz, Galvin and Gagne 2010
Chapter 3: Processes. Operating System Concepts 8 th Edition,
Chapter 3: Processes, Silberschatz, Galvin and Gagne 2009 Chapter 3: Processes Process Concept Process Scheduling Operations on Processes Interprocess Communication Examples of IPC Systems Communication
More informationChapter 3: Processes. Operating System Concepts 8 th Edition,
Chapter 3: Processes, Silberschatz, Galvin and Gagne 2009 Outline Process Concept Process Scheduling Operations on Processes Interprocess Communication Examples of IPC Systems Communication in Client-Server
More informationChapter 3: Processes. Operating System Concepts Essentials 8 th Edition
Chapter 3: Processes Silberschatz, Galvin and Gagne 2011 Chapter 3: Processes Process Concept Process Scheduling Operations on Processes Interprocess Communication Examples of IPC Systems Communication
More informationChapter 3: Processes. Chapter 3: Processes. Process in Memory. Process Concept. Process State. Diagram of Process State
Chapter 3: Processes Chapter 3: Processes Process Concept Process Scheduling Operations on Processes Cooperating Processes Interprocess Communication Communication in Client-Server Systems 3.2 Silberschatz,
More informationChapter 3: Processes
Operating Systems Chapter 3: Processes Silberschatz, Galvin and Gagne 2009 Chapter 3: Processes Process Concept Process Scheduling Operations on Processes Interprocess Communication (IPC) Examples of IPC
More informationProcess Concept. Chapter 4: Processes. Diagram of Process State. Process State. Process Control Block (PCB) Process Control Block (PCB)
Chapter 4: Processes Process Concept Process Concept Process Scheduling Operations on Processes Cooperating Processes Interprocess Communication Communication in Client-Server Systems An operating system
More informationChapter 4: Processes
Chapter 4: Processes Process Concept Process Scheduling Operations on Processes Cooperating Processes Interprocess Communication Communication in Client-Server Systems 4.1 Process Concept An operating
More informationPart Two - Process Management. Chapter 3: Processes
Part Two - Process Management Chapter 3: Processes Chapter 3: Processes 3.1 Process Concept 3.2 Process Scheduling 3.3 Operations on Processes 3.4 Interprocess Communication 3.5 Examples of IPC Systems
More informationChapter 4: Processes. Process Concept
Chapter 4: Processes Process Concept Process Scheduling Operations on Processes Cooperating Processes Interprocess Communication Communication in Client-Server Systems 4.1 Process Concept An operating
More informationCOP 4610: Introduction to Operating Systems (Spring 2014) Chapter 3: Process. Zhi Wang Florida State University
COP 4610: Introduction to Operating Systems (Spring 2014) Chapter 3: Process Zhi Wang Florida State University Contents Process concept Process scheduling Operations on processes Inter-process communication
More informationProcesses. Electrical and Computer Engineering Stephen Kim ECE/IUPUI RTOS & Apps 1
Processes Electrical and Computer Engineering Stephen Kim (dskim@iupui.edu) ECE/IUPUI RTOS & Apps 1 Processes Process Concept Process Scheduling Operations on Processes Cooperating Processes Interprocess
More informationChapter 5: Processes & Process Concept. Objectives. Process Concept Process Scheduling Operations on Processes. Communication in Client-Server Systems
Chapter 5: Processes Chapter 5: Processes & Threads Process Concept Process Scheduling Operations on Processes Interprocess Communication Communication in Client-Server Systems, Silberschatz, Galvin and
More informationChapter 4: Processes. Process Concept
Chapter 4: Processes Process Concept Process Scheduling Operations on Processes Cooperating Processes Interprocess Communication Communication in Client-Server Systems 4.1 Silberschatz, Galvin and Gagne
More informationChapter 4: Processes
Chapter 4: Processes Process Concept Process Scheduling Operations on Processes Cooperating Processes Interprocess Communication Communication in Client-Server Systems 4.1 Silberschatz, Galvin and Gagne
More informationDiagram of Process State Process Control Block (PCB)
The Big Picture So Far Chapter 4: Processes HW Abstraction Processor Memory IO devices File system Distributed systems Example OS Services Process management, protection, synchronization Memory Protection,
More informationChapter 3: Process-Concept. Operating System Concepts 8 th Edition,
Chapter 3: Process-Concept, Silberschatz, Galvin and Gagne 2009 Chapter 3: Process-Concept Process Concept Process Scheduling Operations on Processes Interprocess Communication 3.2 Silberschatz, Galvin
More informationProcesses. Operating System Concepts with Java. 4.1 Sana a University, Dr aimen
Processes Process Concept Process Scheduling Operations on Processes Cooperating Processes Interprocess Communication Communication in Client-Server Systems 4.1 Sana a University, Dr aimen Process Concept
More informationThe Big Picture So Far. Chapter 4: Processes
The Big Picture So Far HW Abstraction Processor Memory IO devices File system Distributed systems Example OS Services Process management, protection, synchronization Memory Protection, management, VM Interrupt
More informationThe Big Picture So Far. Chapter 4: Processes
The Big Picture So Far HW Abstraction Processor Memory IO devices File system Distributed systems Example OS Services Process management, protection, synchronization Memory Protection, management, VM Interrupt
More informationPart V. Process Management. Sadeghi, Cubaleska RUB Course Operating System Security Memory Management and Protection
Part V Process Management Sadeghi, Cubaleska RUB 2008-09 Course Operating System Security Memory Management and Protection Roadmap of Chapter 5 Notion of Process and Thread Data Structures Used to Manage
More informationChapter 3: Processes. Operating System Concepts 9 th Edition
Chapter 3: Processes Silberschatz, Galvin and Gagne 2013 Chapter 3: Processes Process Concept Process Scheduling Operations on Processes Interprocess Communication Examples of IPC Systems Communication
More informationChapter 3: Processes. Operating System Concepts 8 th Edition,
Chapter 3: Processes, Silberschatz, Galvin and Gagne 2009 Chapter 3: Processes Process Concept Process Scheduling Operations on Processes Interprocess Communication 3.2 Silberschatz, Galvin and Gagne 2009
More informationChapter 3: Processes. Operating System Concepts 8th Edition, modified by Stewart Weiss
Chapter 3: Processes Operating System Concepts 8 Edition, Chapter 3: Processes Process Concept Process Scheduling Operations on Processes Interprocess Communication Examples of IPC Systems Communication
More informationChapter 3: Processes. Operating System Concepts 8th Edition
Chapter 3: Processes Chapter 3: Processes Process Concept Process Scheduling Operations on Processes Interprocess Communication Examples of IPC Systems Communication in Client-Server Systems 3.2 Objectives
More informationChapter 3: Processes. Operating System Concepts Essentials 2 nd Edition
Chapter 3: Processes Silberschatz, Galvin and Gagne 2013 Chapter 3: Processes Process Concept Process Scheduling Operations on Processes Interprocess Communication Examples of IPC Systems Communication
More informationChapter 4: Processes. Process Concept. Process State
Chapter 4: Processes Process Concept Process Scheduling Operations on Processes Cooperating Processes Interprocess Communication Communication in Client-Server Systems 4.1 Process Concept An operating
More informationChapter 3: Processes. Operating System Concepts 9 th Edition
Chapter 3: Processes Silberschatz, Galvin and Gagne 2013 Chapter 3: Processes Process Concept Process Scheduling Operations on Processes Interprocess Communication Examples of IPC Systems Communication
More informationChapter 4: Processes
Chapter 4: Processes Process Concept Process Scheduling Operations on Processes Cooperating Processes Interprocess Communication Communication in Client-Server Systems 4.1 Process Concept An operating
More informationCOP 4610: Introduction to Operating Systems (Spring 2016) Chapter 3: Process. Zhi Wang Florida State University
COP 4610: Introduction to Operating Systems (Spring 2016) Chapter 3: Process Zhi Wang Florida State University Contents Process concept Process scheduling Operations on processes Inter-process communication
More informationProcesses and More. CSCI 315 Operating Systems Design Department of Computer Science
Processes and More CSCI 315 Operating Systems Design Department of Computer Science Notice: The slides for this lecture have been largely based on those accompanying the textbook Operating Systems Concepts,
More informationCHAPTER 3 - PROCESS CONCEPT
CHAPTER 3 - PROCESS CONCEPT 1 OBJECTIVES Introduce a process a program in execution basis of all computation Describe features of processes: scheduling, creation, termination, communication Explore interprocess
More informationLecture 2 Process Management
Lecture 2 Process Management Process Concept An operating system executes a variety of programs: Batch system jobs Time-shared systems user programs or tasks The terms job and process may be interchangeable
More informationChapter 3: Process Concept
Chapter 3: Process Concept DM510-14 Chapter 3: Process Concept Process Concept Process Scheduling Operations on Processes Interprocess Communication Examples of IPC Systems Communication in Client-Server
More informationCS420: Operating Systems. Interprocess Communication
Interprocess Communication James Moscola Department of Physical Sciences York College of Pennsylvania Based on Operating System Concepts, 9th Edition by Silberschatz, Galvin, Gagne Interprocess Communication
More informationChapter 3: Processes. Operating System Concepts 8th Edition,
Chapter 3: Processes, Administrivia Friday: lab day. For Monday: Read Chapter 4. Written assignment due Wednesday, Feb. 25 see web site. 3.2 Outline What is a process? How is a process represented? Process
More informationOPERATING SYSTEMS. UNIT II Sections A, B & D. An operating system executes a variety of programs:
OPERATING SYSTEMS UNIT II Sections A, B & D PREPARED BY ANIL KUMAR PRATHIPATI, ASST. PROF., DEPARTMENT OF CSE. PROCESS CONCEPT An operating system executes a variety of programs: Batch system jobs Time-shared
More informationChapter 3: Processes
Chapter 3: Processes Silberschatz, Galvin and Gagne 2013 Chapter 3: Processes Process Concept Process Scheduling Operations on Processes Interprocess Communication Examples of IPC Systems Communication
More informationChapter 3: Process Concept
Chapter 3: Process Concept Silberschatz, Galvin and Gagne 2013! Chapter 3: Process Concept Process Concept" Process Scheduling" Operations on Processes" Inter-Process Communication (IPC)" Communication
More informationModule 4: Processes. Process Concept Process Scheduling Operation on Processes Cooperating Processes Interprocess Communication
Module 4: Processes Process Concept Process Scheduling Operation on Processes Cooperating Processes Interprocess Communication Operating System Concepts 4.1 Process Concept An operating system executes
More informationModule 4: Processes. Process Concept Process Scheduling Operation on Processes Cooperating Processes Interprocess Communication
Module 4: Processes Process Concept Process Scheduling Operation on Processes Cooperating Processes Interprocess Communication 4.1 Process Concept An operating system executes a variety of programs: Batch
More informationChapter 3: Process Concept
Chapter 3: Process Concept Chapter 3: Process Concept Process Concept Process Scheduling Operations on Processes Inter-Process Communication (IPC) Communication in Client-Server Systems Objectives 3.2
More informationChapter 3: Process Concept
Chapter 3: Process Concept Chapter 3: Process Concept Process Concept Process Scheduling Operations on Processes Inter-Process Communication (IPC) Communication in Client-Server Systems Objectives 3.2
More informationProcess a program in execution; process execution must progress in sequential fashion. Operating Systems
Process Concept An operating system executes a variety of programs: Batch system jobs Time-shared systems user programs or tasks 1 Textbook uses the terms job and process almost interchangeably Process
More informationChapter 3 Processes. Process Concept. Process Concept. Process Concept (Cont.) Process Concept (Cont.) Process Concept (Cont.)
Process Concept Chapter 3 Processes Computers can do several activities at a time Executing user programs, reading from disks writing to a printer, etc. In multiprogramming: CPU switches from program to
More informationProcess. Operating Systems (Fall/Winter 2018) Yajin Zhou ( Zhejiang University
Operating Systems (Fall/Winter 2018) Process Yajin Zhou (http://yajin.org) Zhejiang University Acknowledgement: some pages are based on the slides from Zhi Wang(fsu). Review System calls implementation
More informationProcess Concept Process Scheduling Operations On Process Inter-Process Communication Communication in Client-Server Systems
Process Concept Process Scheduling Operations On Process Inter-Process Communication Communication in Client-Server Systems Process Process VS Program Process in Memory Process State Process Control Block
More informationChapter 3: Processes
Chapter 3: Processes Silberschatz, Galvin and Gagne 2013 Chapter 3: Processes Process Concept Process Scheduling Operations on Processes Interprocess Communication 3.2 Silberschatz, Galvin and Gagne 2013
More informationChapter 3: Processes
Chapter 3: Processes Process Concept Process Scheduling Operations on Processes Cooperating Processes Interprocess Communication Communication in Client-Server Systems 1 Process Management A program in
More informationProcesses and Threads
TDDI04 Concurrent Programming, Operating Systems, and Real-time Operating Systems Processes and Threads [SGG7] Chapters 3 and 4 Copyright Notice: The lecture notes are mainly based on Silberschatz s, Galvin
More informationProcess Concept. Minsoo Ryu. Real-Time Computing and Communications Lab. Hanyang University.
Process Concept Minsoo Ryu Real-Time Computing and Communications Lab. Hanyang University msryu@hanyang.ac.kr Topics Covered Process Concept Definition, states, PCB Process Scheduling Scheduling queues,
More informationProcesses. CSE 2431: Introduction to Operating Systems Reading: Chap. 3, [OSC]
Processes CSE 2431: Introduction to Operating Systems Reading: Chap. 3, [OSC] 1 Outline What Is A Process? Process States & PCB Process Memory Layout Process Scheduling Context Switch Process Operations
More informationOutlook. Process Concept Process Scheduling Operations on Processes. IPC Examples
Processes Outlook Process Concept Process Scheduling Operations on Processes Interprocess Communication o IPC Examples 2 Process Concept What is a Process? A process is a program in execution Process includes
More informationOutline. Interprocess Communication. Interprocess Communication. Communication Models: Message Passing and shared Memory.
Eike Ritter 1 Modified: October 29, 2012 Lecture 14: Operating Systems with C/C++ School of Computer Science, University of Birmingham, UK Outline 1 2 3 Shared Memory in POSIX systems 1 Based on material
More informationCS307 Operating Systems Processes
CS307 Processes Fan Wu Department of Computer Science and Engineering Shanghai Jiao Tong University Spring 2018 Process Concept Process a program in execution An operating system executes a variety of
More informationProcesses. Process Concept. The Process. The Process (Cont.) Process Control Block (PCB) Process State
CS307 Process Concept Process a program in execution Processes An operating system executes a variety of programs: Batch system jobs Time-shared systems user programs or tasks All these activities are
More informationWhat Is A Process? Process States. Process Concept. Process Control Block (PCB) Process State Transition Diagram 9/6/2013. Process Fundamentals
What Is A Process? A process is a program in execution. Process Fundamentals #include int main(int argc, char*argv[]) { int v; printf( hello world\n ); scanf( %d, &v); return 0; Program test
More informationProcess Concept Process in Memory Process State new running waiting ready terminated Diagram of Process State
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
More informationProcess. Program Vs. process. During execution, the process may be in one of the following states
What is a process? What is process scheduling? What are the common operations on processes? How to conduct process-level communication? How to conduct client-server communication? Process is a program
More informationRoadmap. Tevfik Ko!ar. CSC Operating Systems Spring Lecture - III Processes. Louisiana State University. Virtual Machines Processes
CSC 4103 - Operating Systems Spring 2008 Lecture - III Processes Tevfik Ko!ar Louisiana State University January 22 nd, 2008 1 Roadmap Virtual Machines Processes Basic Concepts Context Switching Process
More informationCourse: Operating Systems Instructor: M Umair. M Umair
Course: Operating Systems Instructor: M Umair Process The Process A process is a program in execution. A program is a passive entity, such as a file containing a list of instructions stored on disk (often
More informationRoadmap. Tevfik Ko!ar. CSC Operating Systems Fall Lecture - III Processes. Louisiana State University. Processes. September 1 st, 2009
CSC 4103 - Operating Systems Fall 2009 Lecture - III Processes Tevfik Ko!ar Louisiana State University September 1 st, 2009 1 Roadmap Processes Basic Concepts Process Creation Process Termination Context
More informationNotice: This set of slides is based on the notes by Professor Perrone of Bucknell and the textbook authors Silberschatz, Galvin, and Gagne
Process Fundamentals Notice: This set of slides is based on the notes by Professor Perrone of Bucknell and the textbook authors Silberschatz, Galvin, and Gagne CSCI 315 Operating Systems Design 1 What
More informationCS370 Operating Systems
CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2017 Lecture a Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 FAQ? Notes: TA office hours on the web PA1
More information2. PROCESS. Operating System Concepts with Java 8th Edition Silberschatz, Galvin and Gagn
2. PROCESS Operating System Concepts with Java 8th Edition Silberschatz, Galvin and Gagn SPOILER http://io9.com/if-your-brain-were-a-computer-howmuch-storage-space-w-509687776 2.5 petabytes ~ record 3
More information! The Process Control Block (PCB) " is included in the context,
CSE 421/521 - Operating Systems Fall 2012 Lecture - III Processes Tevfik Koşar Roadmap Processes Basic Concepts Process Creation Process Termination Context Switching Process Queues Process Scheduling
More informationCSC 539: Operating Systems Structure and Design. Spring 2006
CSC 539: Operating Systems Structure and Design Spring 2006 Processes and threads process concept process scheduling: state, PCB, process queues, schedulers process operations: create, terminate, wait,
More informationCHAPTER 2: PROCESS MANAGEMENT
1 CHAPTER 2: PROCESS MANAGEMENT Slides by: Ms. Shree Jaswal TOPICS TO BE COVERED Process description: Process, Process States, Process Control Block (PCB), Threads, Thread management. Process Scheduling:
More informationDept. Of Computer Science, Colorado State University
CS 3: OPERATING SYSTEMS [INTER PROCESS COMMUNICATIONS] Shrideep Pallickara Computer Science Colorado State University Frequently asked questions from the previous class survey When you fork() are objects
More informationFrequently asked questions from the previous class survey
CS 370: OPERATING SYSTEMS [INTER PROCESS COMMUNICATIONS] Shrideep Pallickara Computer Science Colorado State University L5.1 Frequently asked questions from the previous class survey When you fork() are
More informationCS370 Operating Systems
CS370 Operating Systems Colorado State University Yashwant K Malaiya Spring 2019 Lecture 5 Processes Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 FAQ Where does the parent process
More informationProcesses. Process Concept
Processes These slides are created by Dr. Huang of George Mason University. Students registered in Dr. Huang s courses at GMU can make a single machine readable copy and print a single copy of each slide
More informationICS Principles of Operating Systems
ICS 143 - Principles of Operating Systems Lectures 3 and 4 - Processes and Threads Prof. Nalini Venkatasubramanian nalini@ics.uci.edu Some slides adapted from http://www-inst.eecs.berkeley.edu/~cs162/
More informationInterprocess Communication
Interprocess Communication Reading: Silberschatz chapter 4 Additional Reading: Stallings chapter 6 EEL 358 1 Outline Introduction Shared memory systems POSIX shared memory Message passing systems Direct
More informationChapter 3: Processes. Operating System Concepts 9 th Edit9on
Chapter 3: Processes Operating System Concepts 9 th Edit9on Silberschatz, Galvin and Gagne 2013 Chapter 3: Processes 1. Process Concept 2. Process Scheduling 3. Operations on Processes 4. Interprocess
More informationOperating System Design
Operating System Design Processes Operations Inter Process Communication (IPC) Neda Nasiriani Fall 2018 1 Process 2 Process Lifecycle 3 What information is needed? If you want to design a scheduler to
More informationCSI Module 2: Processes
CSI3131 - Module 2: es Reading: Chapter 3 (Silberchatz) Objective: To understand the nature of processes including the following concepts: states, the PCB (process control block), and process switching.
More informationProcesses. Operating System Concepts 8 th Edition
Processes Silberschatz, Galvin and Gagne 2009 Processes Process Concept Process Scheduling Operations on Processes Inter-process Communication Examples of IPC Systems Communication in Client-Server Systems
More informationLecture 5: Process Description and Control Multithreading Basics in Interprocess communication Introduction to multiprocessors
Lecture 5: Process Description and Control Multithreading Basics in Interprocess communication Introduction to multiprocessors 1 Process:the concept Process = a program in execution Example processes:
More informationUNIT - II PROCESS MANAGEMENT
UNIT - II PROCESS MANAGEMENT Processes Process Concept A process is an instance of a program in execution. An operating system executes a variety of programs: o Batch system jobs o Time-shared systems
More informationPROCESS MANAGEMENT. Operating Systems 2015 Spring by Euiseong Seo
PROCESS MANAGEMENT Operating Systems 2015 Spring by Euiseong Seo Today s Topics Process Concept Process Scheduling Operations on Processes Interprocess Communication Examples of IPC Systems Communication
More informationCSCE 313: Intro to Computer Systems
CSCE 313 Introduction to Computer Systems Instructor: Dr. Guofei Gu http://courses.cse.tamu.edu/guofei/csce313/ Programs, Processes, and Threads Programs and Processes Threads 1 Programs, Processes, and
More informationPrepared by Prof. Hui Jiang Process. Prof. Hui Jiang Dept of Electrical Engineering and Computer Science, York University
EECS3221.3 Operating System Fundamentals No.2 Process Prof. Hui Jiang Dept of Electrical Engineering and Computer Science, York University How OS manages CPU usage? How CPU is used? Users use CPU to run
More informationCPSC 341 OS & Networks. Processes. Dr. Yingwu Zhu
CPSC 341 OS & Networks Processes Dr. Yingwu Zhu Process Concept Process a program in execution What is not a process? -- program on a disk A process is an active object, but a program is just a file It
More informationProcess. Prepared by Prof. Hui Jiang Dept. of EECS, York Univ. 1. Process in Memory (I) PROCESS. Process. How OS manages CPU usage? No.
EECS3221.3 Operating System Fundamentals No.2 Prof. Hui Jiang Dept of Electrical Engineering and Computer Science, York University How OS manages CPU usage? How CPU is used? Users use CPU to run programs
More informationCSCE 313 Introduction to Computer Systems. Instructor: Dezhen Song
CSCE 313 Introduction to Computer Systems Instructor: Dezhen Song Programs, Processes, and Threads Programs and Processes Threads Programs, Processes, and Threads Programs and Processes Threads Processes
More informationOperating Systems. Figure: Process States. 1 P a g e
1. THE PROCESS CONCEPT A. The Process: A process is a program in execution. A process is more than the program code, which is sometimes known as the text section. It also includes the current activity,
More informationConcurrent Processes. CS 475, Spring 2018 Concurrent & Distributed Systems
Concurrent Processes CS 475, Spring 2018 Concurrent & Distributed Systems Review: Process Representation A process has some mapping into the physical machine (machine state) Provide two key abstractions
More informationKilling Zombies, Working, Sleeping, and Spawning Children
Killing Zombies, Working, Sleeping, and Spawning Children CS 333 Prof. Karavanic (c) 2015 Karen L. Karavanic 1 The Process Model The OS loads program code and starts each job. Then it cleans up afterwards,
More informationOperating System Concepts Ch. 3: Processes
Operating System Concepts Ch. 3: Processes Silberschatz, Galvin & Gagne Process Concept Recall: - Program: passive entity stored on secondary storage (executable files); instructions & initialization data.
More informationExercise (could be a quiz) Solution. Concurrent Programming. Roadmap. Tevfik Koşar. CSE 421/521 - Operating Systems Fall Lecture - IV Threads
Exercise (could be a quiz) 1 2 Solution CSE 421/521 - Operating Systems Fall 2013 Lecture - IV Threads Tevfik Koşar 3 University at Buffalo September 12 th, 2013 4 Roadmap Threads Why do we need them?
More informationRicardo Rocha. Department of Computer Science Faculty of Sciences University of Porto
Ricardo Rocha Department of Computer Science Faculty of Sciences University of Porto Slides based on the book Operating System Concepts, 9th Edition, Abraham Silberschatz, Peter B. Galvin and Greg Gagne,
More informationProcesses CHAPTER CHAPTER OBJECTIVES. 3.1 Process Concept
3 CHAPTER Processes Early computer systems allowed only one program to be executed at a time. This program had complete control of the system and had access to all the system s resources. In contrast,
More informationPage 1. Analogy: Problems: Operating Systems Lecture 7. Operating Systems Lecture 7
Os-slide#1 /*Sequential Producer & Consumer*/ int i=0; repeat forever Gather material for item i; Produce item i; Use item i; Discard item i; I=I+1; end repeat Analogy: Manufacturing and distribution Print
More informationCS370 Operating Systems Midterm Review
CS370 Operating Systems Midterm Review Yashwant K Malaiya Fall 2015 Slides based on Text by Silberschatz, Galvin, Gagne 1 1 What is an Operating System? An OS is a program that acts an intermediary between
More informationProcesses COMPSCI 386
Processes COMPSCI 386 Elements of a Process A process is a program in execution. Distinct processes may be created from the same program, but they are separate execution sequences. call stack heap STACK
More informationCS Lecture 2! Processes! George Mason University! Fall 2010!
CS 571 - Lecture 2! Processes! George Mason University! Fall 2010! Processes! Process Concept! Process States! Process Creation and Termination! Process Scheduling! Process Communication! Process Observation!
More informationProcesses. Process Scheduling, Process Synchronization, and Deadlock will be discussed further in Chapters 5, 6, and 7, respectively.
Processes Process Scheduling, Process Synchronization, and Deadlock will be discussed further in Chapters 5, 6, and 7, respectively. 1. Process Concept 1.1 What is a Process? A process is a program in
More informationOperating Systems. Lecture 06. System Calls (Exec, Open, Read, Write) Inter-process Communication in Unix/Linux (PIPE), Use of PIPE on command line
Operating Systems Lecture 06 System Calls (Exec, Open, Read, Write) Inter-process Communication in Unix/Linux (PIPE), Use of PIPE on command line March 04, 2013 exec() Typically the exec system call is
More informationInterprocess Communication
Interprocess Communication Processes within a system may be independent or cooperating Cooperating process can affect or be affected by other processes, including sharing data Reasons for cooperating processes:
More informationTDIU25: Operating Systems II. Processes, Threads and Scheduling
TDIU25: Operating Systems II. Processes, Threads and Scheduling SGG9: 3.1-3.3, 4.1-4.3, 5.1-5.4 o Process concept: context switch, scheduling queues, creation o Multithreaded programming o Process scheduling
More information