CSCI 3753: Operating Systems Spring 2001 - PowerPoint PPT Presentation

1 / 41
About This Presentation
Title:

CSCI 3753: Operating Systems Spring 2001

Description:

'An OS creates resource abstractions' 'An OS manages resource sharing' ... OS focus on resource abstraction. Rapidly evolved to 'personal multitasking' systems ... – PowerPoint PPT presentation

Number of Views:39
Avg rating:3.0/5.0
Slides: 42
Provided by: garyj7
Category:

less

Transcript and Presenter's Notes

Title: CSCI 3753: Operating Systems Spring 2001


1
CSCI 3753 Operating SystemsSpring 2001
  • Zach Bergen/ Phil Levis
  • Department of Computer Science
  • University of Colorado

2
General Information
  • Focus is on operating systems
  • Complies with ACM IEEE courses
  • Prerequisites CSci 2270 ECEN 2220
  • Recitations will have new material in them
  • Do your work in the CSEL Lab
  • No late homework!
  • OK to discuss assignments, but
  • Must develop your own code
  • Cannot look at others code
  • Cannot use code in a book

3
General Information (cont)
  • Course grade
  • There will be about 5-6 programming assignments
  • Homework 20
  • Programming projects 50
  • Midterm (15) -- Tentatively on March 6th
  • Final (15)
  • Office hours T Th, 200 to 400pm ECCS 101
    (check on http//www.cs.colorado.edu/zbergen)
  • Get all information from web page

http//www.cs.colorado.edu/csci3753
4
int roduction
5
Why Study OS?
  • Understand 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

6
System Software
  • Independent of applications, but common to all
  • Examples
  • C library functions
  • A window system
  • A database management system
  • Resource management functions

7
Purpose of an OS(What is Resource Management?)
  • Process An executing program
  • Resource Anything that is needed for a process
    to run
  • Memory
  • Space on a disk
  • The CPU
  • An OS creates resource abstractions
  • An OS manages resource sharing

8
Hardware
Network
Memory
9
Operating System
  • Hardware
  • disks
  • memory
  • processors
  • network
  • monitor
  • keyboard
  • mouse
  • Operating system
  • files
  • programs
  • speed
  • communication
  • windows, graphics
  • input
  • locator

10
Files
Memory
11
Issues
  • Naming
  • Allocating space on disk (permanent storage)
  • organized for fast access
  • minimize waste
  • Shuffling data between disk and memory
    (high-speed temporary storage)

12
Programs
Memory
13
Layering
14
Making Layering Work
  • Libraries
  • code that anyone, in principle, could write
  • if its broken, it affects only its users
  • (there could be a lot of them )
  • private vs. shared
  • static vs. dynamic
  • accessed via linking
  • often multiple versions coexisting
  • Kernel
  • code that is part of the system
  • if its broken or misused, it affects everyone
  • access must be carefully controlled

15
MemorySharing (1)
Program 1
Program 2
Program 3
Operating System
Memory
16
MemorySharing (2)
Program 1
Program 2
Program 3
17
Virtual Memory
Program 1
Virtual Address Space
Memory
Program 2
Program 3
18
History of Virtual Memory
  • 1961 Atlas computer, University of Manchester,
    UK
  • 1962 Burroughs B5000
  • 1972 IBM OS/370
  • 1979 3 BSD Unix, UC Berkeley
  • 1993 Microsoft Windows NT 3.0
  • 2000 Apple Macintosh OS X

19
Apple Invents VM
  • Welcome to the Brave New World of Crash-Resistant
    Computing
  • Lets start with the notion of protected memory,
    and why its so important. One of the ways an
    operating system ensures reliability is by
    protecting applications through a mechanism
    called protected memory (essentially walling off
    applications from each other).
  • Along with the protected memory mechanism, Darwin
    provides a super-efficient virtual memory manager
    to handle that protected memory space. So you no
    longer have to worry about how much memory an
    application like Photoshop needs to open large
    files.
  • http//www.apple.com/macosx/inside.html

20
Concurrency
21
Parallelism
22
History of Concurrency
  • Multiprogramming
  • 1961, 1962 Atlas, B5000
  • 1965 OS/360 MFT, MVT
  • Timesharing
  • 1961 CTSS (developed by BBN for DEC PDP-1)
  • mid 60s
  • Dartmouth Timesharing System (DTSS)
  • TOPS-10 (DEC)
  • late 60s
  • Multics (MIT, GE, Bell Labs)
  • Unix (Bell Labs)

23
Another Apple Innovation
  • With Preemptive Multitasking, Everything Happens
    at Once
  • In todays fast-paced world, you rarely get to do
    one thing at a time. Even in the middle of
    transforming, say, a Photoshop file, you may need
    to find a crucial piece of information on the web
    while you compose an urgent reply to a customer.
    What you need is a computer that can handle
    several different tasks at once, giving priority
    to your primary application, but still crunching
    away at other jobs in the background.
  • Darwin makes this possible by incorporating a
    powerful concept called preemptive multitasking.
  • ibid.

24
Security
  • Authentication
  • who are you? can you prove it?
  • Authorization
  • Adam may read that file Matt may not
  • Pete may control that program Tom may not
  • Ioannis may read and write that file Matt and
    Pete may only read it

25
Abstract Resources
User Interface
Application
Abstract Resources (API)
Middleware
OS Resources (OS Interface)
OS
Hardware Resources
26
Resource Abstraction
load(block, length, device) seek(device,
236) out(device, 9)
27
Resource Abstraction
load(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)
...
28
Resource Abstraction
load(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)
29
Resource Abstraction
load(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)
30
Resource 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

31
Multiprogramming
  • Technique for sharing the CPU among runnable
    processes
  • Process may be blocked on I/O
  • Process may be blocked waiting for other resource
  • While one process is blocked, another should be
    able to run
  • Multiprogramming OS accomplishes CPU sharing
    automatically
  • Reduced time to run all processes

32
How Multiprogramming Works
Process 1
Process 2
Process 3
Time-multiplexed CPU
Process 4
Space-multiplexed Memory
33
OS Strategies
  • Batch processing
  • Timesharing
  • Personal computer workstations
  • Process control real-time
  • Network
  • Distributed

34
Batch Processing
  • Uses multiprogramming
  • Job (file of OS commands) prepared offline
  • Batch of jobs given to OS at one time (crontab
    file)
  • OS processes jobs one-after-the-other
  • No human-computer interaction
  • OS optimizes resource utilization
  • Batch processing (as an option) still used today

35
Timesharing
  • 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

36
Personal Computers
  • CPU sharing among one persons 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

37
Process 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

38
Networks
  • LAN (Local Area Network) evolution
  • 3Mbps (1975) -gt 10 Mbps (1980)-gt100 Mbps (1990)
  • High speed communication means new way to do
    computing
  • Shared files
  • Shared memory
  • ???

39
Distributed OS
  • Wave of the future

App
App
App
App
App
App
Distributed OS
Multiple Computers connected by a Network
40
Evolution of Modern OS
Timesharing
Network OS
Memory Mgmt
PC Wkstation
Client-Server Model
Scheduling
Batch
Protection
Protocols
System software
Real-Time
Human-Computer Interface
Memory Mgmt
Protection
Scheduling
Scheduling
Files
Devices
Modern OS
41
Examples of Modern OS
  • UNIX variants -- have evolved since 1970
  • Windows NT -- has evolved since 1989 (much more
    modern than UNIX)
  • Research OS -- still evolving
  • Book uses Java as main example
  • This course will use linux and UNIX (Solaris) as
    the main example
  • Supplementary materials will be made available
Write a Comment
User Comments (0)
About PowerShow.com