|
ABSTRACT
Mondrian memory protection (MMP) is a fine-grained protection scheme that allows multiple protection domains to flexibly share memory and export protected services. In contrast to earlier page-based systems, MMP allows arbitrary permissions control at the granularity of individual words. We use a compressed permissions table to reduce space overheads and employ two levels of permissions caching to reduce run-time overheads. The protection tables in our implementation add less than 9% overhead to the memory space used by the application. Accessing the protection tables adds than 8% additional memory references to the accesses made by the application. Although it can be layered on top of demand-paged virtual memory, MMP is also well-suited to embedded systems with a single physical address space. We extend MMP to support segment translation which allows a memory segment to appear at another location in the address space. We use this translation to implement zero-copy networking underneath the standard read system call interface, where packet payload fragments are connected together by the translation system to avoid data copying. This saves 52% of the memory references used by a traditional copying network stack.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Adobe Systems Incorporated. Adobe PDF Plugin, 2002. http://www.adobe.com/.
|
| |
2
|
Apache Software Foundation. mod_perl, 2002. http://perl.apache.org/.
|
 |
3
|
|
| |
4
|
ARM Ltd. ARM940T Technical Reference Manual (Rev 2), ARM DDI 0144B 2000.
|
| |
5
|
Burroughs Corporation. The Descriptor--a Definition of the B5000 Information Processing System., 1961. http://www.cs.virginia.edu/brochure/images/manuals/b5000/descrip/descrip.html.
|
| |
6
|
|
 |
7
|
Nicholas P. Carter , Stephen W. Keckler , William J. Dally, Hardware support for fast capability-based addressing, Proceedings of the sixth international conference on Architectural support for programming languages and operating systems, p.319-327, October 05-07, 1994, San Jose, California, United States
|
| |
8
|
|
| |
9
|
H. K. J. Chu. Zero-copy TCP in Solaris. In USENIX Annual Technical Conference, pages 253-264, 1996.
|
 |
10
|
|
 |
11
|
|
| |
12
|
Germont Heiser , Kevin Elphinstone , Jerry Vochteloo , Stephen Russell , Jochen Liedtke, The Mungi single-address-space operating system, Software—Practice & Experience, v.28 n.9, p.901-928, July 25, 1998
[doi> 10.1002/(SICI)1097-024X(19980725)28:9<901::AID-SPE181>3.0.CO;2-7]
|
| |
13
|
Merle E. Houdek , Frank G. Soltis , Roy L. Hoffman, IBM System/38 support for capability-based addressing, Proceedings of the 8th annual symposium on Computer Architecture, p.341-348, May 12-14, 1981, Minneapolis, Minnesota, United States
|
| |
14
|
Intel Corporation. Volume 1: Basic architecture, Intel Architecture Software Developer's Manual, Volume 1: Basic Architecture, 1997.
|
| |
15
|
|
 |
16
|
Eric J. Koldinger , Jeffrey S. Chase , Susan J. Eggers, Architecture support for single address space operating systems, Proceedings of the fifth international conference on Architectural support for programming languages and operating systems, p.175-186, October 12-15, 1992, Boston, Massachusetts, United States
|
| |
17
|
B. Lampson. Protection. In Proc. 5th Princeton Conf. on Information Sciences and Systems, 1971.
|
| |
18
|
|
 |
19
|
|
| |
20
|
K. Mackenzie , J. Kubiatowicz , M. Frank , W Lee , V Lee , A. Agarwal , M. Kaashoek, Exploiting Two-Case Delivery for Fast Protected Messaging, Proceedings of the 4th International Symposium on High-Performance Computer Architecture, p.231, January 31-February 04, 1998
|
 |
21
|
|
| |
22
|
NS Notes and Documentation. http://www.isi.edu/vint/nsnam/, 2000.
|
 |
23
|
|
| |
24
|
Rational Software Corporation. Purify, 2002. http://www.rational.com/media/products/pqc/D610_PurifyPlus_unix.pdf.
|
| |
25
|
M. Rinard and et al. The FLEX compiler infrastructure. 1999-2001. http://www.flex-compiler.lcs.mit.edu.
|
 |
26
|
|
 |
27
|
Daniel J. Scales , Kourosh Gharachorloo , Chandramohan A. Thekkath, Shasta: a low overhead, software-only approach for supporting fine-grain shared memory, Proceedings of the seventh international conference on Architectural support for programming languages and operating systems, p.174-185, October 01-04, 1996, Cambridge, Massachusetts, United States
|
 |
28
|
Ioannis Schoinas , Babak Falsafi , Alvin R. Lebeck , Steven K. Reinhardt , James R. Larus , David A. Wood, Fine-grain access control for distributed shared memory, Proceedings of the sixth international conference on Architectural support for programming languages and operating systems, p.297-306, October 05-07, 1994, San Jose, California, United States
|
 |
29
|
Jonathan S. Shapiro , Jonathan M. Smith , David J. Farber, EROS: a fast capability system, Proceedings of the seventeenth ACM symposium on Operating systems principles, p.170-185, December 12-15, 1999, Charleston, South Carolina, United States
|
 |
30
|
T. von Eicken , A. Basu , V. Buch , W. Vogels, U-Net: a user-level network interface for parallel and distributed computing (includes URL), Proceedings of the fifteenth ACM symposium on Operating systems principles, p.40-53, December 03-06, 1995, Copper Mountain, Colorado, United States
|
| |
31
|
Thorsten von Eicken , Chi-Chao Chang , Grzegorz Czajkowski , Chris Hawblitzel , Deyu Hu , Dan Spoonhower, J-Kernel: a capability-based operating system for Java, Secure Internet programming: security issues for mobile and distributed objects, Springer-Verlag, London, 2001
|
| |
32
|
D. Wagner, J. S. Foster, E. A. Brewer, and A. Aiken. A first step towards automated detection of buffer overrun vulnerabilities. In Network and Distributed System Security Symposium, pages 3-17, San Diego, CA, February 2000.
|
 |
33
|
|
 |
34
|
|
| |
35
|
C. Yarvin, R. Bukowski, and T. Anderson. Anonymous RPC: Low-latency protection in a 64-bit address space. In USENIX Summer, pages 175-186, 1993.
|
 |
36
|
|
CITED BY 46
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Bhuvan Middha , Matthew Simpson , Rajeev Barua, MTSS: multi task stack sharing for embedded systems, Proceedings of the 2005 international conference on Compilers, architectures and synthesis for embedded systems, September 24-27, 2005, San Francisco, California, USA
|
|
|
|
|
|
|
|
|
Matthew Simpson , Bhuvan Middha , Rajeev Barua, Segment protection for embedded systems using run-time checks, Proceedings of the 2005 international conference on Compilers, architectures and synthesis for embedded systems, September 24-27, 2005, San Francisco, California, USA
|
|
|
Joel Coburn , Srivaths Ravi , Anand Raghunathan , Srimat Chakradhar, SECA: security-enhanced communication architecture, Proceedings of the 2005 international conference on Compilers, architectures and synthesis for embedded systems, September 24-27, 2005, San Francisco, California, USA
|
|
|
R. Shetty , M. Kharbutli , Y. Solihin , M. Prvulovic, HeapMon: a helper-thread approach to programmable, automatic, and low-overhead memory bug detection, IBM Journal of Research and Development, v.50 n.2/3, p.261-275, March 2006
|
|
|
Neil Vachharajani , Matthew J. Bridges , Jonathan Chang , Ram Rangan , Guilherme Ottoni , Jason A. Blome , George A. Reis , Manish Vachharajani , David I. August, RIFLE: An Architectural Framework for User-Centric Information-Flow Security, Proceedings of the 37th annual IEEE/ACM International Symposium on Microarchitecture, p.243-254, December 04-08, 2004, Portland, Oregon
|
|
|
Pin Zhou , Wei Liu , Long Fei , Shan Lu , Feng Qin , Yuanyuan Zhou , Samuel Midkiff , Josep Torrellas, AccMon: Automatically Detecting Memory-Related Bugs via Program Counter-Based Invariants, Proceedings of the 37th annual IEEE/ACM International Symposium on Microarchitecture, p.269-280, December 04-08, 2004, Portland, Oregon
|
|
|
|
|
|
|
|
|
Mark Aiken , Manuel Fähndrich , Chris Hawblitzel , Galen Hunt , James Larus, Deconstructing process isolation, Proceedings of the 2006 workshop on Memory system performance and correctness, October 22-22, 2006, San Jose, California
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Surupa Biswas , Thomas Carley , Matthew Simpson , Bhuvan Middha , Rajeev Barua, Memory overflow protection for embedded systems using run-time checks, reuse, and compression, ACM Transactions on Embedded Computing Systems (TECS), v.5 n.4, p.719-752, November 2006
|
|
|
|
|
|
|
|
|
Francis M. David , Jeffrey C. Carlyle , Ellick M. Chan , Philip A. Reames , Roy H. Campbell, Improving dependability by revisiting operating system design, Proceedings of the 3rd conference on Third Workshop on Hot Topics in System Dependability, p.1-1, June 26, 2007, Edinburgh, UK
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ted Huffmire , Brett Brotherton , Nick Callegari , Jonathan Valamehr , Jeff White , Ryan Kastner , Tim Sherwood, Designing secure systems on reconfigurable hardware, ACM Transactions on Design Automation of Electronic Systems (TODAES), v.13 n.3, p.1-24, July 2008
|
|
|
|
|
|
Úlfar Erlingsson , Martín Abadi , Michael Vrable , Mihai Budiu , George C. Necula, XFI: software guards for system address spaces, Proceedings of the 7th symposium on Operating systems design and implementation, November 06-08, 2006, Seattle, Washington
|
|
|
Ram Kumar , Akhilesh Singhania , Andrew Castner , Eddie Kohler , Mani Srivastava, A system for coarse grained memory protection in tiny embedded processors, Proceedings of the 44th annual conference on Design automation, June 04-08, 2007, San Diego, California
|
|
|
Susmit Biswas , Gang Wang , Tzvetan S. Metodi , Ryan Kastner , Frederic T. Chong, Combining static and dynamic defect-tolerance techniques for nanoscale memory systems, Proceedings of the 2007 IEEE/ACM international conference on Computer-aided design, November 05-08, 2007, San Jose, California
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Mohit Tiwari , Banit Agrawal , Shashidhar Mysore , Jonathan Valamehr , Timothy Sherwood, A small cache of large ranges: Hardware methods for efficiently searching, storing, and updating big dataflow tags, Proceedings of the 2008 41st IEEE/ACM International Symposium on Microarchitecture, p.94-105, November 08-12, 2008
|
|
|
|
|