1 / 17

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

alyssa-diaz
Télécharger la présentation

CSCI 3753 Operating Systems Spring 2005

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CSCI 3753 Operating SystemsSpring 2005 Professor Rick Han Department of Computer Science University of Colorado at Boulder

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. ?? 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

  9. 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!

  10. 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

  11. 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!

  12. 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

  13. 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

  14. 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

  15. 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

  16. Military Applications of Sensor Nets • Battlefield monitoring • Sound, heat, metal, vibration • Deployed in Vietnam, Afghanistan, Iraq • REMBASS II, UGS, … Basestation Wireless sensor network

  17. 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

More Related