csci 3753 operating systems spring 2005

17
CSCI 3753 Operating Systems Spring 2005 Professor Rick Han Department of Computer Science University of Colorado at Boulder

Upload: alyssa-diaz

Post on 04-Jan-2016

52 views

Category:

Documents


0 download

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

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