Download CS350-01-intro - dforeman.cs.bingh

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Burroughs MCP wikipedia , lookup

Process management (computing) wikipedia , lookup

Security-focused operating system wikipedia , lookup

Copland (operating system) wikipedia , lookup

Distributed operating system wikipedia , lookup

RSTS/E wikipedia , lookup

Unix security wikipedia , lookup

Spring (operating system) wikipedia , lookup

CP/M wikipedia , lookup

VS/9 wikipedia , lookup

Paging wikipedia , lookup

Transcript
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