CSCI 447 Operating Systems Filip Jagodzinski

Size: px
Start display at page:

Download "CSCI 447 Operating Systems Filip Jagodzinski"

Transcription

1 Filip Jagodzinski

2 Announcements Homework 1 An extension of Lab 1 Big picture : for Homework 1 and 2, we ll focus on the lowlevel mechanics of the OS. Per the instructions, create a new branch in your gitlab for homework1, and submit your code to the branch for grading Submission of your answers to the book questions is via Canvas. Reminders Do the recommended readings The lecture slides complement and not supplement the recommended readings

3 Announcements Homework 1, Program Demo make blitz g afunprog

4 Review Multiprogramming : goal : increases CPU utilization by ensuring that the CPU has always something to execute (code to run) Several jobs are kept in memory Memory Hierarchy not all jobs can be in memory at one time OS picks one of the jobs in memory to execute When a job is waiting for an I/O operation, the OS switches to another job 0 max OS Job 1 Job 2 Job 3 Job 4 Job 5

5 Review Multiprogramming : goal : increases CPU utilization by ensuring that the CPU has always something to execute (code to run) Several jobs are kept in memory 0 max OS Job 1 Job 2 Job 3 Job 4 Job 5 Memory Hierarchy not all jobs can be in memory at one time OS picks one of the jobs in memory to execute When a job is waiting for an I/O operation, the OS switches to another job Issues that we want to be aware of : Job scheduling & synchronization & fair use of resources (timer -> interrupt) Swapping/Virtual memory Security

6 Review (programs/software) GUI batch user interface Command line system calls services (hardware)

7 Review (programs/software) Program Execution : load program into memory and run it I/O operations : send data to screen, send data to speaker, send data to/from a file GUI batch user interface system calls Command line File systems : create a file, delete a file, add to a file, etc. Communications : via shared memory or via message (packet) passing Services for the user services Error detection : should be able to detect and effectively response to any type of error (hardware)

8 Review (programs/software) Resource allocation Scheduling algorithms Accounting Which user/process uses how much of a specific resource GUI batch user interface system calls Command line time, space, fair access to a shared resource Protection and security In a multiuser system one user/process might not want to make available its data to another (Skype and Firefox running concurrently) Services for the user Services for efficient system operation services (hardware)

9 Review (programs/software) mkdir mydir When a command line instruction is issued the command must be interpreted Two approaches GUI Command batch line user interface system calls 1. The command interpreter itself can execute the command services (hardware)

10 Review (programs/software) mkdir mydir When a command line instruction is issued the command must be interpreted Two approaches GUI Command batch line user interface system calls 1. The command interpreter itself can execute the command 2. The command interpreter has no knowledge of what the command does, but instead launches a system program services (hardware)

11 In-class exercise

12 Today Finish Chapter 2 Begin Chapter 3

13 Operating System Structures program argument (programs/software) mkdir mydir When a command line instruction is issued the command must be interpreted Most operating systems include a command interpreter that has no knowledge of what the command does, but instead launches a system program Q: Where are these programs located? Multiple locations, including /usr/include/x86_64-linux-gnu/sys/ (demo which.h file contains mkdir?) GUI batch user interface system calls services (hardware) Command line

14 Operating System Structures Q: How are parameters passed to the OS? (programs/software) GUI batch user interface Command line system calls services (hardware)

15 Operating System Structures Q: How are parameters passed to the OS? 1. Pass parameter via registers (programs/software) GUI batch user interface Command line system calls (1) param register services user process (2) (3) Operating system (hardware)

16 Operating System Structures Q: How are parameters passed to the OS? 1. Pass parameter via registers Q: What are the limitations of this approach? (programs/software) GUI batch user interface system calls Command line (1) param register services user process (2) (3) Operating system (hardware)

17 Operating System Structures Q: How are parameters passed to the OS? 1. Pass parameter via registers 2. Save parameters in block or table (in memory), and pass via the registers the address of the block (programs/software) GUI batch user interface system calls Command line services register user process Operating system (hardware)

18 Operating System Structures Q: How are parameters passed to the OS? 1. Pass parameter via registers 2. Save parameters in block or table (in memory), and pass via the registers the address of the block Q: What are the advantages of this approach? (1) table address (programs/software) GUI batch user interface system calls services Command line register user process (2) (3) Operating system (hardware)

19 Operating System Structures Q: How are parameters passed to the OS? 1. Pass parameter via registers 2. Save parameters in block or table (in memory), and pass via the registers the address of the block 3. Placed (pushed) onto the stack (programs/software) GUI batch user interface system calls Command line services register user process Operating system (hardware)

20 Operating System Structures System Calls Several basic types (programs/software) GUI batch Command line user interface system calls services (hardware)

21 Operating System Structures System Calls Several basic types 1. Process Control end, abort, load, create process, Need to halt, normally or via abort 2. File Management create file, delete file, open file, Manage files and directories (programs/software) GUI batch user interface system calls Command line services (hardware)

22 Operating System Structures System Calls Several basic types 1. Process Control end, abort, load, create process, Need to halt, normally or via abort 2. File Management create file, delete file, open file, Manage files and directories 3. Device Management request device, write to device, Process might need multiple resources 4. Information Management get process attributes, set system data, get time or date, Keep track of up-time and waiting (programs/software) GUI batch user interface system calls services Command line (hardware)

23 Operating System Structures System Calls Several basic types 1. Process Control end, abort, load, create process, Need to halt, normally or via abort 2. File Management create file, delete file, open file, Manage files and directories 3. Device Management request device, write to device, Process might need multiple resources 4. Information Management get process attributes, set system data, get time or date, Keep track of up-time and waiting 5. Communications create connection, send message, transfer status information Message passing and shared memory 6. Protection prevent read, allow modification by owner only Manipulate protections of resources (programs/software) GUI batch user interface system calls services (hardware) Command line

24 Processes Chapter 3

25 Processes Early computers, with limited resources, and no multiprocessing Load the entire program into memory, and run Shared and/or Multiprocessor Computers Multiple programs running at the same time

26 Processes Early computers, with limited resources, and no multiprocessing Load the entire program into memory, and run Drawbacks/Advantages Shared and/or Multiprocessor Computers Multiple programs running at the same time Drawbacks/Advantages

27 Processes Early computers, with limited resources, and no multiprocessing Load the entire program into memory, and run Drawbacks/Advantages Shared and/or Multiprocessor Computers Multiple programs running at the same time Drawbacks/Advantages Only 1 program running at any one time No sharing of resources No security protocols Program in control of all architecture elements Shared CPUs Concurrent processes One program shouldn t see or interfere with other programs

28 Processes Q: What is a process?

29 Processes Q: What is a process? Process : a program in execution Q: What a

30 Processes Q: What is a process? Process : a program in execution Q: What are all of the required elements/components needed to run and/or schedule a job? Analogy : think of a manager of a store/company what info/details are needed so that the manager can schedule employee shifts? Q: What a

31 Processes Q: What is a process? Process : a program in execution But it is more than just the program at the architecture and OS levels of abstraction, a job consists of: The program file (executable program), aka the text section The current activity currently executing, which includes the value of the program counter (PC in first lecture), Q: What and a the value(s) of the registers The memory image text, data, heap, stack

32 Processes Q: What is a process? Process : a program in execution But it is more than just the program at the architecture and OS levels of abstraction, a job consists of: The program file (executable program), aka the text section The activity currently executing, which includes the value of the program counter (PC in first lecture), and the value(s) of the registers The memory image text, data, heap, stack

33 A process in memory Processes Q: What is a process? Process : a program in execution stack But it is more than just the program at the architecture and OS levels of abstraction, a job consists of: The program file (executable program), aka the text section The activity currently executing, which includes the value of the program counter (PC in first lecture), and the value(s) of the registers The memory image text, data, heap, stack heap data text Q: What is the distinction between the heap and the stack?

34 A process in memory Processes Q: What is a process? Process : a program in execution stack But it is more than just the program at the architecture and OS levels of abstraction, a job consists of: heap The program file (executable program), aka the text section The activity currently executing, which includes the value of the program counter (PC in first lecture), and the value(s) of the registers The memory image text, data, heap, stack data text Q: What is the distinction between the heap and the stack? Dynamically allocated No pattern for use (difficult to manage) Temporary data LIFO (easy(ish) to manage)

35 Processes Q: What is a process? Process : a program in execution But it is more than just the program at the architecture and OS levels of abstraction, a job consists of: The program file (executable program), aka the text section The activity currently executing, which includes the value of the program counter (PC in first lecture), and the value(s) of the registers Process state The memory image text, data, heap, stack Q: In the context of today s multiprocessor computers, what are the possible states of a process? Hint : there are 5 of them White board brainstorm Caveats : only 1 process can be running on any processor at any instance, while many processes may be ready and waiting

36 Processes Q: What is a process? Process : a program in execution But it is more than just the program at the architecture and OS levels of abstraction, a job consists of: The program file (executable program), aka the text section The activity currently executing, which includes the value of the program counter (PC in first lecture), and the value(s) of the registers Process state The memory image text, data, heap, stack New : being created Running : being executed Waiting : for some event to occur (usually I/O operation) Ready : process is waiting to be assigned a processor Terminated : finished executing Caveats : only 1 process can be running on any processor at any instance, while many processes may be ready and waiting

37 Processes Q: What transition pathways are possible for a process during non-error operation? For example, can a process transition from new to terminated? From waiting to running? From terminated to ready? Analogy : can an employee go form Terminated to New? New : being created Running : being executed Waiting : for some event to occur (usually I/O operation) Ready : process is waiting to be assigned a processor Terminated : finished executing

38 Processes Q: What transition pathways are possible for a process during non-error operation? For example, can a process transition from new to terminated? From waiting to running? From terminated to ready? New : being created Running : being executed Waiting : for some event to occur (usually I/O operation) new running Ready : process is waiting to be assigned a processor Terminated : finished executing ready waiting terminated

39 Processes Task : Be able to list an example of an activity that a process undergoes to force any of the transitions. Q: For example, what event might cause a process to transition from a running state to a waiting state? Q: What determines that transition from ready to running? new running New : being created Running : being executed Waiting : for some event to occur (usually I/O operation) Ready : process is waiting to be assigned a processor Terminated : finished executing ready waiting terminated

40 Processes Q: Why would we not want the OS to implement a transition option from New to Running? New : being created Running : being executed Waiting : for some event to occur (usually I/O operation) new running Ready : process is waiting to be assigned a processor Terminated : finished executing ready waiting terminated

41 Processes But the state of a process is not enough to permit the OS to manage the process, nor all of the processes Task : Assume you are the OS and you need to schedule/manage multiple processes what information do you need about each process? White board brainstorm New : being created Running : being executed Waiting : for some event to occur (usually I/O operation) Ready : process is waiting to be assigned a processor Terminated : finished executing

42 Processes Process Control Block : a repository for information about processes

43 Processes Process Control Block : a repository for information about processes One of a several current states State

44 Processes Process Control Block : a repository for information about processes One of a several current states Recall the intro lecture What does PC refer to? And what is its utility? State

45 Processes Process Control Block : a repository for information about processes One of a several current states Address of next instruction for process State Program Counter

46 Processes Process Control Block : a repository for information about processes One of a several current states Address of next instruction for process Depending on the architecture, the type and count of specific registers varies regardless, it is their content that is important State Program Counter CPU Registers

47 Processes Process Control Block : a repository for information about processes One of a several current states Address of next instruction for process Depending on the architecture, the type and count of specific registers varies regardless, it is their content that is important Process priority, pointers to scheduling queues, etc. State Program Counter CPU Registers CPU Scheduling Info

48 Processes Process Control Block : a repository for information about processes One of a several current states Address of next instruction for process Depending on the architecture, the type and count of specific registers varies regardless, it is their content that is important Process priority, pointers to scheduling queues, etc. Page tables, segment tables, etc. Amount of CPU already used, time limits, job or process number List of I/O devices allocated to/in use by process, list of open files, etc. State Program Counter CPU Registers CPU Scheduling Info Memory Management Info Accounting Info I/O status

49 Processes Process Control Block : a repository for information about processes What is the PCB used for? How does an OS utilize it? State Program Counter CPU Registers CPU Scheduling Info Memory Management Info Accounting Info I/O status

50 Processes Process Control Block : a repository for information about processes What is the PCB used for? How does an OS utilize it? The insight is that the PCB for each process explains fully the details of the process its instructions, the state of the data on-chip, what I/O devices the process needs This enables the OS to save a snapshot of a process, file that snapshot away in the case that the process is idle (waiting), and swap in (switch to) another process State Program Counter CPU Registers CPU Scheduling Info Memory Management Info Accounting Info I/O status

51 Processes Process Control Block : a repository for information about processes Process 0 OS

52 Processes Process Control Block : a repository for information about processes Interrupt System call Process 0 save OS PCB_0 Q: What type of interrupt/system call might trigger this type of behavior? Enumerate three possibilities.

53 Processes Process Control Block : a repository for information about processes Process 0 save OS Process 1 Interrupt System call PCB_0 PCB_1 (re)load time

54 Processes Process Control Block : a repository for information about processes Process 0 save OS Process 1 Interrupt System call PCB_0 PCB_1 (re)load time save Interrupt System call Q: What type of interrupt/system call might trigger this type of behavior? Enumerate three possibilities.

55 Processes Process Control Block : a repository for information about processes Process 0 save OS Process 1 Interrupt System call PCB_0 PCB_1 (re)load time save Interrupt System call Assuming Process 0 has transitioned from waiting to ready, AND is scheduled by the OS to be the next process to resume execution what happens next?

56 reload Processes Process Control Block : a repository for information about processes Process 0 save OS Process 1 Interrupt System call PCB_0 PCB_1 (re)load time resume save Interrupt System call

57 Processes Scheduling Before we can discuss algorithms for scheduling CPU usage we need a system in place for keeping tack of which process wants/needs to use which resource. Q: what data structure(s) would you use, and why? A. Heap B. Queue C. Stack D. BST

58 Processes Scheduling Ready queue head tail Q: What are the individual elements of the queue?

59 Processes Scheduling PCB_24 State Ready queue head tail Program Counter CPU Registers CPU Scheduling Info Memory Management Info Accounting Info I/O status

60 Processes Scheduling PCB_24 State Q: What does this refer to? Ready queue head tail Program Counter CPU Registers CPU Scheduling Info Memory Management Info Q: How many elements/items are in this queue? Accounting Info I/O status

61 Processes Scheduling PCB_24 Ready queue head tail State Program Counter CPU Registers CPU Scheduling Info Memory Management Info Accounting Info I/O status PCB_7 State Program Counter CPU Registers CPU Scheduling Info Memory Management Info Accounting Info I/O status

62 Up Next Chapter 3, Scheduling

CSCI 447 Operating Systems Filip Jagodzinski

CSCI 447 Operating Systems Filip Jagodzinski Filip Jagodzinski Norms Q1: Num Programs written Q2: Semaphores provide a get() function Q3: Dream Job : computer penetration tester, security, democratic electoral system design, machine learning for

More information

Introduction to Concurrency (Processes, Threads, Interrupts, etc.)

Introduction to Concurrency (Processes, Threads, Interrupts, etc.) Introduction to Concurrency (Processes, Threads, Interrupts, etc.) CS-3013 Operating Systems Hugh C. Lauer (Slides include materials from Slides include materials from Modern Operating Systems, 3 rd ed.,

More information

CPSC 341 OS & Networks. Introduction. Dr. Yingwu Zhu

CPSC 341 OS & Networks. Introduction. Dr. Yingwu Zhu CPSC 341 OS & Networks Introduction Dr. Yingwu Zhu What to learn? Concepts Processes, threads, multi-processing, multithreading, synchronization, deadlocks, CPU scheduling, networks, security Practice:

More information

Processes. CS 475, Spring 2018 Concurrent & Distributed Systems

Processes. CS 475, Spring 2018 Concurrent & Distributed Systems Processes CS 475, Spring 2018 Concurrent & Distributed Systems Review: Abstractions 2 Review: Concurrency & Parallelism 4 different things: T1 T2 T3 T4 Concurrency: (1 processor) Time T1 T2 T3 T4 T1 T1

More information

Process. Discussion session 3 1/30/2016

Process. Discussion session 3 1/30/2016 Process Discussion session 3 1/30/2016 A program in execution What is the process? An instance of a program running on a computer The entity can be assigned to and executed on a processor A unit of activity

More information

Announcement. Exercise #2 will be out today. Due date is next Monday

Announcement. Exercise #2 will be out today. Due date is next Monday Announcement Exercise #2 will be out today Due date is next Monday Major OS Developments 2 Evolution of Operating Systems Generations include: Serial Processing Simple Batch Systems Multiprogrammed Batch

More information

OPERATING SYSTEMS. COMS W1001 Introduction to Information Science. Boyi Xie

OPERATING SYSTEMS. COMS W1001 Introduction to Information Science. Boyi Xie 1 OPERATING SYSTEMS COMS W1001 Introduction to Information Science Boyi Xie 2 Announcement Homework 1 is available Grace days A total of 5 days for 5 HWs If all grace days have been used, 50% of the points

More information

Announcements. Reading. Project #1 due in 1 week at 5:00 pm Scheduling Chapter 6 (6 th ed) or Chapter 5 (8 th ed) CMSC 412 S14 (lect 5)

Announcements. Reading. Project #1 due in 1 week at 5:00 pm Scheduling Chapter 6 (6 th ed) or Chapter 5 (8 th ed) CMSC 412 S14 (lect 5) Announcements Reading Project #1 due in 1 week at 5:00 pm Scheduling Chapter 6 (6 th ed) or Chapter 5 (8 th ed) 1 Relationship between Kernel mod and User Mode User Process Kernel System Calls User Process

More information

CSCI 447 Operating Systems Filip Jagodzinski

CSCI 447 Operating Systems Filip Jagodzinski Filip Jagodzinski Announcements Lab 1 This Monday, in CF420 during lecture time git, kpl, blitz, etc. primer PRIOR to the lab, please read the 7 page blitz overview document available on the course website

More information

Computer Systems II. First Two Major Computer System Evolution Steps

Computer Systems II. First Two Major Computer System Evolution Steps Computer Systems II Introduction to Processes 1 First Two Major Computer System Evolution Steps Led to the idea of multiprogramming (multiple concurrent processes) 2 1 At First (1945 1955) In the beginning,

More information

1 PROCESSES PROCESS CONCEPT The Process Process State Process Control Block 5

1 PROCESSES PROCESS CONCEPT The Process Process State Process Control Block 5 Process Management A process can be thought of as a program in execution. A process will need certain resources such as CPU time, memory, files, and I/O devices to accomplish its task. These resources

More information

Operating Systems. Introduction & Overview. Outline for today s lecture. Administrivia. ITS 225: Operating Systems. Lecture 1

Operating Systems. Introduction & Overview. Outline for today s lecture. Administrivia. ITS 225: Operating Systems. Lecture 1 ITS 225: Operating Systems Operating Systems Lecture 1 Introduction & Overview Jan 15, 2004 Dr. Matthew Dailey Information Technology Program Sirindhorn International Institute of Technology Thammasat

More information

CSC 2405: Computer Systems II

CSC 2405: Computer Systems II CSC 2405: Computer Systems II Dr. Mirela Damian http://www.csc.villanova.edu/~mdamian/csc2405/ Spring 2016 Course Goals: Look under the hood Help you learn what happens under the hood of computer systems

More information

Frequently asked questions from the previous class survey

Frequently asked questions from the previous class survey CS 370: OPERATING SYSTEMS [CPU SCHEDULING] Shrideep Pallickara Computer Science Colorado State University L14.1 Frequently asked questions from the previous class survey Turnstiles: Queue for threads blocked

More information

Introduction. CS3026 Operating Systems Lecture 01

Introduction. CS3026 Operating Systems Lecture 01 Introduction CS3026 Operating Systems Lecture 01 One or more CPUs Device controllers (I/O modules) Memory Bus Operating system? Computer System What is an Operating System An Operating System is a program

More information

Process Description and Control

Process Description and Control Process Description and Control B.Ramamurthy 1/28/02 B.Ramamurthy 1 Introduction The fundamental task of any operating system is process management. OS must allocate resources to processes, enable sharing

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2017 Lecture 10 Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 Chapter 6: CPU Scheduling Basic Concepts

More information

Chapter 14 Operating Systems

Chapter 14 Operating Systems Chapter 14 Operating Systems Ref Page Slide 1/54 Learning Objectives In this chapter you will learn about: Definition and need for operating system Main functions of an operating system Commonly used mechanisms

More information

Chapter 14 Operating Systems

Chapter 14 Operating Systems Chapter 14 Systems Ref Page Slide 1/54 Learning Objectives In this chapter you will learn about: Definition and need for operating Main functions of an operating Commonly used mechanisms for: Process management

More information

Process Description and Control. Chapter 3

Process Description and Control. Chapter 3 Process Description and Control 1 Chapter 3 2 Processes Working definition: An instance of a program Processes are among the most important abstractions in an OS all the running software on a computer,

More information

Today s Topics. u Thread implementation. l Non-preemptive versus preemptive threads. l Kernel vs. user threads

Today s Topics. u Thread implementation. l Non-preemptive versus preemptive threads. l Kernel vs. user threads Today s Topics COS 318: Operating Systems Implementing Threads u Thread implementation l Non-preemptive versus preemptive threads l Kernel vs. user threads Jaswinder Pal Singh and a Fabulous Course Staff

More information

CSC 453 Operating Systems

CSC 453 Operating Systems CSC 453 Operating Systems Lecture 3: Operating-System Structures Operating System Components Operating systems are large and complex - the only way to manage such a project is to divide it into smaller

More information

Lecture 4: Process Management

Lecture 4: Process Management Lecture 4: Process Management (Chapters 2-3) Process: execution context of running program. A process does not equal a program! Process is an instance of a program Many copies of same program can be running

More information

CS420: Operating Systems. OS Services & System Calls

CS420: Operating Systems. OS Services & System Calls OS Services & System Calls James Moscola Department of Engineering & Computer Science York College of Pennsylvania Based on Operating System Concepts, 9th Edition by Silberschatz, Galvin, Gagne Operating

More information

THE PROCESS ABSTRACTION. CS124 Operating Systems Winter , Lecture 7

THE PROCESS ABSTRACTION. CS124 Operating Systems Winter , Lecture 7 THE PROCESS ABSTRACTION CS124 Operating Systems Winter 2015-2016, Lecture 7 2 The Process Abstraction Most modern OSes include the notion of a process Term is short for a sequential process Frequently

More information

2 Processes. 2 Processes. 2 Processes. 2.1 The Process Model. 2.1 The Process Model PROCESSES OPERATING SYSTEMS

2 Processes. 2 Processes. 2 Processes. 2.1 The Process Model. 2.1 The Process Model PROCESSES OPERATING SYSTEMS OPERATING SYSTEMS PROCESSES 2 All modern computers often do several things at the same time. A modern operating system sees each software as a process. When a user PC is booted, many processes are secretly

More information

Inter-Process Communication and Synchronization of Processes, Threads and Tasks: Lesson-1: PROCESS

Inter-Process Communication and Synchronization of Processes, Threads and Tasks: Lesson-1: PROCESS Inter-Process Communication and Synchronization of Processes, Threads and Tasks: Lesson-1: PROCESS 1 Process Concepts 2 Process A process consists of executable program (codes), state of which is controlled

More information

Operating Systems Overview. Chapter 2

Operating Systems Overview. Chapter 2 Operating Systems Overview Chapter 2 Operating System A program that controls the execution of application programs An interface between the user and hardware Masks the details of the hardware Layers and

More information

OPERATING SYSTEM. Functions of Operating System:

OPERATING SYSTEM. Functions of Operating System: OPERATING SYSTEM Introduction: An operating system (commonly abbreviated to either OS or O/S) is an interface between hardware and user. OS is responsible for the management and coordination of activities

More information

2/14/2012. Using a layered approach, the operating system is divided into N levels or layers. Also view as a stack of services

2/14/2012. Using a layered approach, the operating system is divided into N levels or layers. Also view as a stack of services Rensselaer Polytechnic Institute CSC 432 Operating Systems David Goldschmidt, Ph.D. Using a layered approach, the operating system is divided into N levels or layers Layer 0 is the hardware Layer 1 is

More information

Part I Overview Chapter 1: Introduction

Part I Overview Chapter 1: Introduction Part I Overview Chapter 1: Introduction Fall 2010 1 What is an Operating System? A computer system can be roughly divided into the hardware, the operating system, the application i programs, and dthe users.

More information

CS 326: Operating Systems. CPU Scheduling. Lecture 6

CS 326: Operating Systems. CPU Scheduling. Lecture 6 CS 326: Operating Systems CPU Scheduling Lecture 6 Today s Schedule Agenda? Context Switches and Interrupts Basic Scheduling Algorithms Scheduling with I/O Symmetric multiprocessing 2/7/18 CS 326: Operating

More information

Motivation. Threads. Multithreaded Server Architecture. Thread of execution. Chapter 4

Motivation. Threads. Multithreaded Server Architecture. Thread of execution. Chapter 4 Motivation Threads Chapter 4 Most modern applications are multithreaded Threads run within application Multiple tasks with the application can be implemented by separate Update display Fetch data Spell

More information

Mon Sep 17, 2007 Lecture 3: Process Management

Mon Sep 17, 2007 Lecture 3: Process Management Mon Sep 17, 2007 Lecture 3: Process Management September 19, 2007 1 Review OS mediates between hardware and user software QUIZ: Q: Name three layers of a computer system where the OS is one of these layers.

More information

Processes, Context Switching, and Scheduling. Kevin Webb Swarthmore College January 30, 2018

Processes, Context Switching, and Scheduling. Kevin Webb Swarthmore College January 30, 2018 Processes, Context Switching, and Scheduling Kevin Webb Swarthmore College January 30, 2018 Today s Goals What is a process to the OS? What are a process s resources and how does it get them? In particular:

More information

Misc. Third Generation Batch Multiprogramming. Fourth Generation Time Sharing. Last Time Evolution of OSs

Misc. Third Generation Batch Multiprogramming. Fourth Generation Time Sharing. Last Time Evolution of OSs Third Generation Batch Multiprogramming Misc. Problem: but I/O still expensive; can happen in middle of job Idea: have a pool of ready jobs in memory, switch to one when another needs I/O When one job

More information

Operating Systems. Computer Science & Information Technology (CS) Rank under AIR 100

Operating Systems. Computer Science & Information Technology (CS) Rank under AIR 100 GATE- 2016-17 Postal Correspondence 1 Operating Systems Computer Science & Information Technology (CS) 20 Rank under AIR 100 Postal Correspondence Examination Oriented Theory, Practice Set Key concepts,

More information

Lecture 4: Mechanism of process execution. Mythili Vutukuru IIT Bombay

Lecture 4: Mechanism of process execution. Mythili Vutukuru IIT Bombay Lecture 4: Mechanism of process execution Mythili Vutukuru IIT Bombay Low-level mechanisms How does the OS run a process? How does it handle a system call? How does it context switch from one process to

More information

Major Requirements of an OS

Major Requirements of an OS Process CSCE 351: Operating System Kernels Major Requirements of an OS Interleave the execution of several processes to maximize processor utilization while providing reasonable response time Allocate

More information

Killing Zombies, Working, Sleeping, and Spawning Children

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

PROCESSES Gursharan Singh Tatla 24/01/2011

PROCESSES Gursharan Singh Tatla 24/01/2011 1 PROCESSES Gursharan Singh Tatla professorgstatla@gmail.com Process 2 A process is a set of sequential steps that are required to do a particular task. A process is an instance of a program in execution.

More information

OS lpr. www. nfsd gcc emacs ls 1/27/09. Process Management. CS 537 Lecture 3: Processes. Example OS in operation. Why Processes? Simplicity + Speed

OS lpr. www. nfsd gcc emacs ls 1/27/09. Process Management. CS 537 Lecture 3: Processes. Example OS in operation. Why Processes? Simplicity + Speed Process Management CS 537 Lecture 3: Processes Michael Swift This lecture begins a series of topics on processes, threads, and synchronization Today: processes and process management what are the OS units

More information

Operating Systems. Lecture Course in Autumn Term 2015 University of Birmingham. Eike Ritter. September 22, 2015

Operating Systems. Lecture Course in Autumn Term 2015 University of Birmingham. Eike Ritter. September 22, 2015 Lecture Course in Autumn Term 2015 University of Birmingham September 22, 2015 Course Details Overview Course Details What is an Operating System? OS Definition and Structure Lecture notes and resources:

More information

Chap 4, 5: Process. Dongkun Shin, SKKU

Chap 4, 5: Process. Dongkun Shin, SKKU Chap 4, 5: Process 1 Process Concept Job A bundle of program and data to be executed An entity before submission for execution Process (= running program) An entity that is registered to kernel for execution

More information

Operating System Review

Operating System Review COP 4225 Advanced Unix Programming Operating System Review Chi Zhang czhang@cs.fiu.edu 1 About the Course Prerequisite: COP 4610 Concepts and Principles Programming System Calls Advanced Topics Internals,

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2016 Lecture 2 Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 2 System I/O System I/O (Chap 13) Central

More information

o Reality The CPU switches between each process rapidly (multiprogramming) Only one program is active at a given time

o Reality The CPU switches between each process rapidly (multiprogramming) Only one program is active at a given time Introduction o Processes are a key concept in operating systems Abstraction of a running program Contains all information necessary to run o On modern systems, many processes are active at the same time

More information

Chapter 3: Processes

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

Lecture 3: Processes. CMPUT 379, Section A1, Winter 2014 January 13, 15 and 17

Lecture 3: Processes. CMPUT 379, Section A1, Winter 2014 January 13, 15 and 17 Lecture 3: Processes CMPUT 379, Section A1, Winter 2014 January 13, 15 and 17 Objectives Understand the notion of a process : a program in execution which forms the basis of all computation Understand

More information

CS30002: Operating Systems. Arobinda Gupta Spring 2017

CS30002: Operating Systems. Arobinda Gupta Spring 2017 CS30002: Operating Systems Arobinda Gupta Spring 2017 General Information Textbook: Operating System Concepts, 8 th or 9 th Ed, by Silberschatz, Galvin, and Gagne I will use materials from other books

More information

Lecture Topics. Announcements. Today: Uniprocessor Scheduling (Stallings, chapter ) Next: Advanced Scheduling (Stallings, chapter

Lecture Topics. Announcements. Today: Uniprocessor Scheduling (Stallings, chapter ) Next: Advanced Scheduling (Stallings, chapter Lecture Topics Today: Uniprocessor Scheduling (Stallings, chapter 9.1-9.3) Next: Advanced Scheduling (Stallings, chapter 10.1-10.4) 1 Announcements Self-Study Exercise #10 Project #8 (due 11/16) Project

More information

Unit 3 : Process Management

Unit 3 : Process Management Unit : Process Management Processes are the most widely used units of computation in programming and systems, although object and threads are becoming more prominent in contemporary systems. Process management

More information

Distributed Systems CSCI-B 534/ENGR E-510. Spring 2019 Instructor: Prateek Sharma

Distributed Systems CSCI-B 534/ENGR E-510. Spring 2019 Instructor: Prateek Sharma Distributed Systems CSCI-B 534/ENGR E-510 Spring 2019 Instructor: Prateek Sharma Two Generals Problem Two Roman Generals want to co-ordinate an attack on the enemy Both must attack simultaneously. Otherwise,

More information

EECS 482 Introduction to Operating Systems

EECS 482 Introduction to Operating Systems EECS 482 Introduction to Operating Systems Winter 2018 Baris Kasikci Slides by: Harsha V. Madhyastha Use of CVs in Project 1 Incorrect use of condition variables: while (cond) { } cv.signal() cv.wait()

More information

16 Sharing Main Memory Segmentation and Paging

16 Sharing Main Memory Segmentation and Paging Operating Systems 64 16 Sharing Main Memory Segmentation and Paging Readings for this topic: Anderson/Dahlin Chapter 8 9; Siberschatz/Galvin Chapter 8 9 Simple uniprogramming with a single segment per

More information

Processes and Threads

Processes and Threads OPERATING SYSTEMS CS3502 Spring 2018 Processes and Threads (Chapter 2) Processes Two important types of dynamic entities in a computer system are processes and threads. Dynamic entities only exist at execution

More information

15 Sharing Main Memory Segmentation and Paging

15 Sharing Main Memory Segmentation and Paging Operating Systems 58 15 Sharing Main Memory Segmentation and Paging Readings for this topic: Anderson/Dahlin Chapter 8 9; Siberschatz/Galvin Chapter 8 9 Simple uniprogramming with a single segment per

More information

Processes, PCB, Context Switch

Processes, PCB, Context Switch THE HONG KONG POLYTECHNIC UNIVERSITY Department of Electronic and Information Engineering EIE 272 CAOS Operating Systems Part II Processes, PCB, Context Switch Instructor Dr. M. Sakalli enmsaka@eie.polyu.edu.hk

More information

Learning Outcomes. Processes and Threads. Major Requirements of an Operating System. Processes and Threads

Learning Outcomes. Processes and Threads. Major Requirements of an Operating System. Processes and Threads Learning Outcomes Processes and Threads An understanding of fundamental concepts of processes and threads 1 2 Major Requirements of an Operating System Interleave the execution of several processes to

More information

Processes & Threads. Process Management. Managing Concurrency in Computer Systems. The Process. What s in a Process?

Processes & Threads. Process Management. Managing Concurrency in Computer Systems. The Process. What s in a Process? Process Management Processes & Threads Managing Concurrency in Computer Systems Process management deals with several issues: what are the units of execution how are those units of execution represented

More information

آنستیتیوت تکنالوجی معلوماتی و مخابراتی ICTI

آنستیتیوت تکنالوجی معلوماتی و مخابراتی ICTI آنستیتیوت تکنالوجی معلوماتی و مخابراتی ICTI Information Technology Department Operating System (IT413) 2017-1396 Chapter 4: Process & Thread Contents: What Is a Process? Relationships between Processes

More information

Announcements/Reminders

Announcements/Reminders Announcements/Reminders Class news group: rcfnews.cs.umass.edu::cmpsci.edlab.cs377 CMPSCI 377: Operating Systems Lecture 5, Page 1 Last Class: Processes A process is the unit of execution. Processes are

More information

Computer Fundamentals : Pradeep K. Sinha& Priti Sinha

Computer Fundamentals : Pradeep K. Sinha& Priti Sinha Computer Fundamentals Pradeep K. Sinha Priti Sinha Chapter 14 Operating Systems Slide 1/74 Learning Objectives In this chapter you will learn about: Definition and need for operating system Main functions

More information

Process- Concept &Process Scheduling OPERATING SYSTEMS

Process- Concept &Process Scheduling OPERATING SYSTEMS OPERATING SYSTEMS Prescribed Text Book Operating System Principles, Seventh Edition By Abraham Silberschatz, Peter Baer Galvin and Greg Gagne PROCESS MANAGEMENT Current day computer systems allow multiple

More information

Objectives and Functions Convenience. William Stallings Computer Organization and Architecture 7 th Edition. Efficiency

Objectives and Functions Convenience. William Stallings Computer Organization and Architecture 7 th Edition. Efficiency William Stallings Computer Organization and Architecture 7 th Edition Chapter 8 Operating System Support Objectives and Functions Convenience Making the computer easier to use Efficiency Allowing better

More information

Process Time. Steven M. Bellovin January 25,

Process Time. Steven M. Bellovin January 25, Multiprogramming Computers don t really run multiple programs simultaneously; it just appears that way Each process runs to completion, but intermixed with other processes Process 1 6 ticks Process 2 Process

More information

Operating System Support

Operating System Support Operating System Support Objectives and Functions Convenience Making the computer easier to use Efficiency Allowing better use of computer resources Layers and Views of a Computer System Operating System

More information

OS Main Goals. 10/24/2013 Operating Systems, Beykent University 1

OS Main Goals. 10/24/2013 Operating Systems, Beykent University 1 OS Main Goals Interleave the execution of the number of processes to maximize processor utilization Provide reasonable response time Allocate resources to processes Support inter-process communication

More information

Processes. Process Management Chapter 3. When does a process gets created? When does a process gets terminated?

Processes. Process Management Chapter 3. When does a process gets created? When does a process gets terminated? Processes Process Management Chapter 3 1 A process is a program in a state of execution (created but not terminated) Program is a passive entity one on your disk (survivor.class, kelly.out, ) Process is

More information

CSC369 Lecture 5. Larry Zhang, October 19,2015

CSC369 Lecture 5. Larry Zhang, October 19,2015 CSC369 Lecture 5 Larry Zhang, October 19,2015 1 Describe your A1 experience using the feedback form 2 Announcements Assignment 2 out later this week, due November 11 Midterm next week in lecture: 9:10AM

More information

Slide 6-1. Processes. Operating Systems: A Modern Perspective, Chapter 6. Copyright 2004 Pearson Education, Inc.

Slide 6-1. Processes. Operating Systems: A Modern Perspective, Chapter 6. Copyright 2004 Pearson Education, Inc. Slide 6-1 6 es Announcements Slide 6-2 Extension til Friday 11 am for HW #1 Previous lectures online Program Assignment #1 online later today, due 2 weeks from today Homework Set #2 online later today,

More information

CSE 153 Design of Operating Systems

CSE 153 Design of Operating Systems CSE 153 Design of Operating Systems Winter 19 Lecture 3: OS model and Architectural Support Last time/today Historic evolution of Operating Systems (and computing!) Today: We start our journey in exploring

More information

CS420: Operating Systems

CS420: Operating Systems OS Overview James Moscola Department of Engineering & Computer Science York College of Pennsylvania Contents of Introduction slides are courtesy of Silberschatz, Galvin, Gagne Operating System Structure

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Spring 2018 Lecture 2 Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 2 What is an Operating System? What is

More information

Computer-System Architecture (cont.) Symmetrically Constructed Clusters (cont.) Advantages: 1. Greater computational power by running applications

Computer-System Architecture (cont.) Symmetrically Constructed Clusters (cont.) Advantages: 1. Greater computational power by running applications Computer-System Architecture (cont.) Symmetrically Constructed Clusters (cont.) Advantages: 1. Greater computational power by running applications concurrently on all computers in the cluster. Disadvantages:

More information

Chapter 3: Processes. Operating System Concepts 9 th Edit9on

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

Today s Topics. u Thread implementation. l Non-preemptive versus preemptive threads. l Kernel vs. user threads

Today s Topics. u Thread implementation. l Non-preemptive versus preemptive threads. l Kernel vs. user threads Today s Topics COS 318: Operating Systems Implementing Threads u Thread implementation l Non-preemptive versus preemptive threads l Kernel vs. user threads Jaswinder Pal Singh Computer Science Department

More information

Subject Name:Operating system. Subject Code:10EC35. Prepared By:Remya Ramesan and Kala H.S. Department:ECE. Date:

Subject Name:Operating system. Subject Code:10EC35. Prepared By:Remya Ramesan and Kala H.S. Department:ECE. Date: Subject Name:Operating system Subject Code:10EC35 Prepared By:Remya Ramesan and Kala H.S. Department:ECE Date:24-02-2015 UNIT 1 INTRODUCTION AND OVERVIEW OF OPERATING SYSTEM Operating system, Goals of

More information

EECS 482 Introduction to Operating Systems

EECS 482 Introduction to Operating Systems EECS 482 Introduction to Operating Systems Winter 2018 Harsha V. Madhyastha Monitors vs. Semaphores Monitors: Custom user-defined conditions Developer must control access to variables Semaphores: Access

More information

Operating Systems Design Fall 2010 Exam 1 Review. Paul Krzyzanowski

Operating Systems Design Fall 2010 Exam 1 Review. Paul Krzyzanowski Operating Systems Design Fall 2010 Exam 1 Review Paul Krzyzanowski pxk@cs.rutgers.edu 1 Question 1 To a programmer, a system call looks just like a function call. Explain the difference in the underlying

More information

Multiprogramming. Evolution of OS. Today. Comp 104: Operating Systems Concepts 28/01/2013. Processes Management Scheduling & Resource Allocation

Multiprogramming. Evolution of OS. Today. Comp 104: Operating Systems Concepts 28/01/2013. Processes Management Scheduling & Resource Allocation Comp 104: Operating Systems Concepts Management Scheduling & Resource Allocation Today OS evolution Introduction to processes OS structure 1 2 Evolution of OS Largely driven by desire to do something useful

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2017 Lecture 9 Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 CPU Scheduling: Objectives CPU scheduling,

More information

CSCI 447 Operating Systems Filip Jagodzinski

CSCI 447 Operating Systems Filip Jagodzinski Filip Jagodzinski Announcements HW3 Due to our gitlab being down, the deadline for the coding portion of HW3 has been extended to Tuesday I will let everyone know tomorrow (Tuesday) if you should submit

More information

Operating System Services

Operating System Services CSE325 Principles of Operating Systems Operating System Services David Duggan dduggan@sandia.gov January 22, 2013 Reading Assignment 3 Chapter 3, due 01/29 1/23/13 CSE325 - OS Services 2 What Categories

More information

Processes and Threads

Processes and Threads Processes and Threads 1 Learning Outcomes An understanding of fundamental concepts of processes and threads 2 Major Requirements of an Operating System Interleave the execution of several processes to

More information

OPERATING SYSTEMS. Systems with Multi-programming. CS 3502 Spring Chapter 4

OPERATING SYSTEMS. Systems with Multi-programming. CS 3502 Spring Chapter 4 OPERATING SYSTEMS CS 3502 Spring 2018 Systems with Multi-programming Chapter 4 Multiprogramming - Review An operating system can support several processes in memory. While one process receives service

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Spring 2019 Lecture 8 Scheduling Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 FAQ POSIX: Portable Operating

More information

CSE 120 Principles of Operating Systems

CSE 120 Principles of Operating Systems CSE 120 Principles of Operating Systems Fall 2016 Lecture 2: Architectural Support for Operating Systems Geoffrey M. Voelker Administrivia Project 0 Due 10/4, done individually Homework #1 Due 10/6 Project

More information

Operating Systems Process description and control

Operating Systems Process description and control Operating Systems Process description and control Mathieu Delalandre (PhD) François-Rabelais University, Tours city, France mathieu.delalandre@univ-tours.fr Process description and control (1) Main memory

More information

Introduction to Operating Systems (Part II)

Introduction to Operating Systems (Part II) Introduction to Operating Systems (Part II) Amir H. Payberah amir@sics.se Amirkabir University of Technology (Tehran Polytechnic) Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/24 1 / 45 Computer

More information

Operating Systems (ECS 150) Spring 2011

Operating Systems (ECS 150) Spring 2011 Operating Systems (ECS 150) Spring 2011 Raju Pandey Department of Computer Science University of California, Davis CA 95616 pandey@cs.ucdavis.edu http://www.cs.ucdavis.edu/~pandey Course Objectives After

More information

Introduction to the Process David E. Culler CS162 Operating Systems and Systems Programming Lecture 2 Sept 3, 2014

Introduction to the Process David E. Culler CS162 Operating Systems and Systems Programming Lecture 2 Sept 3, 2014 Introduction to the Process David E. Culler CS162 Operating Systems and Systems Programming Lecture 2 Sept 3, 2014 Reading: A&D CH2.1-7 HW: 0 out, due 9/8 Recall: What is an operating system? Special layer

More information

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on Chapter 2: Operating-System Structures Operating System Concepts 9 th Edit9on Silberschatz, Galvin and Gagne 2013 Objectives To describe the services an operating system provides to users, processes, and

More information

Lecture 4: Threads; weaving control flow

Lecture 4: Threads; weaving control flow Lecture 4: Threads; weaving control flow CSE 120: Principles of Operating Systems Alex C. Snoeren HW 1 Due NOW Announcements Homework #1 due now Project 0 due tonight Project groups Please send project

More information

Preemptive Scheduling

Preemptive Scheduling Preemptive Scheduling Lecture 18 18-1 Big Picture Methods learned so far We ve been using a foreground/background system Interrupt service routines run in foreground Task code runs in background Limitations

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2016 Lecture 33 Virtual Memory Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 FAQ How does the virtual

More information

CS 31: Intro to Systems Processes. Kevin Webb Swarthmore College March 31, 2016

CS 31: Intro to Systems Processes. Kevin Webb Swarthmore College March 31, 2016 CS 31: Intro to Systems Processes Kevin Webb Swarthmore College March 31, 2016 Reading Quiz Anatomy of a Process Abstraction of a running program a dynamic program in execution OS keeps track of process

More information

CS 326: Operating Systems. Process Execution. Lecture 5

CS 326: Operating Systems. Process Execution. Lecture 5 CS 326: Operating Systems Process Execution Lecture 5 Today s Schedule Process Creation Threads Limited Direct Execution Basic Scheduling 2/5/18 CS 326: Operating Systems 2 Today s Schedule Process Creation

More information

OS: An Overview. ICS332 Operating Systems

OS: An Overview. ICS332 Operating Systems OS: An Overview ICS332 Operating Systems Why are we studying this? After all, you probably will not develop an OS Important to understand what you use: Develop better (apps); What can and cannot be done;

More information

Announcements. Operating Systems. Autumn CS4023

Announcements. Operating Systems. Autumn CS4023 Operating Systems Autumn 2017-2018 Outline 1 Announcements 2 Announcements Week04 lab strace() program to watch system calls Outline Announcements 1 Announcements 2 Definition of Process Process a program

More information