IDEALS Home University of Illinois at Urbana-Champaign logo The Alma Mater The Main Quad

UFO: A General-Purpose User-Mode Memory Protection Technique for Application Use

Show full item record

Bookmark or cite this item: http://hdl.handle.net/2142/11287

Files in this item

File Description Format
PDF UFO A General-P ... ue for Application Use.pdf (318KB) (no description provided) PDF
Title: UFO: A General-Purpose User-Mode Memory Protection Technique for Application Use
Author(s): Neelakantam, Naveen; Zilles, Craig
Subject(s): computer science
Abstract: In this paper, we advocate for a general-purpose, fine-grain memory protection mechanism for use by applications and software development tools. The hardware component of this mechanism consists of two bits (fault-on-read and fault-on-write) that are associated with each cache block and transferred with the block by the cache coherence system. When an access is performed that violates the protection on the block, a user handler is called, which can perform an arbitrary software-defined action. We describe a complete implementation that handles real world issues like protecting arbitrarily large regions, context switches, swapping, and multiprocessing. We demonstrate three examples of this mechanism in applications: 1) to detect self-modifying code (SMC) in a dynamic translator, 2) to detect common memory-related software bugs, and 3) to guard mostly-invariant heap variables in order to enable speculative optimizations. Because checking for conflicts does not directly impact performance, we find our mechanism has run-time overhead that is either negligible or at least comparable to special-purpose hardware for the same application. Furthermore, by virtue of providing a software interface to use the fine-grain protection mechanism, we can support multiple uses of the protection mechanism within the same application, enabling arbitrary composition of tools and libraries which use it.
Issue Date: 2007-01
Genre: Technical Report
Type: Text
URI: http://hdl.handle.net/2142/11287
Other Identifier(s): UIUCDCS-R-2007-2808
Rights Information: You are granted permission for the non-commercial reproduction, distribution, display, and performance of this technical report in any format, BUT this permission is only for a period of 45 (forty-five) days from the most recent time that you verified that this technical report is still available from the University of Illinois at Urbana-Champaign Computer Science Department under terms that include this permission. All other rights are reserved by the author(s).
Date Available in IDEALS: 2009-04-21
 

This item appears in the following Collection(s)

Show full item record

Item Statistics

  • Total Downloads: 699
  • Downloads this Month: 16
  • Downloads Today: 0

Browse

My Account

Information

Access Key