CS350-01-intro - dforeman.cs.bingh
Download
Report
Transcript CS350-01-intro - dforeman.cs.bingh
CS350/550
Operating Systems
© 2004, D. J. Foreman
1
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
2
Course Outline
Introduction
H/W & S/W Concepts
Processes
Threads
Mutual Exclusion
Monitors
Deadlock
Midterm
Scheduling
Real Memory Mgmt
Virtual Memory Org
Virtual memory mgmt
Disk Performance
File mgmt
VM
Distributed Systems
© 2004, D. J. Foreman
1 0.5 y
2 3.5 y
3
3y
4
3
5
3
6
3
7
3
1.5
8
3
9
3
10
3
11
3
12
3
13
3
n/a 1.5
1.5
3
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
4
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
5
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
6
Perspectives
End
■
user
Getting work done
Application
programmer
More efficient use of system
■ Make work easier for user
■
O/S
programmer
Exploit h/w
■ Enhance performance, usability
■
© 2004, D. J. Foreman
7
Examples of System Software
Tools
- a DBMS
API's
- functions to create windows
Resident
© 2004, D. J. Foreman
programs – resource mgmt
8
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
9
Abstract View of System
User Space
Application Programming Interface
O/S Space
© 2004, D. J. Foreman
10
The API
Application
Programming Interface
Exposes a portion of an environment
■ Provides services
■
•
•
•
•
I/O
Memory
Protection
Security
© 2004, D. J. Foreman
11
Evolution of OS's
Uni-programming
■
DOS
Apparent
■
multiprogramming
Windows Versions 2 to 3.1
True
multi-programming
UNIX/LINUX, OS/2, Windows95+
■ Mainframe systems:
■
• MVS, VMS, VM
© 2004, D. J. Foreman
12
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
13
Resource Management
Resources
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
14
Resource Sharing
Why
do we need to share?
Greater throughput
■ Lowers cost of resources
■ Allows more resources to be available
■
© 2004, D. J. Foreman
15
The Kernel
Implements
O/S functions
Privileged, non-interruptible
Sometimes 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
© 2004, D. J. Foreman
16