Prepared by Prof. Hui Jiang (COSC3221) 2/9/2007
|
|
- Hilda Eaton
- 6 years ago
- Views:
Transcription
1 1 * * ' &% $ # " "! 4 ' Prepared by Prof Hui Jiang COSC1 /9/007 / 0 How CPU is used? Users run programs in CPU In a multiprogramming system a CPU always has several jobs to run How to define a CPU job? The important concept: Prof Hui Jiang Dept of Computer Science and Engineering York University PROCESS 5 * is a running program a program in execution is a basic unit of CPU activities a process is a unit of work in a multiprogramming system Many different processes in a multiprogramming system: User processes executing user code Word processor Web browser editor etc System processes executing operating system codes CPU scheduling Memorymanagement I/O operation Multiple processes concurrently run in a CPU Program code Mov AX 0x10 Mov BX CX Push CX Mov CXDX OUT 0x11CX POP CX Code Stack PC CPU Registers Memory Dept of CS York Univ 1
2 0 Prepared by Prof Hui Jiang COSC1 /9/007 A includes: Main Memory index or Registers i Text Section: memory segment including program codes list i j PC Base Limit b h Program Counter PC: the address of the instruction to be executed next Context Other registers All CPU s Registers Stack: memory segment to save temporary data such as local variable function parameters return address Data Section: memory segment containing global and static variables A B h b Data Program code Context Data Program code Figure 8 Typical Implementation 0 & state Program counter CPU registers CPU scheduling information Memorymanagement information Accounting information I/O status information Control Block Dept of CS York Univ
3 & & & Prepared by Prof Hui Jiang COSC1 /9/007 * * 5 0 Scheduling Queues: List of processes competing for the same resource Queues is generally implemented as linked lists Each item in the linked list is PCB of a process we extend each PCB to include a pointer to point to next PCB in the queue New: the process is just being created Running: instructions are being executed by CPU Waiting: waiting for some event I/O completion or a signal Ready: waiting to be assigned to CPU to run Terminated: it finished execution Examples of scheduling queues: Ready Queue: all processes waiting for CPU Device Queues: all processes waiting for a particular device; Each device has its own device queue ' * * * 5 0 Dept of CS York Univ
4 ' $ &/ & $ $ Prepared by Prof Hui Jiang COSC1 /9/ The scheduler s role Scheduler categories: Longterm Scheduler Job scheduler: choose a job from job pool to load into memory to start Control the degree of multiprogramming number of process in memory Select a good mix of I/Obound processes and CPUbound processes Shortterm scheduler CPU scheduler Select a process from ready queue to run once CPU is free Executed very frequently once every 100 millisecond Must be fast for efficiency Mediumterm scheduler: SWAPPING Swap out / swap in & Context Switch: switching the CPU from one process to another Saving the state of old process to its PCB CPU scheduling: select a new process Loading the saved state in its PCB for the new process The context of a process is represented by its PCB Contextswitch time is pure overhead of the system typically from microseconds mainly depending on: Memory speed Number of registers Existence of special instruction The more complex OS the more to save Context switch has become such a performance bottleneck in a large multiprogramming system: New structure to reduce the overhead: THREAD Address Main Memory Dispatcher A B C Program Counter 8000 Figure Snapshot of Example Execution Figure 4 at Instruction Cycle 1 Dept of CS York Univ 4
5 Prepared by Prof Hui Jiang COSC1 /9/007 creation termination Interprocess communication IPC waiting Unix programming: Multipleprocess programming Cooperating process tasks Dept of CS York Univ 5
6 Prepared by Prof Hui Jiang COSC1 /9/007 A process can create some new processes via a createprocess system call: Parent process / children process All process in Unix form a tree structure Resource Allocation of child process The child process get its resource from OS directly Constrain to its parent s resources Parent status The parent continues to execute concurrently with its children The parent waits until its children terminate Initialization of child process address space Child process is a duplicate of its parent process Child process has a program loaded into it How to pass parameters initialization data from parent to child? In UNIX each process is identified by its process number pid In UNIX fork is used to create a new process Creating a new process with fork: New child process is created by fork Parent process address space is copied to new process space initially identical address space Both child and parent processes continue execution from the instruction after fork Return code of fork is different: in child process return code is zero in parent process return code is nonzero it is the process number of the new child process If desirable another system call execlp can be used by one of these two processes to load a new program to replace its original memory space #include <stdioh> void mainint argc char *argv[ ] { int pid ; /* fork another process */ pid = fork ; if pid < 0 { /* error occurred */ fprintfstderr Fork Failed!\n ; exit1 ; else if pid == 0 { /* child process*/ execlp /bin/ls ls NULL ; else { /* parent process */ /* parent will wait for the child to complete */ waitnull ; printf Child Complete\n ; exit0 ; Dept of CS York Univ 6
7 Prepared by Prof Hui Jiang COSC1 /9/007 Normal termination: Finishes executing its final instruction or call exit system call Abnormal termination: make system call abort The parent process can cause one of its child processes to terminate The child uses too much resources The task assigned to the child is no longer needed If the parent exits all its children must be terminated in some systems termination: The process returns data output to its parent process In UNIX the terminated child process number is return by wait in parent process All its resources are deallocated by OS Unix system calls for process control: getid: get process ID pid of calling process fork: create a new process exec: load a new program to run execlchar *pathname char *arg0 ; execvchar *pathname char* argv[ ] ; execle execve execlp execvp wait waitid: wait child process to terminate exit abort: a process terminates Concurrent processes executing in the operating system Independent: runs alone Cooperating: it can affect or be affected by other processes Why cooperating processes? Information sharing Computation speedup Modularity Convenience Need interprocess communication IPC mechanism for cooperating processes: Sharedmemory Messagepassing Dept of CS York Univ 7
8 Prepared by Prof Hui Jiang COSC1 /9/007 IPC with message passing provides a mechanism to allow processes to communicate and to synchronize their actions without sharing the same address space IPC based on messagepassing system: es communication without sharing space Communication is done through the passing of messages At least two operations: sendmessage receivemessage Message size: fixed vs variable Logical communication link: Direct vs indirect communication Symmetric vs asymmetric communication Automatic or explicit buffering Each process must explicitly name the recipient or sender of the communication sendpmessage ReceiveQmessage A link is established between each pair of processes A link is associated with exactly two processes Asymmetric direct communication: no need for recipient to name the sender sendpmessage receive&idmessage: id return the sender identity Disadvantage of direct communication: Limited modularity due to explicit process naming The messages are sent to and received from mailbox Mailbox is a logical unit where message can be placed or removed by processes each mailbox has a unique id sendamessage: A is mailbox ID receiveamessage A link is established in two processes which share mailbox A link may be associated with more than two processes A number of different link may exist between each pair of processes OS provides some operations on mailbox Create a new mailbox Send and receive message through the mailbox Delete a mailbox Message passing may be either blocking or nonblocking Blocking is considered synchronous Nonblocking is considered asynchronous send and receive primitives may be either blocking or nonblocking Blocking send Nonblocking send Blocking receive Nonblocking receive When both the send and receive are blocking we have a rendezvous between the sender and the receiver Dept of CS York Univ 8
9 Prepared by Prof Hui Jiang COSC1 /9/007 The buffering provided by the logical link: Zero capacity: the sender must block until the recipient receives the message no buffering Bounded capacity: the buffer has finite length The sender doesn t block unless the buffer is full Unbounded capacity: the sender never blocks Signals Pipes Message queues Shared memory Sockets others Signal is a technique to notify a process that some events have occurred The process has three choices to deal with the signal: Ignore the signal Let the default action occur Provide a function that is called when the signals occurs signal function: change the action function for a signal #include <signalh> void *signalint signo void *func int ; kill function: send a signal to another process #include <sys/typesh> #include <signalh> int kill int pid int signo ; Dept of CS York Univ 9
10 Prepared by Prof Hui Jiang COSC1 /9/007 #include <signalh> static void sig_intint ; int main { ifsignalsigintsig_int==sig_err err_sys signal error ; sleep100 ; void sig_intint signo { printf Interrupt\n ; Event SIGINT: type the interrupt key CtrlC The default action is to terminate the process Now we change the default action into printing a message to screen Halfduplex; only between parent and child Creating a pipe: Call pipe; Then call fork; Close some ends to be a halfduplex pipe #include <unistdh> int pipe int filedes[] ; user process fd[0] kernel fd[1] int main { int n fd[] ; int pid ; char line[00] ; pipe if pipefd < 0 err_sys pipe error ; fd[0] parent fd[1] fd[0] pipe child fd[1] if pid = fork < 0 err_sys fork error ; else if pid > 0 { closefd[0] ; writefd[1] hello word\n 1 ; else { closefd[1] ; n = readfd[0] line 00 ; writestdout_fileno line n ; exit0 ; Dept of CS York Univ 10
11 Prepared by Prof Hui Jiang COSC1 /9/007 #include <sys/typesh> #include <sys/ipch> #include <sys/msgh> int msggetkey_t key int flag ; int msgsndint msqid const void *ptr size_t nbytes int flag ; int msgrcvint msqid void *ptr size_t nbytes int flag ; int msggetkey_t key int flag ; key msgflg an integer to identify the message queue Should be unique in a system 0 : access to an existing queue IPC_CREAT bit set : create a queue return value 1 on error nonnegative integer on success: message id int msgsnd int msgid const void *msgp int msgsz int msgflg ; msgid msgp msgsz msgflg msg id returned by msgget ptr to a structure struct msgstruct{ long mtype ; //type of the message char mtext[max_len]; //actual data ; return value 1 on failure 0 on success size of data in msg always 0 in our cases int msgrcvint msgid const void *mshp int msgsz long msgtype int msgflg ; msgid msgp msgsz msgflg msgtype return value msg id returned by msgget ptr to a msg structure same as above size of buffer in msg 1 on failure always 0 in our cases 0: get first message in the queue >0 : get first message of type msgtype <0 : beyond our consideration No of bytes in the message on success Dept of CS York Univ 11
12 Prepared by Prof Hui Jiang COSC1 /9/007 #include <sys/typesh> #include <sys/ipch> #include <sys/msgh> #include <sys/typesh> #include <sys/ipch> #include <sys/msgh> #define KEY 894 /* your CS log in number */ int main { int msgid ; msgid = msggetkey0 ; if msgid < 0 { msgid = msggetkey IPC_CREAT 0666 ; ifmsgid < 0 printf"error in creating message queue!\n"; #define KEY 894 #define MAX_LEN 100 typedef struct { long mtype ; char mtext[max_len] ; Message ; int main { int msgid ; Message msg ; strcpymsgmtext "Hello world!" ; msgmtype = 1 ; msgid = msggetkey0 ; if msgid < 0 { printf"error in creating message queue!\n"; return 1 ; ifmsgsndmsgid &msgmax_len0 < 0 printf"error in sending message\n" ; else printf"sent message successfully\n" ; #include <sys/typesh> #include <sys/ipch> #include <sys/msgh> #define KEY 894 #define MAX_LEN 100 typedef struct { long mtype ; char mtext[max_len] ; Message ; int main { int msgid ; Message msg ; msgid = msggetkey0 ; if msgid < 0 { printf"error in creating message queue!\n"; return 1 ; ifmsgrcvmsgid &msgmax_len00 < 0 printf"error in receiving message\n" ; else printf"received message: %s\n"msgmtext ; #include <sys/shmh> int shmgetkey_t key size_t size int shmflg; void *shmatint shmid const void *shmaddr int shmflg; int shmdtconst void *shmaddr; int shmctlint shmid int cmd struct shmid_ds *buf; ifmsgctlmsgidipc_rmidnull<0 // Remove the message queue from system printf Error in removing message queue!\n ; else printf Removed message queue successfully!\n ; Dept of CS York Univ 1
13 Prepared by Prof Hui Jiang COSC1 /9/007 Tables are constructed for each entity the operating system manages Memory Memory Tables Image 1 Devices I/O Tables table: PCBs and process images Files es File Tables Memory table: Allocation of main memory to processes; Protection attributes for access to shared memory regions Primary Table File table: all opened files; location on hardware; Current Status 1 Image I/O table: all I/O devices being used; status of I/O operations n n Figure 11 General Structure of Operating System Control Tables ' $&% # "! P 1 P P n Mode switch Nonprocess Kernel Execute kernel outside of any process Operating system code is executed as a separate entity that operates in privileged mode Execution Within User es Operating system software within context of a user process executes in privileged mode when executing operating system code Kernel a Separate kernel P 1 P P n OS OS OS Functiontiontions Func Func Switching Functions b OS functions execute within user processes vs switch context switch P 1 P P n OS1 OS k Based Operating System Implement operating system as a collection of system processes Useful in multiprocessor or multicomputer environment Switching Functions c OS functions execute as separate processes Figure 15 Relationship Between Operatin System and User es Dept of CS York Univ 1
Dept. of CS, York Univ. 1
!#"$%&%!'()(* +-,/.)0 132547698;:9: =@?A#B;C5DCFEHGFIKJMLHNPOIQCFERG5S How CPU is used? Users run programs in CPU In a multiprogramming system, a CPU always has several jobs running together. How to
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 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 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 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 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 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 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 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 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: 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 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 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 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 informationCOSC Operating Systems Design, Fall Lecture Note: Unnamed Pipe and Shared Memory. Unnamed Pipes
COSC4740-01 Operating Systems Design, Fall 2001 Lecture Note: Unnamed Pipe and Shared Memory Unnamed Pipes Pipes are a form of Inter-Process Communication (IPC) implemented on Unix and Linux variants.
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 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 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 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 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 Examples of IPC Systems Communication
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 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 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 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 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 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 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 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 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 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 informationCOMP 3100 Operating Systems
Programming Interface» A process is an instance of a running program. COMP 3100 Operating Systems» Functionality that an OS provides to applications» Process Management» Input/Output Week 3 Processes and
More informationChapter 3: Process Concept
Chapter 3: Process Concept By Worawut Srisukkham Updated By Dr. Varin Chouvatut, Silberschatz, Galvin and Gagne 2010 Chapter 3: Process-Concept Process Concept Process Scheduling Operations on Processes
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 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 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 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 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 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 informationINTER-PROCESS COMMUNICATION. UNIX Programming 2015 Fall by Euiseong Seo
INTER-PROCESS COMMUNICATION UNIX Programming 2015 Fall by Euiseong Seo Named Pipes Anonymous pipes can be used only between related processes Processes not from the same ancestor sometimes need to communicate
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 informationW4118 Operating Systems. Junfeng Yang
W4118 Operating Systems Junfeng Yang What is a process? Outline Process dispatching Common process operations Inter-process Communication What is a process Program in execution virtual CPU Process: an
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 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. 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 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 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 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 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 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 informationOS Lab Tutorial 1. Spawning processes Shared memory
OS Lab Tutorial 1 Spawning processes Shared memory The Spawn exec() family fork() The exec() Functions: Out with the old, in with the new The exec() functions all replace the current program running within
More informationCS240: Programming in C
CS240: Programming in C Lecture 16: Process and Signals Cristina Nita-Rotaru Lecture 16/ Fall 2013 1 Processes in UNIX UNIX identifies processes via a unique Process ID Each process also knows its parent
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 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 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 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 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 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 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 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 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 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 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 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. 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 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 informationReading Assignment 4. n Chapter 4 Threads, due 2/7. 1/31/13 CSE325 - Processes 1
Reading Assignment 4 Chapter 4 Threads, due 2/7 1/31/13 CSE325 - Processes 1 What s Next? 1. Process Concept 2. Process Manager Responsibilities 3. Operations on Processes 4. Process Scheduling 5. Cooperating
More informationCS240: Programming in C
CS240: Programming in C Lecture 17: Processes, Pipes, and Signals Cristina Nita-Rotaru Lecture 17/ Fall 2013 1 Processes in UNIX UNIX identifies processes via a unique Process ID Each process also knows
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 informationLecture 8: Inter-process Communication. Lecturer: Prof. Zichen Xu
Lecture 8: Inter-process Communication Lecturer: Prof. Zichen Xu 1 Outline Unix IPC and Synchronization Pipe Message Semaphore Shared Memory Signals 2 Pipes and FIFOs Pipe: a circular buffer of fixed size
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 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 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 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 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 informationCOMP 2355 Introduction to Systems Programming
COMP 2355 Introduction to Systems Programming Christian Grothoff christian@grothoff.org http://grothoff.org/christian/ 1 Processes A process is an instance of a running program. Programs do not have to
More informationSignal Example 1. Signal Example 2
Signal Example 1 #include #include void ctrl_c_handler(int tmp) { printf("you typed CTL-C, but I don't want to die!\n"); int main(int argc, char* argv[]) { long i; signal(sigint, ctrl_c_handler);
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 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 information경희대학교컴퓨터공학과 조진성. UNIX System Programming
Inter-Process Communication 경희대학교컴퓨터공학과 조진성 UNIX System Programming Inter-Process Communication n Mechanisms for processes to communicate with each other n UNIX IPC ü pipes ü FIFOs ü message queue ü shared
More informationCS 471 Operating Systems. Yue Cheng. George Mason University Fall 2017
CS 471 Operating Systems Yue Cheng George Mason University Fall 2017 Outline o Process concept o Process creation o Process states and scheduling o Preemption and context switch o Inter-process communication
More informationOperating Systems. VI. Threads. Eurecom. Processes and Threads Multithreading Models
Operating Systems VI. Threads Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Eurecom, office 470 http://soc.eurecom.fr/os/ @OS Eurecom Outline 2/36 Fall 2017 Institut Mines-Telecom Operating Systems
More informationINTER-PROCESS COMMUNICATION Tanzir Ahmed CSCE 313 Fall 2018
INTER-PROCESS COMMUNICATION Tanzir Ahmed CSCE 313 Fall 2018 Inter-Process Communication IPC Methos Pipes and FIFO Message Passing Shared Memory Semaphore Sets Signals References: Beej s guide to Inter
More informationOther Interprocess communication (Chapter 2.3.8, Tanenbaum)
Other Interprocess communication (Chapter 2.3.8, Tanenbaum) IPC Introduction Cooperating processes need to exchange information, as well as synchronize with each other, to perform their collective task(s).
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 informationProcesses. Operating System CS 217. Supports virtual machines. Provides services: User Process. User Process. OS Kernel. Hardware
es CS 217 Operating System Supports virtual machines Promises each process the illusion of having whole machine to itself Provides services: Protection Scheduling Memory management File systems Synchronization
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 informationCSC 1600 Unix Processes. Goals of This Lecture
CSC 1600 Unix Processes q Processes Goals of This Lecture q Process vs. program q Context switching q Creating a new process q fork: process creates a new child process q wait: parent waits for child process
More informationShared Memory Memory mapped files
Shared Memory Memory mapped files 1 Shared Memory Introduction Creating a Shared Memory Segment Shared Memory Control Shared Memory Operations Using a File as Shared Memory 2 Introduction Shared memory
More informationInter-process communication (IPC)
Inter-process communication (IPC) Operating Systems Kartik Gopalan References Chapter 5 of OSTEP book. Unix man pages Advanced Programming in Unix Environment by Richard Stevens http://www.kohala.com/start/apue.html
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 informationFall 2015 COMP Operating Systems. Lab #3
Fall 2015 COMP 3511 Operating Systems Lab #3 Outline n Operating System Debugging, Generation and System Boot n Review Questions n Process Control n UNIX fork() and Examples on fork() n exec family: execute
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 informationProcesses & Threads. Today. Next Time. ! Process concept! Process model! Implementing processes! Multiprocessing once again. ! More of the same J
Processes & Threads Today! Process concept! Process model! Implementing processes! Multiprocessing once again Next Time! More of the same J The process model! Most computers can do more than one thing
More informationCS510 Operating System Foundations. Jonathan Walpole
CS510 Operating System Foundations Jonathan Walpole The Process Concept 2 The Process Concept Process a program in execution Program - description of how to perform an activity instructions and static
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 information