o perating s ystems bit 1003. outline introduction, concepts, review & historical perspective...

24
OPERATING SYSTEMS BIT 1003

Upload: randall-farmer

Post on 23-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: O PERATING S YSTEMS BIT 1003. OUTLINE Introduction, concepts, review & historical perspective Processes Synchronization Scheduling Deadlock Memory management,

OPERATING SYSTEMSBIT 1003

Page 2: O PERATING S YSTEMS BIT 1003. OUTLINE Introduction, concepts, review & historical perspective Processes Synchronization Scheduling Deadlock Memory management,

OUTLINE

Introduction, concepts, review & historical perspective

Processes Synchronization Scheduling Deadlock

Memory management, address translation, and virtual memory

Operating system management of I/O File systems

Page 3: O PERATING S YSTEMS BIT 1003. OUTLINE Introduction, concepts, review & historical perspective Processes Synchronization Scheduling Deadlock Memory management,

WHY SHOULD I STUDY OPERATING SYSTEMS? Need to understand interaction between the

hardware and applications New applications, new hardware..

Need to understand basic principles in the design of computer systems efficient resource management, security,

flexibility Increasing need for specialized operating

systems e.g. embedded operating systems for devices -

cell phones, sensors and controllers real-time operating systems - aircraft control,

multimedia services

Page 5: O PERATING S YSTEMS BIT 1003. OUTLINE Introduction, concepts, review & historical perspective Processes Synchronization Scheduling Deadlock Memory management,

THE SERVICES OPERATING SYSTEMS PROVIDE INCLUDE:

Management of I/O Management of memory Scheduling of user processes (start, interrupt,

and stop) A secure and reliable environment for

programs and users A convenient interface for users Networking services Messaging and synchronization services

between processes Utility “system software” such as editors,

loaders, help, etc.

Page 6: O PERATING S YSTEMS BIT 1003. OUTLINE Introduction, concepts, review & historical perspective Processes Synchronization Scheduling Deadlock Memory management,

OPERATING SYSTEM TIMELINE

First generation: 1945 – 1955 Vacuum tubes Plug boards

Second generation: 1955 – 1965 Transistors Batch systems

Third generation: 1965 – 1980 Integrated circuits Multiprogramming

Fourth generation: 1980 – present Large scale integration Personal computers

Next generation: ??? Systems connected by high-speed networks? Wide area resource management?

Page 7: O PERATING S YSTEMS BIT 1003. OUTLINE Introduction, concepts, review & historical perspective Processes Synchronization Scheduling Deadlock Memory management,

FIRST GENERATION: DIRECT INPUT

Run one job at a time Enter it into the computer (might require

rewiring!) Run it Record the results

Problem: lots of wasted computer time! Computer was idle during first and last steps Computers were very expensive!

Goal: make better use of an expensive commodity: computer time

Page 8: O PERATING S YSTEMS BIT 1003. OUTLINE Introduction, concepts, review & historical perspective Processes Synchronization Scheduling Deadlock Memory management,

SECOND GENERATION: BATCH SYSTEMS

Bring cards to 1401 Read cards onto input tape Put input tape on 7094 Perform the computation, writing results to

output tape Put output tape on 1401, which prints output

Page 9: O PERATING S YSTEMS BIT 1003. OUTLINE Introduction, concepts, review & historical perspective Processes Synchronization Scheduling Deadlock Memory management,

THIRD GENERATION: MULTIPROGRAMMING

Multiple jobs in memory Protected from one

another Operating system

protected from each job as well

Resources (time, hardware) split between jobs

Still not interactive User submits job Computer runs it User gets results

minutes (hours, days) later

Operatingsystem

Job 1

Job 2

Job 3

Memorypartitions

Page 10: O PERATING S YSTEMS BIT 1003. OUTLINE Introduction, concepts, review & historical perspective Processes Synchronization Scheduling Deadlock Memory management,

TIMESHARING

Multiprogramming allowed several jobs to be active at one time Initially used for batch systems Cheaper hardware terminals -> interactive use

Computer use got much cheaper and easier No more “priesthood” Quick turnaround meant quick fixes for problems

Page 11: O PERATING S YSTEMS BIT 1003. OUTLINE Introduction, concepts, review & historical perspective Processes Synchronization Scheduling Deadlock Memory management,

TYPES OF MODERN OPERATING SYSTEMS

Mainframe operating systems: MVS Server operating systems: FreeBSD, Solaris Multiprocessor operating systems: Cellular

IRIX Personal computer operating systems:

Windows, Unix Real-time operating systems: VxWorks Embedded operating systems Smart card operating systemsÞ Some operating systems can fit into more

than one category

Page 12: O PERATING S YSTEMS BIT 1003. OUTLINE Introduction, concepts, review & historical perspective Processes Synchronization Scheduling Deadlock Memory management,

MANAGEMENT OF INPUT AND OUTPUT

Hard drivecontroller

Videocontroller

Memory

USBcontroller

Networkcontroller

Outsideworld

CPU Computer internals(inside the “box”)

Page 13: O PERATING S YSTEMS BIT 1003. OUTLINE Introduction, concepts, review & historical perspective Processes Synchronization Scheduling Deadlock Memory management,

ANATOMY OF A DEVICE REQUEST (INTERRUPT)

Interruptcontroller

CPU5 Disk

controller

3 2

61 4

Left: sequence as seen by hardware Request sent to controller, then to disk Disk responds, signals disk controller which tells interrupt

controller Interrupt controller notifies CPU

Right: interrupt handling (software point of view)

Instructionn

Operatingsystem

Instructionn+1

Interrupt handler

1: Interrupt

2: Process interrupt

3: Return

Page 14: O PERATING S YSTEMS BIT 1003. OUTLINE Introduction, concepts, review & historical perspective Processes Synchronization Scheduling Deadlock Memory management,

DİRECT MEMORY ACCESS

A improvement in efficiency is possible when the I/O device is relatively fast, like a disk drive or a tape drive.

The computer design may include one or more direct memory access (DMA) controllers (or channels).

A DMA controller is a computer within the computer that specializes in I/O, and its purpose is to drastically reduce the number of interrupts that the OS must service.

Page 15: O PERATING S YSTEMS BIT 1003. OUTLINE Introduction, concepts, review & historical perspective Processes Synchronization Scheduling Deadlock Memory management,

MEMORY MANAGEMENT

The operating system is responsible for assigning to processes memory in which to execute.

Operating system is responsible for managing a whole array of memories in support of processes, principally main memory, cache memory, and disk memory.

Page 16: O PERATING S YSTEMS BIT 1003. OUTLINE Introduction, concepts, review & historical perspective Processes Synchronization Scheduling Deadlock Memory management,

STORAGE PYRAMID

Access latency

1 ns

2–5 ns

50 ns

5 ms

50 sec

< 1 KB

1 MB

256 MB

40 GB

> 1 TB

Capacity

Registers

Cache (SRAM)

Main memory (DRAM)

Magnetic disk

Magnetic tape

Goal: really large memory with very low latency Latencies are smaller at the top of the hierarchy Capacities are larger at the bottom of the hierarchy

Solution: move data between levels to create illusion of large memory with low latency

Better

Better

Page 17: O PERATING S YSTEMS BIT 1003. OUTLINE Introduction, concepts, review & historical perspective Processes Synchronization Scheduling Deadlock Memory management,

17

DISK DRIVE STRUCTURE

sector

cylinder

platter

spindle

track

head

actuator

surfaces

Data stored on surfaces Up to two surfaces per

platter One or more platters per

disk Data in concentric

tracks Tracks broken into sectors

256B-1KB per sector Cylinder: corresponding

tracks on all surfaces Data read and written

by heads Actuator moves heads Heads move in unison

Page 18: O PERATING S YSTEMS BIT 1003. OUTLINE Introduction, concepts, review & historical perspective Processes Synchronization Scheduling Deadlock Memory management,

18

MEMORY

User programand data

User programand data

Operatingsystem

Address

0x1dfff

0x23000

0x27fff

0x2b000

0x2ffff

0

Single base/limit pair: set for each process Two base/limit registers: one for program, one for

data

Base

Limit

User data

User program

Operatingsystem

User data

Base1

Limit2

Limit1

Base2

Address

0x1dfff

0x23000

0x290000x2bfff

0x2ffff

0

0x2d000

0x24fff

Page 19: O PERATING S YSTEMS BIT 1003. OUTLINE Introduction, concepts, review & historical perspective Processes Synchronization Scheduling Deadlock Memory management,

OPERATING SYSTEMS CONCEPTS

Processes (and trees of processes) Deadlock File systems & directory trees Pipes

Page 20: O PERATING S YSTEMS BIT 1003. OUTLINE Introduction, concepts, review & historical perspective Processes Synchronization Scheduling Deadlock Memory management,

PROCESSES

A

B

E F

C D

G

Process: program in execution Address space (memory)

the program can use State (registers, including

program counter & stack pointer)

OS keeps track of all processes in a process table

Processes can create other processes Process tree tracks these

relationships A is the root of the tree A created three child

processes: B, C, and D C created two child

processes: E and F D created one child

process: G

Page 21: O PERATING S YSTEMS BIT 1003. OUTLINE Introduction, concepts, review & historical perspective Processes Synchronization Scheduling Deadlock Memory management,

DEADLOCK

Potential deadlock Actual deadlock

Page 22: O PERATING S YSTEMS BIT 1003. OUTLINE Introduction, concepts, review & historical perspective Processes Synchronization Scheduling Deadlock Memory management,

HIERARCHICAL FILE SYSTEMS

Page 23: O PERATING S YSTEMS BIT 1003. OUTLINE Introduction, concepts, review & historical perspective Processes Synchronization Scheduling Deadlock Memory management,

23

INTERPROCESS COMMUNICATION

Processes want to exchange information with each other

Many ways to do this, including Network Pipe (special file): A writes into pipe, and B reads from it

A B

Page 24: O PERATING S YSTEMS BIT 1003. OUTLINE Introduction, concepts, review & historical perspective Processes Synchronization Scheduling Deadlock Memory management,

EXERCİSES

6.1, 6.2, 6.4