CSCI 447 Operating Systems Filip Jagodzinski
|
|
- Drusilla Cook
- 5 years ago
- Views:
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
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 informationIntroduction 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 informationCPSC 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 informationProcesses. 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 informationProcess. 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 informationAnnouncement. 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 informationOPERATING 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 informationAnnouncements. 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 informationCSCI 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 informationComputer 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 information1 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 informationOperating 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 informationCSC 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 informationFrequently 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 informationIntroduction. 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 informationProcess 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 informationCS370 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 informationChapter 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 informationChapter 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 informationProcess 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 informationToday 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 informationCSC 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 informationLecture 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 informationCS420: 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 informationTHE 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 information2 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 informationInter-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 informationOperating 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 informationOPERATING 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 information2/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 informationPart 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 informationCS 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 informationMotivation. 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 informationMon 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 informationProcesses, 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 informationMisc. 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 informationOperating 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 informationLecture 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 informationMajor 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 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 informationPROCESSES 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 informationOS 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 informationOperating 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 informationChap 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 informationOperating 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 informationCS370 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 informationo 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 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 informationLecture 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 informationCS30002: 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 informationLecture 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 informationUnit 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 informationDistributed 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 informationEECS 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 information16 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 informationProcesses 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 information15 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 informationProcesses, 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 informationLearning 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 informationProcesses & 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 Information Technology Department Operating System (IT413) 2017-1396 Chapter 4: Process & Thread Contents: What Is a Process? Relationships between Processes
More informationAnnouncements/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 informationComputer 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 informationProcess- 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 informationObjectives 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 informationProcess 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 informationOperating 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 informationOS 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 informationProcesses. 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 informationCSC369 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 informationSlide 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 informationCSE 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 informationCS420: 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 informationCS370 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 informationComputer-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 informationChapter 3: Processes. Operating System Concepts 9 th Edit9on
Chapter 3: Processes Operating System Concepts 9 th Edit9on Silberschatz, Galvin and Gagne 2013 Chapter 3: Processes 1. Process Concept 2. Process Scheduling 3. Operations on Processes 4. Interprocess
More informationToday 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 informationSubject 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 informationEECS 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 informationOperating 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 informationMultiprogramming. 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 informationCS370 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 informationCSCI 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 informationOperating 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 informationProcesses 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 informationOPERATING 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 informationCS370 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 informationCSE 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 informationOperating 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 informationIntroduction 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 informationOperating 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 informationIntroduction 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 informationChapter 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 informationLecture 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 informationPreemptive 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 informationCS370 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 informationCS 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 informationCS 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 informationOS: 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 informationAnnouncements. 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