180 likes | 367 Views
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
E N D
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? App2 • 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 App1 App3 Operating System Disk Memory CPU Display Mouse I/O
File System VM Scheduler What is an Operating System? App2 • A PC operating system consists of multiple components • scheduler • virtual memory system • file system • other... App1 App3 OS “Kernel” Disk Memory CPU Display Mouse I/O
OS? Posix, Win32, Java, C libraryAPI System call API • 160 in Linux File System VM Scheduler Device driver “API” What is an Operating System? App2 App1 App3 System Libraries and Tools (Compilers, Shells, GUIs) OS “Kernel” Memory CPU Disk Display Mouse I/O Note: different OS kernels can support the same system call API
App1 App1 App2 App2 App3 App3 OS OS Networking Stack Networking Stack HW HW Networking HW Networking HW What is an Operating System? • Distributed Operating Systems • Networked File System • OS adds TCP/IP Network Stack • Device driver support for Networking cards 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
?? Storage Evolution: Flash Drive already at 1 GB @ $60 => OS disk scheduling obsolete?? Punch card stores code 1950s-80s Tape Drive 1950s-80s Disk Drive 1960s-2000s 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
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 • batch mode - running jobs or programs sequentially, one after the other • 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
Internet 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
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 • 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