Title
User-Level Management of Kernel Memory
Abstract
Kernel memory is a resource that must be managed carefully in order to ensure the efficiency and safety of the system. The use of an inappropriate management policy can weaken the isolation between subsystems, lead to suboptimal performance, and even make the kernel vulnerable to denial-of-service attacks. Yet, many existing kernels use only a single built-in policy, which is always a compromise between performance and generality. In this paper, we address this problem by exporting control over kernel memory to user-level pagers. Thus, subsystems can implement their own application-specific management policies while independent subsystems can still be isolated from each other. The pagers have full control over the memory resources they manage; they can even preempt and later restore individual pages of kernel memory. Still, protection is not compromised because the kernel converts its metadata into a safe representation before exporting it. Therefore, pagers need only be trusted by their respective clients. We describe the model we use to page kernel memory and various techniques for obtaining a safe external representation for kernel metadata. We also report experiences with an experimental kernel that implements our scheme and outline our plans to further develop the approach.
Year
DOI
Venue
2003
10.1007/978-3-540-39864-6_23
ADVANCES IN COMPUTER SYSTEMS ARCHITECTURE
Keywords
Field
DocType
denial of service attack,memory management
Address space,Copy-on-write,System safety,Computer security,Computer science,Virtual memory,Page table,Kernel preemption,Page fault,Kernel (statistics)
Conference
Volume
ISSN
Citations 
2823
0302-9743
5
PageRank 
References 
Authors
0.68
23
2
Name
Order
Citations
PageRank
Andreas Haeberlen1150597.07
K. Elphinstone2119065.76