© 2004, d. j. foreman 1 cs350/550 operating systems

16
© 2004, D. J. Foreman 1 CS350/550 Operating Systems

Upload: hugh-chase

Post on 05-Jan-2016

214 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: © 2004, D. J. Foreman 1 CS350/550 Operating Systems

© 2004, D. J. Foreman 1

CS350/550

Operating Systems

Page 2: © 2004, D. J. Foreman 1 CS350/550 Operating Systems

© 2004, D. J. Foreman 2

Administrivia Assignments

■ Homework on most chapters■ Approximately 8 lab assignments■ 6 Projects (5 for CS311)

Exams■ Midterm■ Final (comprehensive)

Quizzes■ Random, 10 minutes each (if any)

Grades required to pass (after curving)■ >= 70 average on labs(CS350)/projects ■ >= 70 average on (h/w + quizzes) together■ >= 60 on midterm to pass

Page 3: © 2004, D. J. Foreman 1 CS350/550 Operating Systems

© 2004, D. J. Foreman 3

Course OutlineIntroduction 1 0.5 yH/W & S/W Concepts 2 3.5 yProcesses 3 3 yThreads 4 3Mutual Exclusion 5 3Monitors 6 3Deadlock 7 3Midterm 1.5Scheduling 8 3Real Memory Mgmt 9 3Virtual Memory Org 10 3Virtual memory mgmt 11 3Disk Performance 12 3File mgmt 13 3VM n/a 1.5Distributed Systems 1.5

Page 4: © 2004, D. J. Foreman 1 CS350/550 Operating Systems

© 2004, D. J. Foreman 4

Introduction & Motivation

Wanted – a methodology to:■ get more work done in a fixed time■ allow multiple users on 1 computer■ allow programs to interact with each other■ maximize memory and CPU utilization■ reduce the need for device handling■ allow programs' parts to be shared■ make the system more usable (friendlier?)■ make system faster

Page 5: © 2004, D. J. Foreman 1 CS350/550 Operating Systems

© 2004, D. J. Foreman 5

Why Study Operating Systems?

• Understand support structure so we can:– Exploit system features– Learn to write more effective code

• Learn to design an OS

Page 6: © 2004, D. J. Foreman 1 CS350/550 Operating Systems

© 2004, D. J. Foreman 6

What IS an Operating System?A "virtual machine" that provides:

■ An abstraction of some virtual computer■ Common functionality for apps■ Security across apps/devices■ Some level of concurrency (maybe)■ Portability across real machines■ Simplified access to resources■ Sharing of resources■ Services for apps

Page 7: © 2004, D. J. Foreman 1 CS350/550 Operating Systems

© 2004, D. J. Foreman 7

PerspectivesEnd user

■ Getting work doneApplication programmer

■ More efficient use of system■ Make work easier for user

O/S programmer■ Exploit h/w■ Enhance performance, usability

Page 8: © 2004, D. J. Foreman 1 CS350/550 Operating Systems

© 2004, D. J. Foreman 8

Examples of System SoftwareTools - a DBMS

API's - functions to create windows

Resident programs – resource mgmt

Page 9: © 2004, D. J. Foreman 1 CS350/550 Operating Systems

© 2004, D. J. Foreman 9

Abstractions User

■ Windows, folders

Application programmer■ OS, language API's■ Run-time libraries & DLL's■ Shell

OS programmer■ Hardware interfaces■ Machine instructions■ OS service interfaces

Page 10: © 2004, D. J. Foreman 1 CS350/550 Operating Systems

© 2004, D. J. Foreman 10

Abstract View of System

User Space

O/S Space

Application Programming Interface

Page 11: © 2004, D. J. Foreman 1 CS350/550 Operating Systems

© 2004, D. J. Foreman 11

The APIApplication Programming Interface

■ Exposes a portion of an environment■ Provides services

• I/O

• Memory

• Protection

• Security

Page 12: © 2004, D. J. Foreman 1 CS350/550 Operating Systems

© 2004, D. J. Foreman 12

Evolution of OS'sUni-programming

■ DOSApparent multiprogramming

■ Windows Versions 2 to 3.1True multi-programming

■ UNIX/LINUX, OS/2, Windows95+■ Mainframe systems:

• MVS, VMS, VM

Page 13: © 2004, D. J. Foreman 1 CS350/550 Operating Systems

© 2004, D. J. Foreman 13

OS Strategies Batch

■ All work pre-scheduled Timesharing

■ Multi-user, Interactive PC's and Workstations

■ Single-user, interactive Embedded

■ Satellites, robots, etc PDA's

■ Single-user, interactive, small Network OS's

■ Multi-machine, multi-user

Page 14: © 2004, D. J. Foreman 1 CS350/550 Operating Systems

© 2004, D. J. Foreman 14

Resource ManagementResources

■ Memory■ CPU cycles■ I/O

• Includes networks, robot arms, motors

• That is, any means of getting information (or signals) into or out of the computer

Page 15: © 2004, D. J. Foreman 1 CS350/550 Operating Systems

© 2004, D. J. Foreman 15

Resource SharingWhy do we need to share?

■ Greater throughput■ Lowers cost of resources■ Allows more resources to be available

Page 16: © 2004, D. J. Foreman 1 CS350/550 Operating Systems

© 2004, D. J. Foreman 16

The KernelImplements O/S functionsPrivileged, non-interruptibleSometimes reduced to a "micro-kernel"

■ Absolutely minimal set of functions required to be in privileged mode

■ Micro-kernel does NOT include :• Device drivers

• File services

• Process server

• Virtual memory mgmt