34
Slide 1- 1 Computer Systems II Gordon College Operating System Overview

Slide 1-1 Computer Systems II Gordon College Operating System Overview

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Slide 1-1 Computer Systems II Gordon College Operating System Overview

Slide 1-1

Computer Systems IIGordon College

Operating System Overview

Page 2: Slide 1-1 Computer Systems II Gordon College Operating System Overview

Slide 1-2

Class Intro

• Operating System Class

• Two Directions:– Practical

• Linux+ Guide to Linux Certification and Lab Manual• Lab Experience

– Theoretical• Operating Systems (3rd Edition Gary Nutt)• Lecture and Projects

Page 3: Slide 1-1 Computer Systems II Gordon College Operating System Overview

Slide 1-3

Why Study Operating Systems?

• Understand the model of operation– Easier to see how to use the system– Enables you to write efficient code

• Learn to design an OS

• Even so, OS is pure overhead of real work

• Application programs have the real value to person who buys the computer

Page 4: Slide 1-1 Computer Systems II Gordon College Operating System Overview

Slide 1-4

Perspectives of the Computer

ApplicationSoftware

SystemSoftware

Hardware

(a) End UserView

(b) ApplicationProgrammer

View

(c) OS ProgrammerView

ApplicationSoftware

ApplicationSoftware

SystemSoftware

SystemSoftware

Hardware Hardware

cutsave

printsend

malloc()fork()

open()read-disk

track-mouse

start-printer

Page 5: Slide 1-1 Computer Systems II Gordon College Operating System Overview

Slide 1-5

System Software

•Independent of individual applications, but common to all of them

•Examples

–C library functions

–A window system

–A database management system

–Resource management functions

–The OS

Page 6: Slide 1-1 Computer Systems II Gordon College Operating System Overview

Slide 1-6

Using the System Software

LoaderLoader

OSOSDatabaseManagement

System

DatabaseManagement

System

WindowSystem

WindowSystem

ApplicationProgrammer

Sys

tem

Sof

twar

e

LibrariesLibraries

CompilerCompiler

Hardware

CommandLine

Interpreter

CommandLine

Interpreter

LibrariesLibrariesLibrariesLibraries

Software APISoftware API

Page 7: Slide 1-1 Computer Systems II Gordon College Operating System Overview

Slide 1-7Application Software, System Software, and the OS

Hardware Resources

Trusted OS

(Abstract Resources)

Software-Hardware Interface

OS Interface

System Software

(More Abstract Resources)

API

Application Software

Human-Computer Interface

Page 8: Slide 1-1 Computer Systems II Gordon College Operating System Overview

Slide 1-8

The OS as Resource Manager

•Process: An executing program

•Resource: Anything that is needed for a process to run

–Memory

–Space on a disk

–The CPU

•“An OS creates resource abstractions”

•“An OS manages resource sharing”

Page 9: Slide 1-1 Computer Systems II Gordon College Operating System Overview

Slide 1-9

Resource Abstraction

load(block, length, device);seek(device, 236);out(device, 9)

write(char *block, int len, int device,int track, int sector) {

... load(block, length, device); seek(device, 236); out(device, 9); ...}

write(char *block, int len, int device,int addr);

fprintf(fileID, “%d”, datum);

Page 10: Slide 1-1 Computer Systems II Gordon College Operating System Overview

Slide 1-10Disk Abstractions

load(…);seek(…);out(…);

void write() { load(…); seek(…) out(…)}

int fprintf(…) { ... write(…) …}

(a) Direct Control (b) write() abstraction

(c) fprintf() abstraction

ApplicationProgrammer

OS Programmer

Page 11: Slide 1-1 Computer Systems II Gordon College Operating System Overview

Slide 1-11

Abstract Resources

Hardware Resources

OS

OS Resources (OS Interface)

Middleware

Abstract Resources (API)

Application

User Interface

Page 12: Slide 1-1 Computer Systems II Gordon College Operating System Overview

Slide 1-12

Abstract Machines

ProgramProgram ResultResult

ProgramProgram ResultResult

ProgramProgram ResultResult

… …

Idea

Idea

Idea

PhysicalMachine

AbstractMachines

Page 13: Slide 1-1 Computer Systems II Gordon College Operating System Overview

Slide 1-13

Resource Sharing

• Space- vs time-multiplexed sharing

• To control sharing, must be able to isolate resources

• OS usually provides mechanism to isolate, then selectively allows sharing– How to isolate resources– How to be sure that sharing is acceptable

• Concurrency

Page 14: Slide 1-1 Computer Systems II Gordon College Operating System Overview

Slide 1-14The OS as a Conductor

The OS coordinates the sharing and use of all the components in the computer

Page 15: Slide 1-1 Computer Systems II Gordon College Operating System Overview

Slide 1-15Multiprogramming

AbstractMachine Pi

OS Resource Sharing

Pi MemoryPi Memory

Pk MemoryPk Memory

Pj MemoryPj Memory

…Time-multiplexed Physical Processor

AbstractMachine Pj

AbstractMachine Pk

Space-multiplexed Physical Memory

Page 16: Slide 1-1 Computer Systems II Gordon College Operating System Overview

Slide 1-16

Multiprogramming(2)• Technique for sharing the CPU among

runnable processes– Process may be blocked on I/O– Process may be blocked waiting for other

resource, including the CPU

• While one process is blocked, another might be able to run

• Multiprogramming OS accomplishes CPU sharing “automatically” – scheduling

• Reduces time to run all processes

Page 17: Slide 1-1 Computer Systems II Gordon College Operating System Overview

Slide 1-17

How Multiprogramming Works

Process 1

Process 2

Process 3

Process 4

Space-multiplexed Memory

Time-multiplexed CPU

Page 18: Slide 1-1 Computer Systems II Gordon College Operating System Overview

Slide 1-18Speeding Up the Car Wash

VacuumInside

Wash Dry

VacuumInside

Wash Dry

(a) The Sequential Car Wash

(b) The Parallel Car Wash

Page 19: Slide 1-1 Computer Systems II Gordon College Operating System Overview

Slide 1-19

Multiprogramming Performance

Time

Using the processor

I/O operation

0 ti

Pi’s Total Execution Time, ti

(a) Pi’s Use of Machine Resources

Time

P1

P2

Pi

PN

(a) All Processes’ Use of Machine Resources

Page 20: Slide 1-1 Computer Systems II Gordon College Operating System Overview

Slide 1-20

OS Strategies

• Batch processing

• Timesharing

• Personal computer & workstations

• Process control & real-time

• Network

• Distributed

• Small computers

Page 21: Slide 1-1 Computer Systems II Gordon College Operating System Overview

Slide 1-21

Batch Processing

Job 19

Input Spooler Output Spooler

Job 3

Input Spool Output Spool

Page 22: Slide 1-1 Computer Systems II Gordon College Operating System Overview

Slide 1-22Batch Processing(2)

• Uses multiprogramming

• Job (file of OS commands) prepared offline

• Batch of jobs given to OS at one time

• OS processes jobs one-after-the-other

• No human-computer interaction

• OS optimizes resource utilization

• Batch processing (as an option) still used today

Page 23: Slide 1-1 Computer Systems II Gordon College Operating System Overview

Slide 1-23

A Shell Script Batch File

cc -g -c menu.ccc -g -o driver driver.c menu.odriver < test_data > test_outlpr -PthePrinter test_outtar cvf driver_test.tar menu.c driver.c test_data test_outuuencode driver_test.tar driver_test.tar >driver_test.encode

Page 24: Slide 1-1 Computer Systems II Gordon College Operating System Overview

Slide 1-24

Timesharing Systems

PhysicalMachine

AbstractMachines

Command

Command

Command

Result

Result

Result

Page 25: Slide 1-1 Computer Systems II Gordon College Operating System Overview

Slide 1-25Timesharing Systems(2)

• Uses multiprogramming

• Support interactive computing model (Illusion of multiple consoles)

• Different scheduling & memory allocation strategies than batch

• Tends to propagate processes

• Considerable attention to resource isolation (security & protection)

• Tend to optimize response time

Computer Research Corp ‘67

Page 26: Slide 1-1 Computer Systems II Gordon College Operating System Overview

Slide 1-26

Personal Computers

• CPU sharing among one person’s processes• Power of computing for personal tasks

– Graphics

– Multimedia

• Trend toward very small OS• OS focus on resource abstraction• Rapidly evolved to “personal multitasking”

systems

Page 27: Slide 1-1 Computer Systems II Gordon College Operating System Overview

Slide 1-27

Process Control & Real-Time

• Computer is dedicated to a single purpose

• Classic embedded system

• Must respond to external stimuli in fixed time

• Continuous media popularizing real-time techniques

• An area of growing interest

Page 28: Slide 1-1 Computer Systems II Gordon College Operating System Overview

Slide 1-28

Networks

• LAN (Local Area Network) evolution• 3Mbps (1975) 10 Mbps (1980) 100 Mbps

(1990) 1 Gbps (2000)• High speed communication means new way to do

computing– Shared files– Shared memory– Shared procedures/objects– ???

Page 29: Slide 1-1 Computer Systems II Gordon College Operating System Overview

Slide 1-29

Distributed OS

• Wave of the future

Distributed OS

App App

App

App

AppApp

Multiple Computers connected by a Network

Page 30: Slide 1-1 Computer Systems II Gordon College Operating System Overview

Slide 1-30Small Computers

• PDAs, STBs, embedded systems became commercially significant

• Have an OS, but– Not general purpose

– Limited hardware resources

– Different kinds of devices• Touch screen, no keyboard

• Graffiti

– Evolving & leading to new class of Oses

• PalmOS, Pocket PC (WinCE), VxWorks, …

Page 31: Slide 1-1 Computer Systems II Gordon College Operating System Overview

Slide 1-31

Evolution of Modern OS

Modern OS

Batch

Timesharing

PC & Wkstation

Network OS

Real-TimeMemory Mgmt

ProtectionScheduling

FilesDevices

Memory Mgmt

ProtectionScheduling

System software

Human-Computer Interface

Client-Server Model

Protocols

Scheduling

Small Computer

Network storage,Resource management

Page 32: Slide 1-1 Computer Systems II Gordon College Operating System Overview

Slide 1-32Examples of Modern OS

• UNIX variants (e.g. Linux) -- have evolved since 1970

• Windows NT/2K -- has evolved since 1989 (much more modern than UNIX– Win2K = WinNT, V5

• Research OSes – still evolving …

• Small computer OSes – still evolving …

Page 33: Slide 1-1 Computer Systems II Gordon College Operating System Overview

Slide 1-33The Microsoft OS FamilyWin32 APIWin32 API

Windows CE(Pocket PC)

Windows CE(Pocket PC)

Windows 95/98/MeWindows 95/98/Me

Windows NT/2000/XPWindows NT/2000/XP

Win32 API SubsetWin32 API Subset

Win32 API SubSetWin32 API SubSet

Page 34: Slide 1-1 Computer Systems II Gordon College Operating System Overview

Slide 1-34

Summary

An Operating System must be able to:• provide functionality to apps• provide abstraction of hardware to users and apps• provide the sharing of resources to processes • provide security and protection• be as transparent as possible• be as light as possible