Upload
alyssa-diaz
View
49
Download
0
Tags:
Embed Size (px)
DESCRIPTION
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 - PowerPoint PPT Presentation
Citation preview
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