17
1 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

Computer Systems II - Gordon College · Computer Systems II Gordon College Operating System Overview ... •Operating Systems (3rd Edition Gary Nutt) •Lecture and Projects. 2 Why

Embed Size (px)

Citation preview

Page 1: Computer Systems II - Gordon College · Computer Systems II Gordon College Operating System Overview ... •Operating Systems (3rd Edition Gary Nutt) •Lecture and Projects. 2 Why

1

Slide 1-1

Computer Systems IIGordon College

Operating System Overview

Slide 1-2Class 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 2: Computer Systems II - Gordon College · Computer Systems II Gordon College Operating System Overview ... •Operating Systems (3rd Edition Gary Nutt) •Lecture and Projects. 2 Why

2

Slide 1-3Why 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

Slide 1-4Perspectives 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-mousestart-printer

Page 3: Computer Systems II - Gordon College · Computer Systems II Gordon College Operating System Overview ... •Operating Systems (3rd Edition Gary Nutt) •Lecture and Projects. 2 Why

3

Slide 1-5System Software

•Independent of individual applications, butcommon to all of them

•Examples–C library functions

–A window system

–A database management system

–Resource management functions

–The OS

Slide 1-6

Using the System Software

Loader

OSDatabaseManagement

System

WindowSystem

ApplicationProgrammer

Syst

em S

oftw

are

LibrariesCompiler

Hardware

CommandLine

Interpreter

LibrariesLibraries

Software API

Page 4: Computer Systems II - Gordon College · Computer Systems II Gordon College Operating System Overview ... •Operating Systems (3rd Edition Gary Nutt) •Lecture and Projects. 2 Why

4

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

Slide 1-8The OS as Resource Manager•Process: An executing program

•Resource: Anything that is needed for aprocess to run

–Memory

–Space on a disk

–The CPU

•“An OS creates resource abstractions”

•“An OS manages resource sharing”

Page 5: Computer Systems II - Gordon College · Computer Systems II Gordon College Operating System Overview ... •Operating Systems (3rd Edition Gary Nutt) •Lecture and Projects. 2 Why

5

Slide 1-9Resource Abstractionload(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);

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 6: Computer Systems II - Gordon College · Computer Systems II Gordon College Operating System Overview ... •Operating Systems (3rd Edition Gary Nutt) •Lecture and Projects. 2 Why

6

Slide 1-11Abstract Resources

Hardware Resources

OS

OS Resources (OS Interface)

Middleware

Abstract Resources (API)

Application

User Interface

Slide 1-12

Abstract Machines

Program Result

Program Result

Program Result

… …Idea

Idea

Idea

PhysicalMachine

AbstractMachines

Page 7: Computer Systems II - Gordon College · Computer Systems II Gordon College Operating System Overview ... •Operating Systems (3rd Edition Gary Nutt) •Lecture and Projects. 2 Why

7

Slide 1-13Resource 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

Slide 1-14The OS as a Conductor

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

Page 8: Computer Systems II - Gordon College · Computer Systems II Gordon College Operating System Overview ... •Operating Systems (3rd Edition Gary Nutt) •Lecture and Projects. 2 Why

8

Slide 1-15Multiprogramming

AbstractMachine Pi

OS Resource Sharing

Pi Memory

Pk Memory

Pj Memory

…Time-multiplexed Physical Processor

AbstractMachine Pj

AbstractMachine Pk

Space-multiplexed Physical Memory

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 9: Computer Systems II - Gordon College · Computer Systems II Gordon College Operating System Overview ... •Operating Systems (3rd Edition Gary Nutt) •Lecture and Projects. 2 Why

9

Slide 1-17How Multiprogramming Works

Process 1

Process 2

Process 3

Process 4

Space-multiplexed Memory

Time-multiplexed CPU

Slide 1-18Speeding Up the Car Wash

VacuumInside Wash Dry

VacuumInside

Wash Dry

(a) The Sequential Car Wash

(b) The Parallel Car Wash

Page 10: Computer Systems II - Gordon College · Computer Systems II Gordon College Operating System Overview ... •Operating Systems (3rd Edition Gary Nutt) •Lecture and Projects. 2 Why

10

Slide 1-19Multiprogramming PerformanceTime

Using the processorI/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

Slide 1-20OS Strategies

• Batch processing• Timesharing• Personal computer & workstations• Process control & real-time• Network• Distributed• Small computers

Page 11: Computer Systems II - Gordon College · Computer Systems II Gordon College Operating System Overview ... •Operating Systems (3rd Edition Gary Nutt) •Lecture and Projects. 2 Why

11

Slide 1-21Batch Processing

Job 19

Input Spooler Output Spooler

Job 3

Input Spool Output Spool

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 12: Computer Systems II - Gordon College · Computer Systems II Gordon College Operating System Overview ... •Operating Systems (3rd Edition Gary Nutt) •Lecture and Projects. 2 Why

12

Slide 1-23A 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

Slide 1-24

Timesharing Systems

PhysicalMachine

AbstractMachines

Command

Command

Command

Result

Result

Result

Page 13: Computer Systems II - Gordon College · Computer Systems II Gordon College Operating System Overview ... •Operating Systems (3rd Edition Gary Nutt) •Lecture and Projects. 2 Why

13

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

Slide 1-26Personal 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 14: Computer Systems II - Gordon College · Computer Systems II Gordon College Operating System Overview ... •Operating Systems (3rd Edition Gary Nutt) •Lecture and Projects. 2 Why

14

Slide 1-27Process 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

Slide 1-28Networks

• 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 15: Computer Systems II - Gordon College · Computer Systems II Gordon College Operating System Overview ... •Operating Systems (3rd Edition Gary Nutt) •Lecture and Projects. 2 Why

15

Slide 1-29Distributed OS

• Wave of the future

Distributed OS

App App

App

App

AppApp

Multiple Computers connected by a Network

Slide 1-30Small Computers

• PDAs, STBs, embedded systems becamecommercially 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 16: Computer Systems II - Gordon College · Computer Systems II Gordon College Operating System Overview ... •Operating Systems (3rd Edition Gary Nutt) •Lecture and Projects. 2 Why

16

Slide 1-31Evolution of Modern OS

Modern OS

Batch

Timesharing

PC & WkstationNetwork OS

Real-TimeMemory Mgmt

ProtectionScheduling

FilesDevices

Memory Mgmt

ProtectionScheduling

System softwareHuman-Computer Interface

Client-Server Model

Protocols

Scheduling

Small ComputerNetwork storage,Resource management

Slide 1-32Examples of Modern OS

• UNIX variants (e.g. Linux) -- have evolvedsince 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 17: Computer Systems II - Gordon College · Computer Systems II Gordon College Operating System Overview ... •Operating Systems (3rd Edition Gary Nutt) •Lecture and Projects. 2 Why

17

Slide 1-33The Microsoft OS FamilyWin32 API

Windows CE(Pocket PC)

Windows 95/98/Me

Windows NT/2000/XP

Win32 API Subset

Win32 API SubSet

Slide 1-34Summary

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