Transcript
Page 1: CSCI 3753 Operating Systems Spring 2005

CSCI 3753 Operating SystemsSpring 2005

Professor Rick Han

Department of Computer Science

University of Colorado at Boulder

Page 2: CSCI 3753 Operating Systems Spring 2005

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

Page 3: CSCI 3753 Operating Systems Spring 2005

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

Page 4: CSCI 3753 Operating Systems Spring 2005

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

Page 5: CSCI 3753 Operating Systems Spring 2005

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”

Page 6: CSCI 3753 Operating Systems Spring 2005

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?

Page 7: CSCI 3753 Operating Systems Spring 2005

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

Page 8: CSCI 3753 Operating Systems Spring 2005

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

??

Page 9: CSCI 3753 Operating Systems Spring 2005

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!

Page 10: CSCI 3753 Operating Systems Spring 2005

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

Page 11: CSCI 3753 Operating Systems Spring 2005

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!

Page 12: CSCI 3753 Operating Systems Spring 2005

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

Page 13: CSCI 3753 Operating Systems Spring 2005

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

Page 14: CSCI 3753 Operating Systems Spring 2005

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

Page 15: CSCI 3753 Operating Systems Spring 2005

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)

Page 16: CSCI 3753 Operating Systems Spring 2005

Military Applications of Sensor Nets

• Battlefield monitoring

• Sound, heat, metal, vibration

• Deployed in Vietnam, Afghanistan, Iraq

• REMBASS II, UGS, …

Basestation

Wireless sensor network

Page 17: CSCI 3753 Operating Systems Spring 2005

• 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


Top Related