| | |
Summary: Transforming Policies into Mechanisms with Infokernel
Andrea C. ArpaciDusseau, Remzi H. ArpaciDusseau, Nathan C. Burnett, Timothy E. Denehy,
Thomas J. Engle, Haryadi S. Gunawi, James A. Nugent, and Florentina I. Popovici
Department of Computer Sciences, University of Wisconsin Madison
{dusseau, remzi, ncb, tedenehy, englet, haryadi, damion, popovici}@cs.wisc.edu
ABSTRACT
We describe an evolutionary path that allows operating sys
tems to be used in a more flexible and appropriate manner
by higherlevel services. An infokernel exposes key pieces of
information about its algorithms and internal state; thus,
its default policies become mechanisms, which can be con
trolled from userlevel. We have implemented two prototype
infokernels based on the Linux 2.4 and NetBSD 1.5 kernels,
called infoLinux and infoBSD, respectively. The infokernels
export key abstractions as well as basic information prim
itives. Using infoLinux, we have implemented four case
studies showing that policies within Linux can be manipu
lated outside of the kernel. Specifically, we show that the
default file cache replacement algorithm, file layout policy,
disk scheduling algorithm, and TCP congestion control algo
|