Mid Term review

27
Mid Term review CSC345

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 of Mid Term review

Page 1: Mid Term review

Mid Term review

CSC345

Page 2: Mid Term review

• 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

Page 3: Mid Term review

Abstract View of System Components

Page 4: Mid Term review

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

Page 5: Mid Term review

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

Page 6: Mid Term review

Process State Diagram

Ready

BlockedSuspend

New Running

Exit

release

dispatch

time-out

eventactivate

suspend

admit

wait

Page 7: Mid Term review

• System call vs. System program

Page 8: Mid Term review

Chapter 2: Computer-System Structures

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

Page 9: Mid Term review

Two I/O Methods

Synchronous Asynchronous

Page 10: Mid Term review

Dual mode operation & why ?

Page 11: Mid Term review

Use of A System Call to Perform I/O

Page 12: Mid Term review

Use of A Base and Limit Register

Page 13: Mid Term review

Hardware Address Protection

Page 14: Mid Term review

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.

Page 15: Mid Term review

UNIX System Structure

Page 16: Mid Term review

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

Page 17: Mid Term review

Process Control Block (PCB)

Page 18: Mid Term review

Process vs. Thread creation

Page 19: Mid Term review

Multithreading Models

• Many-to-One

• One-to-One

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

thread

Page 20: Mid Term review

CPU Switch From Process to Process

Page 21: Mid Term review

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.

Page 22: Mid Term review

Representation of Process Scheduling

Page 23: Mid Term review

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

Page 24: Mid Term review

Addition of Medium Term Scheduling

Page 25: Mid Term review

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.

Page 26: Mid Term review

User program & Kernel interface

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

Page 27: Mid Term review

Two I/O Methods

Synchronous Asynchronous

Pooling or interrupt