CSCI 3753 Operating Systems Spring 2005

Download Report

Transcript CSCI 3753 Operating Systems Spring 2005

CSCI 3753 Operating Systems
Spring 2005
Professor Rick Han
Department of Computer Science
University of Colorado at Boulder
CSCI 3753 Announcements
• Who am I?
• Review of syllabus
• TA introduces first programming shell
assignment (similar to lab exercise 2.1)
and CSEL logistics
• Introduction to Operating Systems
• Read chapters 1 and 2 in the textbook
What is an Operating System?
• Windows, Linux
• What is an
application?
Applications
– Powerpoint, Realplayer
• What is hardware?
• An operating system is
a layer of software
between applications
and hardware
Operating System
Hardware
What is an Operating System?
• An operating system is a
layer of software
between many
applications and diverse
hardware that
– helps to better manage
the hardware for an
application
App2
App1
App3
Operating System
• otherwise an application
saving a file to disk
would have to know how
the disk operates
Disk Memory CPU Display Mouse I/O
– helps to share resources
and isolate access to
resources between
multiple applications
What is an Operating System?
• A PC operating
system consists
of multiple
components
– scheduler
– virtual memory
system
– file system
– other...
App2
App1
File
System
App3
VM
Scheduler
OS
“Kernel”
Disk Memory CPU Display Mouse I/O
What is an Operating System?
OS?
App2
App1
Posix, Win32,
Java, C library API
System call API
– 160 in Linux
App3
System Libraries and Tools
(Compilers, Shells, GUIs)
File
System
VM
Scheduler
OS
“Kernel”
Device driver “API”
Note: different OS kernels can
support the same system call API
Disk
Memory CPU
Display Mouse I/O
What is an Operating System?
App1 App2 App3
App1 App2 App3
Networking
Stack
OS
HW
OS
Networking
HW
HW
Networking
Stack
Networking
HW
Network
e.g. Internet, or Ethernet, or WiFi
• Examples:
– App1 is a distributed client server
app, e.g. App1 on left is Web
browser, App1 on right is Web
server
• Distributed
Operating
Systems
– Networked
File System
– OS adds
TCP/IP
Network
Stack
– Device driver
support for
Networking
cards
Operating System Trends
• Hardware has evolved quickly - OS must adjust
– Moore’s Law applies to CPU speed and/or memory
size: doubles every 18 months => exponential!
– But Moore’s Law doesn’t apply to disk access speed
or to battery life
– Diverse devices with high bandwidth requirements
??
Storage Evolution:
Punch card
stores code
1950s-80s
Tape Drive
1950s-80s
Disk Drive
1960s-2000s
Flash Drive
already at 1 GB @ $60
=> OS disk scheduling
obsolete??
Operating System Trends
• Hardware support for operating systems has
evolved too
– Mode bit support in CPU
• user mode vs. kernel/supervisor mode
• early PCs did not have this support
• Today’s embedded microcontrollers also lack this support
– Page faulting hardware and MMU
– Lack of such HW support can allow user programs to
accidentally or maliciously overwrite OS kernel code!
Operating System Trends
• Proliferation of OSs on large scale and
small scale and across features
– Multi-processor OSs - scaling up
– Cell phone OSs - scaling down
– Real-Time OS for Embedded and Multimedia
Systems
Operating Systems: Key Concepts
• Multiprogramming
– when CPU idle (e.g. blocked on I/O), run
another program => improved CPU
utilization
1. batch mode - running jobs or programs
sequentially, one after the other
2. Time sharing and concurrency - finely
interleaved sharing of CPU
• useful to give impression of interactivity!
Operating Systems: Key Concepts
• Time-sharing examples
– multiple processes sharing time locally on a
CPU
– multiple user terminals remotely sharing
processing time with a central server
• keystroke delay
Operating Systems Research
• Papers are published at premier OS
conferences like:
– ACM SOSP 2005 (Symposium on Operating
Systems Principles) - http://www.sosp20.com/
– USENIX OSDI 2004 (Operating System
Design and Implementation) http://www.usenix.org/events/osdi04/
• Secure Operating Systems
• Wireless Sensor Networks
Wireless Sensor Networks
• Groups of sensor nodes connected
by a wireless networking fabric
• Sensor nodes consist of CPU/memory,
radio, sensors, and power units
• Monitor environment
• Self-configure into
wireless multi-hop
network
Interne
t
Applications of
Wireless Sensor Networks
• Nature
•
•
•
Wildlife – Great Duck Island
(Berkeley 2002)
Habitat – San Jacinto Nature
Preserve (UCLA)
Monitor atmosphere (NCAR)
• Home
•
•
Security (commercial)
Medical - Assistive
Technology (BP Visualization
Center, L3D, Ga Tech)
• Mobile/Robotic WSANs
Military Applications of Sensor
Nets
• Battlefield monitoring
Basestation
• Sound, heat, metal,
vibration
• Deployed in Vietnam,
Afghanistan, Iraq Wireless sensor network
• REMBASS II, UGS, …
• MANTIS Research Project at University
of Colorado at Boulder, Dept Computer
Science
– Professor Rick Han
– 10 undergraduate and graduate students
– http://mantis.cs.colorado.edu
• Designed the MANTIS OS for micro
sensor nodes - multithreaded, in C
• Designed the ELF flash file system for
micro sensor nodes