Download - CSCI 3753 Operating Systems Spring 2005
CSCI 3753 Operating SystemsSpring 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?– Powerpoint, Realplayer
• What is hardware?• An operating system is
a layer of software between applications and hardware
Applications
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
• otherwise an application saving a file to disk would have to know how the disk operates
– helps to share resources and isolate access to resources between multiple applications
App3
Operating System
Disk Memory CPU Display Mouse
App2App1
I/O
What is an Operating System?
• A PC operating system consists of multiple components– scheduler– virtual memory
system– file system– other...
App3
Disk Memory CPU Display Mouse
App2App1
I/O
SchedulerVMFile
System OS“Kernel”
System Libraries and Tools(Compilers, Shells, GUIs)
What is an Operating System?
App3
DiskMemory CPU
Display Mouse
App2App1
I/O
SchedulerVMFile
System OS“Kernel”
System call API– 160 in Linux
Device driver “API”
Posix, Win32,Java, C library API
Note: different OS kernels cansupport the same system call API
OS?
What is an Operating System?
• Distributed Operating Systems– Networked
File System– OS adds
TCP/IP Network Stack
– Device driver support for Networking cards
OS
HW
App1 App2 App3
NetworkingHW
NetworkingStack
OS
HW
App1 App2 App3
NetworkingHW
NetworkingStack
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
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 cardstores code1950s-80s
Tape Drive1950s-80s
Disk Drive1960s-2000s
Flash Drivealready 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.sosp-20.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
Internet
Internet
• Self-configure into wireless multi-hop network
Applications of Wireless Sensor Networks
• Nature• Wildlife – Great Duck Island
(Berkeley 2002)
• Home• Security (commercial)• Medical - Assistive
Technology (BP Visualization Center, L3D, Ga Tech)
• Mobile/Robotic WSANs
• Habitat – San Jacinto Nature Preserve (UCLA)
• Monitor atmosphere (NCAR)
Military Applications of Sensor Nets
• Battlefield monitoring
• Sound, heat, metal, vibration
• Deployed in Vietnam, Afghanistan, Iraq
• REMBASS II, UGS, …
Basestation
Wireless sensor network
• 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