Download CSE 30341

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

Distributed operating system wikipedia , lookup

Spring (operating system) wikipedia , lookup

VS/9 wikipedia , lookup

Process management (computing) wikipedia , lookup

CP/M wikipedia , lookup

Paging wikipedia , lookup

Transcript
1/13/16
CSE30341
Opera+ngSystemPrinciples
Lecture2–Introduc5on–Con5nued
Recap–LastLecture
•  Whatisanopera+ngsystem&kernel?
•  Whatisaninterrupt?
CSE30341–Opera+ngSystemPrinciples
2
1
1/13/16
OS-Kernel
CSE30341–Opera+ngSystemPrinciples
3
OS-Kernel
CSE30341–Opera+ngSystemPrinciples
4
2
1/13/16
SystemArchitecture
CSE30341–Opera+ngSystemPrinciples
5
Interrupt
CSE30341–Opera+ngSystemPrinciples
6
3
1/13/16
Interrupt
CSE30341–Opera+ngSystemPrinciples
7
Interrupt
CSE30341–Opera+ngSystemPrinciples
8
4
1/13/16
Input/Output–I/O
•  Communica+onbetweenCPUand“outside
world”:
–  Storage
–  Network
–  Keyboard/mouse
–  Display
–  Printer
–  …
CSE30341–Opera+ngSystemPrinciples
9
Input/Output–I/O
CSE30341–Opera+ngSystemPrinciples
10
5
1/13/16
Interac+ngwithI/O
•  System-controlled:
–  “Writethischunkofdatatoblock8,783,486”
–  “Pleasegivemethedatafromblocks7,345,286–
7,345,289”
•  Externalevents(systemreacts):
–  Theuserispressingtheshi_key
–  Block3,285,001appearstobebad
–  Dataarrivedoveranetworkconnec+on
CSE30341–Opera+ngSystemPrinciples
11
Interac+ngwithI/O
•  Responsibili+esofOS:
–  Hide peculiarities of hardware devices from
the user
–  Manage hardware devices (“resources”)
efficiently
–  Prevent intentional/unintentional misuse
CSE30341–Opera+ngSystemPrinciples
12
6
1/13/16
Interac+ngwithI/O
•  Application requests I/O from OS
–  Uses specific interface: system calls
–  Blocking: application will wait until I/O
complete
–  Non-blocking: application will do something
else in the meantime (and receive notification
from OS when I/O complete)
CSE30341–Opera+ngSystemPrinciples
13
Direct Memory Access (DMA)
•  CPUresponsiblefordatamovingto/fromI/Odevices
•  Alterna+ve:letaseparatecontrollerdoit(DMA)
CSE30341–Opera+ngSystemPrinciples
14
7
1/13/16
DMAController
I/O
DeviceD6
Memory
CPU
Pleasecopy500bytes
ofdatafromD6tomemory
loca+on0x8570000and
interruptmewhenyouare
done
DMA
Controller
vs.
ReadfromD6
WritetoMemory
ReadfromD6
WritetoMemory
….
CSE30341–Opera+ngSystemPrinciples
15
Storage Structure
•  Main memory – only large storage media that the CPU
can access directly
–  Random access memory
–  Volatile
•  Secondary storage – extension of main memory that
provides large nonvolatile storage capacity
–  Magnetic disks – rigid metal or glass platters covered with
magnetic recording material
•  Disk surface - tracks, subdivided into sectors
•  The disk controller determines the logical interaction between
the device and the computer
–  Solid-state disks – faster than magnetic disks, nonvolatile
•  Various technologies
•  Becoming more popular
CSE30341–Opera+ngSystemPrinciples
16
8
1/13/16
Storage-Device Hierarchy
registers
cache
main memory
solid-state disk
magnetic disk
optical disk
magnetic tapes
CSE30341–Opera+ngSystemPrinciples
17
Storage Hierarchy
•  Storage systems organized in hierarchy
–  Size
–  Speed
–  Cost
–  Volatility
•  Caching – leverage faster storage
system; higher layer can be cache for
lower layer
CSE30341–Opera+ngSystemPrinciples
18
9
1/13/16
Caching
•  One of the most important principles in systems
•  Information in use copied from slower to faster
storage temporarily
•  Faster storage (cache) checked first to determine
if information is there
–  If it is, information used directly from the cache (fast)
–  If not, data copied to cache and used there
•  Cache smaller than storage being cached
–  Cache management important design problem
–  Cache size and replacement policy
CSE30341–Opera+ngSystemPrinciples
19
Computer-System Architecture
•  General-purpose processors (CPU) versus
special-purpose processors (controllers)
•  Multiprocessor systems are now typical
–  Parallel systems, tightly-coupled systems
–  Advantages include:
1.  Increased throughput
2.  Economy of scale
3.  Increased reliability – graceful degradation or fault
tolerance
CSE30341–Opera+ngSystemPrinciples
20
10
1/13/16
Symmetric Multiprocessing (SMP)
Architecture
UMA–UniformMemoryAccess
•  Allsharethesamememoryonthesamemachine,samecosttoaccess.
•  Mayhaveaprivatecache
NUMA–Non-uniformMemoryAccess
•  Eachprocessorhasitsownmemory
CSE30341–Opera+ngSystemPrinciples
21
Multi-Core Design
•  Multiple “cores” on same chip
–  On-chip communication is fast
–  Power consumption can be reduced
CSE30341–Opera+ngSystemPrinciples
22
11
1/13/16
Clustered Systems
•  Like multiprocessor systems, but multiple
systems working together
–  Connected via LAN (local-area network)
–  Storage often shared via SAN (storage-area
network)
–  Main reasons:
•  High availability
–  Asymmetric clustering (one machine in hot-standby mode)
–  Symmetric clustering (multiple machines running and
monitoring each other)
•  High performance (HPC)
–  Applications must be written to exploit parallelization
CSE30341–Opera+ngSystemPrinciples
23
Clustered Systems
computer
interconnect
computer
interconnect
computer
storage area
network
CSE30341–Opera+ngSystemPrinciples
24
12
1/13/16
Operating Systems Concepts
A von Neumann architecture
CSE30341–Opera+ngSystemPrinciples
25
Opera+ngSystemsConcepts
•  Mul5programming(efficiency)
–  SingleusercannotkeepCPUandI/Odevicesbusy
atall+mes
–  Jobs(code&data)organizeds.t.CPUalwayshas
atleastonetoexecute
–  Subsetofjobskeptinmemory
–  Whenajobhastowait(e.g.,forI/O),theOS
switchestoanotherjob
CSE30341–Opera+ngSystemPrinciples
26
13
1/13/16
Memory Layout for Multiprogrammed System
CSE30341–Opera+ngSystemPrinciples
27
Opera+ngSystemsConcepts
•  Timesharing(mul5tasking):
–  Switchingbetweenjobshappenssofrequentlythat
userscaninteractwitheachjobwhileitisrunning:
interac5vecompu5ng
–  Response5me(e.g.,<1second)
–  Eachuserhasatleast1programexecu+nginmemory
(process)
–  Ifseveraljobsreadytorunatthesame+me:CPU
scheduling
–  Ifprocessesdon’tfitintomemory:swapping
–  Virtualmemoryallowsofexecu+onofpar+ally
loadedprocesses
CSE30341–Opera+ngSystemPrinciples
28
14
1/13/16
Opera+ngSystemsConcepts
•  Accesstoresourcesneedstobecontrolled:
–  Simultaneousaccess
–  Unauthorizedaccess
–  “Improper”access(e.g.,toolong)
•  Dual-modeopera5ngsystems
–  Usermode(applica+on)
–  Kernelmode(OSandprivilegedinstruc+ons)
–  Modebitindicatescurrentmode(0=kernel)
–  Transi+onviasystemcalls
CSE30341–Opera+ngSystemPrinciples
29
From User to Kernel Mode
•  Timer to prevent infinite loop / process hogging resources
– 
– 
– 
– 
Set interrupt after specific period
Operating system decrements counter
When counter zero generate an interrupt
Set up before scheduling process to regain control or terminate program
that exceeds allotted time
CSE30341–Opera+ngSystemPrinciples
30
15
1/13/16
ProcessManagement
•  Process=programinexecu+on!
–  Program=passive
–  Process=ac+ve
•  Processneedsresources(CPU,memory,I/O,
ini+aliza+ondata,files,etc.)
•  Single-threadedprocess:oneprogram
counter(PC)
•  Mul5-threadedprocess:oneprogramcounter
perthread
CSE30341–Opera+ngSystemPrinciples
31
Process Management Activities
The operating system is responsible for the following
activities in connection with process management:
• 
• 
• 
• 
• 
Creating and deleting both user and system processes
Suspending and resuming processes
Providing mechanisms for process synchronization
Providing mechanisms for process communication
Providing mechanisms for deadlock handling
CSE30341–Opera+ngSystemPrinciples
32
16
1/13/16
Memory Management
•  All data in memory before and after processing
•  All instructions in memory in order to execute
•  Memory management determines what is in memory
and when
–  Optimizing CPU utilization and computer response to
users
•  Memory management activities
–  Keeping track of which parts of memory are currently being
used and by whom
–  Deciding which processes (or parts thereof) and data to
move into and out of memory
–  Allocating and de-allocating memory space as needed
CSE30341–Opera+ngSystemPrinciples
33
Storage Management
•  OS provides uniform, logical view of information storage
–  Abstracts physical properties to logical storage unit - file
–  Each medium is controlled by device (i.e., disk drive, tape drive)
•  Varying properties include access speed, capacity, data-transfer rate,
access method (sequential or random)
•  File-System management
–  Files usually organized into directories
–  Access control on most systems to determine who can access
what
–  OS activities include
• 
• 
• 
• 
Creating and deleting files and directories
Primitives to manipulate files and directories
Mapping files onto secondary storage
Backup files onto stable (non-volatile) storage media
CSE30341–Opera+ngSystemPrinciples
34
17
1/13/16
Mass-Storage Management
•  Usually disks used to store data that does not fit in main
memory or data that must be kept for a “long” period of time
•  Proper management is of central importance
•  Entire speed of computer operation hinges on disk subsystem
and its algorithms
•  OS activities
–  Free-space management
–  Storage allocation
–  Disk scheduling
•  Some storage need not be fast
–  Tertiary storage includes optical storage, magnetic tape
–  Still must be managed – by OS or applications
–  Varies between WORM (write-once, read-many-times) and RW
(read-write)
CSE30341–Opera+ngSystemPrinciples
35
Performance of Various Levels of Storage
Level
1
2
3
4
5
Name
registers
cache
main memory
solid state disk
magnetic disk
Typical size
< 1 KB
< 16MB
< 64GB
< 1 TB
< 10 TB
Implementation
technology
custom memory on-chip or
off-chip
with multiple
CMOS SRAM
ports CMOS
CMOS SRAM
flash memory
magnetic disk
Access time (ns)
0.25 - 0.5
80 - 250
25,000 - 50,000
5,000,000
Bandwidth (MB/sec)
20,000 - 100,000 5,000 - 10,000
1,000 - 5,000
500
20 - 150
Managed by
compiler
0.5 - 25
hardware
operating system operating system operating system
disk or tape
disk
main memory disk
cache
Backed by
•  Movementbetweenlevelsofstoragehierarchycanbe
explicitorimplicit
CSE30341–Opera+ngSystemPrinciples
36
18
1/13/16
Protection and Security
•  Protection – any mechanism for
controlling access of processes or users to
resources defined by the OS
•  Security – defense of the system against
internal and external attacks
CSE30341–Opera+ngSystemPrinciples
37
Recap
•  KeyPoints
–  WhatisDMA?
–  Whatisthememoryhierarchy?
–  Whatiscaching?
–  Whatisvirtualmemory?
–  WhatisaSAN?
–  Whatisthedifferencebetweenkernelanduser
mode?
CSE30341–Opera+ngSystemPrinciples
38
19