© 2004, d. j. foreman 1 cs350/550 operating systems
TRANSCRIPT
© 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
© 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
© 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
© 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
© 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
© 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
© 2004, D. J. Foreman 8
Examples of System SoftwareTools - a DBMS
API's - functions to create windows
Resident programs – resource mgmt
© 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
© 2004, D. J. Foreman 10
Abstract View of System
User Space
O/S Space
Application Programming Interface
© 2004, D. J. Foreman 11
The APIApplication Programming Interface
■ Exposes a portion of an environment■ Provides services
• I/O
• Memory
• Protection
• Security
© 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
© 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
© 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
© 2004, D. J. Foreman 15
Resource SharingWhy do we need to share?
■ Greater throughput■ Lowers cost of resources■ Allows more resources to be available
© 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