Chapter 5 Operating System Support. Outline Operating system - Objective and function - types of OS Scheduling - Long term scheduling - Medium term scheduling.

Slides:



Advertisements
Similar presentations
Part IV: Memory Management
Advertisements

Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings.
Lecture 1: History of Operating System
Dr Mohamed Menacer College of Computer Science and Engineering Taibah University CS-334: Computer.
Memory Design Example. Selecting Memory Chip Selecting SRAM Memory Chip.
Operating System Support Focus on Architecture
Operating System Support Focus on Architecture
Memory Management 2010.
Chapter 8 Operating System Support (Continued)
Chapter 8 Operating System Support
Memory Management 1 CS502 Spring 2006 Memory Management CS-502 Spring 2006.
1 Chapter 8 Virtual Memory Virtual memory is a storage allocation scheme in which secondary memory can be addressed as though it were part of main memory.
CS-3013 & CS-502, Summer 2006 Memory Management1 CS-3013 & CS-502 Summer 2006.
Chapter 1 and 2 Computer System and Operating System Overview
Chapter 9 Virtual Memory Produced by Lemlem Kebede Monday, July 16, 2001.
Computer Organization and Architecture
Virtual Memory I Chapter 8.
 2004 Deitel & Associates, Inc. All rights reserved. Chapter 9 – Real Memory Organization and Management Outline 9.1 Introduction 9.2Memory Organization.
CS364 CH08 Operating System Support TECH Computer Science Operating System Overview Scheduling Memory Management Pentium II and PowerPC Memory Management.
Layers and Views of a Computer System Operating System Services Program creation Program execution Access to I/O devices Controlled access to files System.
Computer Organization and Architecture Operating System Support Chapter 8.
Operating System Overview
Operating Systems.
Operating Systems.  Operating System Support Operating System Support  OS As User/Computer Interface OS As User/Computer Interface  OS As Resource.
Review of Memory Management, Virtual Memory CS448.
SOCSAMS e-learning Dept. of Computer Applications, MES College Marampally MEMORYMANAGEMNT.
Memory Management – Page 1 of 49CSCI 4717 – Computer Architecture CSCI 4717/5717 Computer Architecture Topic: Memory Management Reading: Stallings, Sections.
Operating Systems Chapter 8
Chapter 7 Memory Management Seventh Edition William Stallings Operating Systems: Internals and Design Principles.
Recall: Three I/O Methods Synchronous: Wait for I/O operation to complete. Asynchronous: Post I/O request and switch to other work. DMA (Direct Memory.
Cosc 2150: Computer Organization Chapter 6, Part 2 Virtual Memory.
CIS250 OPERATING SYSTEMS Memory Management Since we share memory, we need to manage it Memory manager only sees the address A program counter value indicates.
Memory Management – Page 1 of 49CSCI 4717 – Computer Architecture Memory Management Uni-program – memory split into two parts –One for Operating System.
Memory Management. Roadmap Basic requirements of Memory Management Memory Partitioning Basic blocks of memory management –Paging –Segmentation.
Chapter 9 Operating System Support. Outline Operating system - Objective and function - types of OS Scheduling - Long term scheduling - Medium term scheduling.
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
Chapter 4 Memory Management Virtual Memory.
Chapter 2 Processes and Threads Introduction 2.2 Processes A Process is the execution of a Program More specifically… – A process is a program.
Chapter 11: Operating System Support Dr Mohamed Menacer Taibah University
Informationsteknologi Wednesday, October 3, 2007Computer Systems/Operating Systems - Class 121 Today’s class Memory management Virtual memory.
Chapter 7 Memory Management Eighth Edition William Stallings Operating Systems: Internals and Design Principles.
Memory Management – Page 1CSCI 4717 – Computer Architecture CSCI 4717/5717 Computer Architecture Topic: Memory Management *** Modified – look for Reading:
 2004 Deitel & Associates, Inc. All rights reserved. Chapter 9 – Real Memory Organization and Management Outline 9.1 Introduction 9.2Memory Organization.
Advanced Operating Systems CS6025 Spring 2016 Processes and Threads (Chapter 2)
Computer Architecture Chapter (8): Operating System Support
Operating System Overview
Memory Management.
Chapter 2 Memory and process management
Operating Systems (CS 340 D)
Chapter 8 Operating System Support
Chapter 9 – Real Memory Organization and Management
William Stallings Computer Organization and Architecture
Operating Systems (CS 340 D)
William Stallings Computer Organization and Architecture 8th Edition
Operating Systems.
Lecture 3: Main Memory.
Computer Architecture
CSCI 4717/5717 Computer Architecture
William Stallings Computer Organization and Architecture 8th Edition
Chapter 2 Operating System Overview
COMP755 Advanced Operating Systems
Operating Systems: Internals and Design Principles, 6/E
Presentation transcript:

Chapter 5 Operating System Support

Outline Operating system - Objective and function - types of OS Scheduling - Long term scheduling - Medium term scheduling - Short term scheduling Memory management - swapping - partitioning - paging - virtual memory - translation lookaside - segmentation

Objectives and Functions “The operating system is a program that manages the computer’s resources, provides services for programmers, and schedules the execution of other program” Convenience —Making the computer easier to use Efficiency —Allowing better use of computer resources

Layers and Views of a Computer System

Operating System Services Program creation: The OS provides a variety of facilities and services, such as editors and debuggers, to assist the programmer in creating programs. Typically, these services are in the form of utility programs that are not actually part of the OS but are accessible through the OS. Program execution: A number of tasks need to be performed to execute a program. Instruction and data must be loaded into main memory, I/O devices and file must be initialized, and other resources must be prepared. OS handle all of this for the user Access to I/O devices: Each I/O device requires its own specific set of instructions or control signals for operation. The OS takes care of the details so that the programmer can think in terms of simple reads and writes. Controlled access to files: In the case of files, control must include an understanding of not only the nature of the I/O device (disk drive, tape drive) but also the file format on the storage medium. In the case of a system with multiple simultaneous user, the OS can provide protection mechanisms to control access to the files.

Cont.. System access: In the case of shared or public system, the operating system controls access to the system as a whole and to specify system resources. The access function must provide protection of resources and data from unauthorized users and must resolve conflicts for resource contention. Error detection and response: OS must response to a variety of errors (internal or external hardware) and clears the error condition with the least impact on running applications. Accounting: OS collects usage statistics for various resources and monitor performance parameters such as response time.

O/S as a Resource Manager

Types of Operating System Interactive: the user interacts directly with the computer, usually through a keyboard/display terminal, to request the execution of a job or to perform a transaction. Batch: user’s program is batched together with programs from other users and submitted by a computer operator. Single program (Uni-programming): works only one program at a time. Multi-programming (Multi-tasking): with multiprogramming, the attempt is made to keep the processor as busy as possible, by having it work on more than one program at a time. Several programs are loaded into memory, and the processor switches rapidly among them

Early Systems Earliest computer from the late 1940s to mid 1950s No Operating System Programs interact directly with hardware Two main problems: —Scheduling —Setup time

Simple Batch Systems Resident Monitor program: user no longer has direct access to the processor. Users submit jobs to operator Operator batches jobs Monitor controls sequence of events to process batch When one job is finished, control returns to Monitor which reads next job Monitor handles scheduling

Memory Layout for Resident Monitor

Desirable Hardware Features Memory protection —To protect the Monitor Timer —To prevent a job monopolizing the system Privileged instructions —Only executed by Monitor —e.g. I/O Interrupts —Allows for relinquishing and regaining control

Multi-programmed Batch Systems I/O devices very slow When one program is waiting for I/O, another can use the CPU

Single Program

Multi-Programming with Two Programs

Multi-Programming with Three Programs

Utilization

Time Sharing Systems Allow users to interact directly with the computer Multi-programming allows a number of users to interact with the computer

Scheduling Key to multi-programming Long term Medium term Short term I/O

Long Term Scheduling Determines which programs are submitted for processing i.e. controls the degree of multi- programming Once submitted, a job becomes a process for the short term scheduler (or it becomes a swapped out job for the medium term scheduler)

Medium Term Scheduling Part of the swapping function (later…) Usually based on the need to manage multi-programming If no virtual memory, memory management is also an issue

Short Term Scheduler Dispatcher Fine grained decisions of which job to execute next i.e. which job actually gets to use the processor in the next time slot

Process Control Block Identifier State Priority Program counter Memory pointers Context data I/O status Accounting information

PCB Diagram

Scheduling Example

Key Elements of O/S

Process Scheduling

Memory Management Uni-program: main memory is divided into two parts. One part for the operating system and one part for the program currently being executed. Multiprogramming: —“User” part of memory is sub-divided and shared among active processes. The task of subdivision is carried out dynamically by the operating system and is known as memory management.

Swapping Problem: I/O is so slow compared with CPU that even in multi-programming system, CPU can be idle most of the time Solutions: —Increase main memory –Expensive –Leads to larger programs —Swapping

What is Swapping? Long term queue of processes stored on disk Processes “swapped” in as space becomes available As a process completes it is moved out of main memory If none of the processes in memory are ready (i.e. all I/O blocked) —Swap out a blocked process to intermediate queue —Swap in a ready process or a new process —But swapping is an I/O process…

Use of Swapping

Partitioning Splitting memory into sections to allocate to processes (including Operating System) Fixed-sized partitions —May not be equal size —Process is fitted into smallest hole that will take it (best fit) —Some wasted memory —Leads to variable sized partitions

Fixed Partitioning

Variable Sized Partitions (1) Allocate exactly the required memory to a process This leads to a hole at the end of memory, too small to use —Only one small hole - less waste When all processes are blocked, swap out a process and bring in another New process may be smaller than swapped out process Another hole

Variable Sized Partitions (2) Eventually have lots of holes (fragmentation) Solutions: —Coalesce - Join adjacent holes into one large hole —Compaction - From time to time go through memory and move all hole into one free block (c.f. disk de-fragmentation)

Effect of Dynamic Partitioning

Relocation No guarantee that process will load into the same place in memory Instructions contain addresses —Locations of data —Addresses for instructions (branching) Logical address - relative to beginning of program Physical address - actual location in memory (this time) Automatic conversion using base address

Paging Split memory into equal sized, small chunks -page frames Split programs (processes) into equal sized small chunks - pages Allocate the required number page frames to a process Operating System maintains list of free frames A process does not require contiguous page frames Use page table to keep track

Allocation of Free Frames

Logical and Physical Addresses - Paging

Virtual Memory Demand paging —Do not require all pages of a process in memory —Bring in pages as required Page fault —Required page is not in memory —Operating System must swap in required page —May need to swap out a page to make space —Select page to throw out based on recent history

Thrashing Too many processes in too little memory Operating System spends all its time swapping Little or no real work is done Disk light is on all the time Solutions —Good page replacement algorithms —Reduce number of processes running —Fit more memory

Bonus We do not need all of a process in memory for it to run We can swap in pages as required So - we can now run processes that are bigger than total memory available! Main memory is called real memory User/programmer sees much bigger memory - virtual memory

Inverted Page Table Structure

Translation Lookaside Buffer Every virtual memory reference causes two physical memory access —Fetch page table entry —Fetch data Use special cache for page table —TLB

TLB Operation

TLB and Cache Operation

Segmentation Paging is not (usually) visible to the programmer Segmentation is visible to the programmer Usually different segments allocated to program and data May be a number of program and data segments