|
ABSTRACT
Developing kernel-level file systems is a difficult task that requires a significant time investment. For experimental file systems, it is desirable to develop a prototype before investing the time required to develop a kernel-level file system. We have built a ptrace monitoring infrastructure for file system development. Because our system runs entirely in user-space, debugging is made easier and it is possible to leverage existing tested user-level libraries. Because our monitor intercepts all OS entry points (system calls and signals) it is able to provide more functionality than other prototyping techniques, which are limited by the VFS interface (FUSE) or network protocols (user-level NFS servers). We have developed several example file systems using our framework, including a pass-through layered file system, a layered encryption file system, and a user-level ISO9660 file system. We analyzed the complexity of our code using cyclomatic complexity and other metrics. We show savings for a pass-through file system of 53% compared to existing user-level pass-through file systems and a factor of 4.7 reduction for an in-kernel pass-through file system. Our performance evaluation demonstrates that our infrastructure has an acceptable overhead of 18.4% for a pass-through file system.
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
|
Albert D. Alexandrov , Maximilian Ibel , Klaus E. Schauser , Chris J. Scheiman, Extending the operating system at the user level: the Ufo global file system, Proceedings of the annual conference on USENIX Annual Technical Conference, p.6-6, January 06-10, 1997, Anaheim, California
|
 |
2
|
|
| |
3
|
|
| |
4
|
Douglas P. Ghormley , David Petrou , Steven H. Rodrigues , Thomas E. Anderson, SLIC: an extensibility system for commodity operating systems, Proceedings of the annual conference on USENIX Annual Technical Conference, p.4-4, June 15-19, 1998, New Orleans, Louisiana
|
| |
5
|
P. Giarrusso. Fwd: Re: {patch 1/4} UML Support -- Ptrace: adds the host SYSEMU support, for UML and general usage, July 2005. www.uwsg.iu.edu/hypermail/linux/kernel/0507.3/1992.html.
|
| |
6
|
Ian Goldberg , David Wagner , Randi Thomas , Eric A. Brewer, A secure environment for untrusted helper applications confining the Wily Hacker, Proceedings of the 6th conference on USENIX Security Symposium, Focusing on Applications of Cryptography, p.1-1, July 22-25, 1996, San Jose, California
|
| |
7
|
V. Gough. Encfs, November 2005. http://arg0.net/wiki/encfs.
|
| |
8
|
A. Grünbacher. POSIX Access Control Lists on Linux. In Proceedings of the Annual USENIX Technical Conference, FREENIX Track, pages 259--272, San Antonio, TX, June 2003. USENIX Association.
|
| |
9
|
M. Haardt and M. Coleman. ptrace(2). Linux Programmer's Manual, Section 2, November 1999.
|
| |
10
|
M. A. Halcrow. eCryptfs: An Enterprise-class Encrypted Filesystem for Linux. In Proceedings of the 2005 Linux Symposium, pages 201--218, Ottawa, Canada, July 2005. Linux Symposium.
|
 |
11
|
|
| |
12
|
J. Katcher. PostMark: A New Filesystem Benchmark. Technical Report TR3022, Network Appliance, 1997. www.netapp.com/tech_library/3022.html.
|
| |
13
|
|
| |
14
|
T. Littlefair. An Investigation into the use of Software Code Metrics in the Industrial Software Development Environment. PhD thesis, Faculty of Communications, Health, and Science, Edith Cowan University, Mount Lawley Campus, June 2001.
|
| |
15
|
|
 |
16
|
|
| |
17
|
D. Morozhnikov. FUSE ISO File System, January 2006. http://fuse.sourceforge.net/wiki/index.php/FuseIso.
|
| |
18
|
H. V. Riedel and R. Bernstein. GNU Compact Disc Input and Control Library, www.gnu.org/software/libcdio/, October 2005.
|
 |
19
|
R. Sekar , V.N. Venkatakrishnan , Samik Basu , Sandeep Bhatkar , Daniel C. DuVarney, Model-carrying code: a practical approach for safe execution of untrusted applications, Proceedings of the nineteenth ACM symposium on Operating systems principles, October 19-22, 2003, Bolton Landing, NY, USA
|
| |
20
|
Sleepycat Software, Inc. Berkeley DB Reference Guide, 4.3.27 edition, December 2004. http://www.oracle.com/technology/documentation/berkeley-db/db/api_c/frame.html.
|
| |
21
|
Adam Sweeney , Doug Doucette , Wei Hu , Curtis Anderson , Mike Nishimoto , Geoff Peck, Scalability in the XFS file system, Proceedings of the 1996 annual conference on USENIX Annual Technical Conference, p.1-1, January 22-26, 1996, San Diego, CA
|
| |
22
|
M. Szeredi. Filesystem in Userspace. http://fuse.sourceforge.net, February 2005.
|
| |
23
|
|
| |
24
|
C. P. Wright, M. Martino, and E. Zadok. NCryptfs: A Secure and Convenient Cryptographic File System. In Proceedings of the Annual USENIX Technical Conference, pages 197--210, San Antonio, TX, June 2003. USENIX Association.
|
| |
25
|
C. P. Wright, R. Spillane, G. Sivathanu, and E. Zadok. Extending ACID Semantics to the File System. Technical Report FSL-06-01, Computer Science Department, Stony Brook University, January 2006. www.fsl.cs.sunysb.edu/docs/amino-tr/amino.pdf.
|
 |
26
|
|
CITED BY 2
|
|
Alex Edwards , Sean Tucker , Sébastien Worms , Rahul Vaidya , Brian Demsky, AFID: an automated fault identification tool, Proceedings of the 2008 international symposium on Software testing and analysis, July 20-24, 2008, Seattle, WA, USA
|
|
|
R. Spillane , R. Sears , C. Yalamanchili , S. Gaikwad , M. Chinni , E. Zadok, Story book: an efficient extensible provenance framework, First workshop on on Theory and practice of provenance, p.1-10, February 23, 2009, San Francisco, CA
|
|