PowerPoint XP
Download
Report
Transcript PowerPoint XP
Hot Topics in OS Research
Andy Wang
COP 5611
Advanced Operating Systems
Some Hot Areas
Safely executing untrusted code
File and storage systems
Ubiquitous computing
Virtual machine environments
Reliability
Safely Executing Untrusted
Code
Type-safe languages
Virtual machines
Verified code
File and Storage Systems
Very large-scale file systems
Reliability
Performance vs. cost of ownership
Energy consumption
Very long-term storage
Peer-to-peer backup system
Challenges: privacy, consistency over
encrypted data, fairness
File and Storage Systems
Some advanced tools:
Rabin fingerprinting
Compare-by-hash
Convergent encryption
Erasure code
Bloom filter
Search on encrypted domain
Ubiquitous Computing
Lots and lots of inexpensive mobile
wireless devices
Distributed resource sharing across
untrusted domains
Economic models
Bartering
Tickets
Credits
Ubiquitous Computing
Distributed resource discovery
Pastry, Tapestry, Chord
Hypercube routing
Distributed radix sort
O(log(n))
O(1) lookup with clever replication
Distributed access control models
Peer-to-peer coordination
Ubiquitous Computing
Constrained resources
CPU
Memory, disk
Variable bandwidth
Energy
Cannot afford strong security measures
Battery density approaches that of a grenade
Sensor networks
Ubiquitous Computing
E-commerce
How to authenticate with unknown
servers?
How to make e-cash anonymous,
transferable, non-traceable, and nonforgeable?
How to prevent free-rides?
How to provide micropayments?
Virtual Machine Environments
OS support for efficient executions
Parasitic virtualization
Reliability
Running device drivers in isolated
kernel address spaces
Static code analysis for common
programming errors
Soft-state-only systems, designed to
crash
Reliability
Use computational dependencies to
locate failures
Secure hardware to certify software
General security
Revisiting Existing Designs
Path
Capriccio
Vertical paths vs. layers
Event-based scheduling
Threads with linked stacks to conserve
storage
Conquest
Lots of RAM
Introspective Computing
Self-administration
Configuration, optimization, evolution
Exploit contextual information
Autonomous computing
Automatically detect and repair system
problems
Performance
Rewrite binaries for smaller memory
footprint
Use compiler to cluster and issue bulk
system calls
Download user-level binaries into the
kernel