Mid Term review

Post on 12-Feb-2016

36 views 0 download

Tags:

description

Mid Term review. CSC345. What is an Operating System? Various systems and their pros and cons E.g. multi-tasking vs. Batch OS definitions Resource allocator Control program Kernel. Abstract View of System Components. Important OS Features/services. Process Management (CPU scheduling) - PowerPoint PPT Presentation

transcript

Mid Term review

CSC345

• What is an Operating System?• Various systems and their pros and cons

– E.g. multi-tasking vs. Batch• OS definitions

– Resource allocator– Control program– Kernel

Abstract View of System Components

Important OS Features/services

• Process Management (CPU scheduling)• Main Memory Management• File Management• I/O System Management• Secondary Management• Networking• Protection System• Command-Interpreter System

OS Control Structure

MemoryI/O

FileProcesses

Memory Tables

I/O Tables

File Tables

Process 1Process 2

… Process N

Primary Table

Process Image

User dataUser programSystem stack

PCB

Process State Diagram

Ready

BlockedSuspend

New Running

Exit

release

dispatch

time-out

eventactivate

suspend

admit

wait

• System call vs. System program

Chapter 2: Computer-System Structures

• Computer System Operation• I/O Structure • Storage Structure• Storage Hierarchy• Hardware Protection• General System Architecture

Two I/O Methods

Synchronous Asynchronous

Dual mode operation & why ?

Use of A System Call to Perform I/O

Use of A Base and Limit Register

Hardware Address Protection

OS structure & Layered Approach

• The operating system is divided into a number of layers (levels), each built on top of lower layers. The bottom layer (layer 0), is the hardware; the highest (layer N) is the user interface.

• With modularity, layers are selected such that each uses functions (operations) and services of only lower-level layers.

UNIX System Structure

Process Management

• Process vs. Thread creation• Process scheduling• Process Termination• Unix process creation fork() & exec()

– Identify parent vs. child

• How to find out process infomation

Process Control Block (PCB)

Process vs. Thread creation

Multithreading Models

• Many-to-One

• One-to-One

• Many-to-Many----------------------------------------------• Pthread, JAVA thread, Kernel vs. User

thread

CPU Switch From Process to Process

Process Scheduling Queues• Job queue – set of all processes in the system.• Ready queue – set of all processes residing in main memory,

ready and waiting to execute.• Device queues – set of processes waiting for an I/O device.• Process migration between the various queues.

Representation of Process Scheduling

Schedulers

• Long-term scheduler (or job scheduler) – selects which processes should be brought into the ready queue.

• Short-term scheduler (or CPU scheduler) – selects which process should be executed next and allocates CPU.

• Midterm scheduler

Addition of Medium Term Scheduling

Context Switch• When CPU switches to another process, the system must

save the state of the old process and load the saved state for the new process.

• Context-switch time is overhead; the system does no useful work while switching.

• Time dependent on hardware support.

User program & Kernel interface

Note: This picture is excerpted from Write a Linux Hardware Device Driver, Andrew O’Shauqhnessy, Unix world

Two I/O Methods

Synchronous Asynchronous

Pooling or interrupt