0% found this document useful (0 votes)
34 views

Processes

This document provides an overview of operating system processes including: 1) It defines key process concepts such as process state, context switching, and process scheduling queues. 2) It describes process representation in memory and the process control block used to manage process execution state. 3) It discusses process scheduling and the roles of short-term and long-term schedulers in selecting which processes to execute.

Uploaded by

لوي وليد
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
34 views

Processes

This document provides an overview of operating system processes including: 1) It defines key process concepts such as process state, context switching, and process scheduling queues. 2) It describes process representation in memory and the process control block used to manage process execution state. 3) It discusses process scheduling and the roles of short-term and long-term schedulers in selecting which processes to execute.

Uploaded by

لوي وليد
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 32

CIT11: Principles of Operating System

Principles of Operating System


Course Code CIT11

Faculty of Computing and Information Technology


Computer Science Department
Spring, 2017/2018
These slides are based on lecture notes of the book’s author
& Portland University slides
& A. Frank - P. Weisberg slides
Wedad Al-Sorori 14 September 2017 Introduction 1/33
CIT11: Principles of Operating System

Processes

• This lecture will cover the following topics:

• Process Concept

• Process Scheduling

• Operations on Processes

Wedad Al-Sorori 14 September 2017 Introduction 2/33


CIT11: Principles of Operating System

Objectives

• After completing this lecture, students will be able to:

• Demonstrate the concept of a process.

• Distinguish between process, program and thread.

• Clarify the various features of processes, several operations including


scheduling, creation, termination and communication.
• Implement process management operations using appropriate data
structures and API’s.

Wedad Al-Sorori 14 September 2017 Introduction 3/33


CIT11: Principles of Operating System

Process Concept (1/4)


• An operating system executes a variety of programs:

• Batch system – jobs

• Time-shared systems – user programs or tasks

• Process
• Program in execution; process execution must progress in sequential fashion.

• Forms the basis of all computation.

• Note: Textbook uses the terms job and process almost interchangeably

Wedad Al-Sorori 14 September 2017 Introduction 4/33


CIT11: Principles of Operating System

Process Concept (2/4)


• Process consist of multiple parts
• The program code, also called text section

• Data section containing global variables

• Stack containing temporary data

• Function parameters, return addresses, local variables

• Heap containing memory dynamically allocated during run time

• Current activity including program counter, processor registers

Wedad Al-Sorori 14 September 2017 Introduction 5/33


CIT11: Principles of Operating System

Process in Memory

Wedad Al-Sorori 14 September 2017 Introduction 6/33


CIT11: Principles of Operating System

Process Concept (3/4)


• Program
• Description of how to perform an activity
• Instructions and static data values
• Is passive entity stored on disk (executable file).
• Process
• A snapshot of a program in execution
• Memory (program instructions, static and dynamic data values)
• CPU state (registers, PC, SP, etc.)
• Operating system state (open files, accounting statistics, etc.)
• Process is active.

Wedad Al-Sorori 14 September 2017 Introduction 7/33


CIT11: Principles of Operating System

Process Concept (4/4)

• Program becomes process when executable file 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

Wedad Al-Sorori 14 September 2017 Introduction 8/33


CIT11: Principles of Operating System

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

Wedad Al-Sorori 14 September 2017 Introduction 9/33


CIT11: Principles of Operating System

Diagram of Process State

Wedad Al-Sorori 14 September 2017 Introduction 10/33


CIT11: Principles of Operating System

Process Control Block (PCB)


• Information associated with each
process (also called task control block):
• Process state
• Program counter
• CPU registers
• CPU scheduling information
• Memory-management information
Accounting information
• I/O status information

Wedad Al-Sorori 14 September 2017 Introduction 11/33


CIT11: Principles of Operating System

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 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

Wedad Al-Sorori 14 September 2017 Introduction 12/33


CIT11: Principles of Operating System

CPU Switch from Process to Process

Wedad Al-Sorori 14 September 2017 Introduction 13/33


CIT11: Principles of Operating System

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

Wedad Al-Sorori 14 September 2017 Introduction 14/33


CIT11: Principles of Operating System

Process Representation in Linux


Represented by the C structure task_struct
pid t_pid; /* process identifier */
long state; /* state of the process */
unsigned int time_slice /* scheduling information */
struct task_struct *parent; /* this process’s parent */
struct list_head children; /* this process’s children */
struct files_struct *files; /* list of open files */
struct mm_struct *mm; /* address space of this process */

Wedad Al-Sorori 14 September 2017 Introduction 15/33


CIT11: Principles of Operating System

Process Scheduling
• Maximize CPU use, quickly switch processes onto CPU for time sharing
• Process scheduler selects among available processes for next execution on CPU
• Maintains scheduling queues of processes
• Job queue – set of all processes in the system
• Ready queue – set of all processes residing in main memory, ready and waiting
to execute
• Device queues – set of processes waiting for an I/O device
• Processes migrate among the various queues

Wedad Al-Sorori 14 September 2017 Introduction 16/33


CIT11: Principles of Operating System

Ready Queue and Various I/O Device Queues

Wedad Al-Sorori 14 September 2017 Introduction 17/33


CIT11: Principles of Operating System

Representation of Process Scheduling


 Queuing diagram represents queues, resources, flows

Wedad Al-Sorori 14 September 2017 Introduction 18/33


CIT11: Principles of Operating System

Schedulers
• Processes can be described as either:
• I/O-bound process – spends more time doing I/O than computations, many short CPU bursts
• CPU-bound process – spends more time doing computations; few very long CPU bursts

• Short-term scheduler (or CPU scheduler) – selects which process should be executed next and
allocates CPU
• Sometimes the only scheduler in a system
• Short-term scheduler is invoked frequently (milliseconds)  (must be fast)
• Long-term scheduler (or job scheduler) – selects which processes should be brought into the ready
queue
• Long-term scheduler is invoked infrequently (seconds, minutes)  (may be slow)
• The long-term scheduler controls the degree of multiprogramming

Wedad Al-Sorori 14 September 2017 Introduction 19/33


CIT11: Principles of Operating System

Addition of Medium Term Scheduling


 Medium-term scheduler can be added if degree of multiple programming needs to
decrease
 Remove process from memory, store on disk, bring back in from disk to
continue execution: swapping

Wedad Al-Sorori 14 September 2017 Introduction 20/33


CIT11: Principles of Operating System

Processes Hierarchies and Operations


• System must provide mechanisms for:
• Process creation,
• Process termination, … etc.

Wedad Al-Sorori 14 September 2017 Introduction 21/33


CIT11: Principles of Operating System

How do processes get created?


• Principal events that cause process creation
• System initialization
• Initiation of a batch job
• User request to create a new process
• Execution of a process creation system call from another process

Wedad Al-Sorori 14 September 2017 Introduction 22/33


CIT11: Principles of Operating System

Process Creation
• Parent creates a child process,
• Special system calls for communicating with and waiting for child processes
• Each process is assigned a unique identifying number or process ID (PID)
• Child processes can create their own child processes
• Forms a hierarchy
• UNIX calls this a "process group"

Wedad Al-Sorori 14 September 2017 Introduction 23/33


CIT11: Principles of Operating System

A Tree of Processes in Linux

Wedad Al-Sorori 14 September 2017 Introduction 24/33


CIT11: Principles of Operating System

Process Creation (Cont.)


• Resource sharing options
• Execution options
• Address space
• UNIX examples
• fork() system call creates new process
• exec() system call used after a fork() to replace the process’ memory space with
a new program

Wedad Al-Sorori 14 September 2017 Introduction 25/33


CIT11: Principles of Operating System

Process Termination
• Process executes last statement and then asks the operating system to
delete it using the exit() system call.
• Returns status data from child to parent (via wait())
• Process’ resources are deallocated by operating system

• Parent may terminate the execution of children processes using the


abort() system call. Some reasons for doing so:
• Child has exceeded allocated resources
• Task assigned to child is no longer required
• The parent is exiting and the operating systems does not allow a child to
continue if its parent terminates

Wedad Al-Sorori 14 September 2017 Introduction 26/33


CIT11: Principles of Operating System

Process Termination
• Some operating systems do not allow child to exists if its parent has
terminated. If a process terminates, then all its children must also be
terminated.
• cascading termination.
• The parent process may wait for termination of a child process by using the
wait()system call. The call returns status information and the pid of the
terminated process.
• If process terminate, no parent waiting (did not invoke wait()) process is a zombie
• If parent terminated without invoking wait , process is an orphan
• kill(), signal() system calls in UNIX allow a process to be terminated or have specific
signals sent to it.

Wedad Al-Sorori 14 September 2017 Introduction 27/33


CIT11: Principles of Operating System

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:
• Information sharing
• Computation speedup
• Modularity
• Convenience
• Cooperating processes need interprocess communication (IPC)

Wedad Al-Sorori 14 September 2017 Introduction 28/33


CIT11: Principles of Operating System
Communications Models
• Two models of IPC
• Shared memory
• Message passing
(a) Message passing. (b) shared memory.

Wedad Al-Sorori 14 September 2017 Introduction 29/33


CIT11: Principles of Operating System

Summary
• Process is a program in execution, which forms the basis of all computation.
• Process may consist of multiple light-weight processes named threads.
• Each process compound of set of components and can be found in different states
such as ready, wait or running.
• Important issues or features such as scheduling, creation, deletion and
communication were discussed.

Wedad Al-Sorori 14 September 2017 Introduction 30/33


CIT11: Principles of Operating System

Assignment
• Answer and submit questions in assignment5 that was attached with this lecture on
CLMS.
• Note : The due date for this assignment is two week from the time of taking the
lecture.

Wedad Al-Sorori 14 September 2017 Introduction 31/33


CIT11: Principles of Operating System

Thanks

Wedad Al-Sorori 14 September 2017 Introduction 32/33

You might also like