{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,1,30]],"date-time":"2024-01-30T06:40:45Z","timestamp":1706596845811},"reference-count":30,"publisher":"Association for Computing Machinery (ACM)","issue":"3","content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Comput. Syst."],"published-print":{"date-parts":[[1998,8]]},"abstract":"In this article we show how to extend a wide range of functionality of standard operation systems completely at the user level. Our approach works by intercepting selected system calls at the user level, using tracing facilities such as the \/proc file system provided by many Unix operating systems. The behavior of some intercepted system calls is then modified to implement new functionality. This approach does not require any relinking or recompilation of existing applications. In fact, the extensions can even be dynamically \u201cinstalled\u201d into already running processes. The extensions work completely at the user level and install without system administrator assistance. Individual users can choose what extensions to run, in effect creating a personalized operating system view for themselves. We used this approach to implement a global file system, called Ufo, which allows users to treat remote files exactly as if they were local. Currently, Ufo supports file access through the FTP and HTTP protocols and allows new protocols to be plugged in. While several other projects have implemented global file system abstractions, they all require either changes to the operating system or modifications to standard libraries. The article gives a detailed performance analysis of our approach to extending the OS and establishes that Ufo introduces acceptable overhead for common applications even though intercepting individual system calls incurs a high cost.<\/jats:p>","DOI":"10.1145\/290409.290410","type":"journal-article","created":{"date-parts":[[2002,7,27]],"date-time":"2002-07-27T11:28:46Z","timestamp":1027769326000},"page":"207-233","update-policy":"http:\/\/dx.doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":42,"title":["UFO"],"prefix":"10.1145","volume":"16","author":[{"given":"Albert D.","family":"Alexandrov","sequence":"first","affiliation":[{"name":"Univ. of California at Santa Barbara, Santa Barbara"}]},{"given":"Maximilian","family":"Ibel","sequence":"additional","affiliation":[{"name":"Univ. of California at Santa Barbara, Santa Barbara"}]},{"given":"Klaus E.","family":"Schauser","sequence":"additional","affiliation":[{"name":"Univ. of California at Santa Barbara, Santa Barbara"}]},{"given":"Chris J.","family":"Scheiman","sequence":"additional","affiliation":[{"name":"Univ. of California at Santa Barbara, Santa Barbara"}]}],"member":"320","published-online":{"date-parts":[[1998,8]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"Proceedings of the 13th ACM Symposium on Operating Systems Principles (SOSP '91","author":"BAKER M. G.","year":"1991","unstructured":"BAKER , M. G. , HARTMANN , J. H. , KUPFER , J. H. , SHIRRIF , K. W. , AND OUSTERHOUT , J. K. 1991 . Measurement of a distributed file system . In Proceedings of the 13th ACM Symposium on Operating Systems Principles (SOSP '91 , Pacific Grove, CA, Oct. 13-16). ACM Press, New York, NY.]] 10.1145\/121132.121164 BAKER, M. G., HARTMANN, J. H., KUPFER, J. H., SHIRRIF, K. W., AND OUSTERHOUT, J. K. 1991. Measurement of a distributed file system. In Proceedings of the 13th ACM Symposium on Operating Systems Principles (SOSP '91, Pacific Grove, CA, Oct. 13-16). ACM Press, New York, NY.]] 10.1145\/121132.121164"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/224057.224077"},{"key":"e_1_2_1_3_1","doi-asserted-by":"crossref","unstructured":"BROWNBRIDGE D. R. AND MARSHALL L. F. 1982. The Newcastle Connection or UNIXes of the world unite!. Softw. Pract. Exper. 12.]] BROWNBRIDGE D. R. AND MARSHALL L. F. 1982. The Newcastle Connection or UNIXes of the world unite!. Softw. Pract. Exper. 12.]]","DOI":"10.1002\/spe.4380121206"},{"key":"e_1_2_1_4_1","volume-title":"Proceedings of the 16th Symposium on Operating Systems Principles (SOSP '97","author":"BUGNION E.","year":"1997","unstructured":"BUGNION , E. , DEVINE , S. , AND ROSENBLUM , M. 1997 . Disco: Running commodity operating systems on scalable multiprocessors . In Proceedings of the 16th Symposium on Operating Systems Principles (SOSP '97 , Saint-Malo, France). ACM Press, New York, NY.]] 10.1145\/268998.266672 BUGNION, E., DEVINE, S., AND ROSENBLUM, M. 1997. Disco: Running commodity operating systems on scalable multiprocessors. In Proceedings of the 16th Symposium on Operating Systems Principles (SOSP '97, Saint-Malo, France). ACM Press, New York, NY.]] 10.1145\/268998.266672"},{"key":"e_1_2_1_5_1","volume-title":"Proceedings of the 1992 USENIX File System Workshop","author":"CATE V.","year":"1992","unstructured":"CATE , V. 1992 . ALEX--A global file system . In Proceedings of the 1992 USENIX File System Workshop ( Ann Arbor, MI, May). USENIX Assoc., Berkeley, CA.]] CATE, V. 1992. ALEX--A global file system. In Proceedings of the 1992 USENIX File System Workshop (Ann Arbor, MI, May). USENIX Assoc., Berkeley, CA.]]"},{"key":"e_1_2_1_6_1","volume-title":"Proceedings of the 1st USENIX Symposium on Operating Systems Design and Implementation","author":"DAHLIN M.","year":"1994","unstructured":"DAHLIN , M. , WANG , R. , ANDERSON , T. , AND PATTERSON , D. 1994 . Cooperative caching: Using remote client memory to improve file system performance . In Proceedings of the 1st USENIX Symposium on Operating Systems Design and Implementation ( Monterey, CA, May). USENIX Assoc., Berkeley, CA.]] DAHLIN, M., WANG, R., ANDERSON, T., AND PATTERSON, D. 1994. Cooperative caching: Using remote client memory to improve file system performance. In Proceedings of the 1st USENIX Symposium on Operating Systems Design and Implementation (Monterey, CA, May). USENIX Assoc., Berkeley, CA.]]"},{"key":"e_1_2_1_7_1","volume-title":"Proceedings of the USENIX","author":"EGGERT P. R.","year":"1993","unstructured":"EGGERT , P. R. AND PARKER , D. S. 1993 . File systems in user space . In Proceedings of the USENIX Winter 1993 Technical Conference (Berkeley, CA). USENIX Assoc., Berkeley, CA.]] EGGERT, P. R. AND PARKER, D. S. 1993. File systems in user space. In Proceedings of the USENIX Winter 1993 Technical Conference (Berkeley, CA). USENIX Assoc., Berkeley, CA.]]"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/224057.224076"},{"key":"e_1_2_1_9_1","volume-title":"Proceedings of the 1991 Winter USENIX Conference. USENIX Assoc.","author":"FAULKNER R.","year":"1991","unstructured":"FAULKNER , R. AND GOMES , R. 1991 . The process file system and process model in UNIX system V . In Proceedings of the 1991 Winter USENIX Conference. USENIX Assoc. , Berkeley, CA.]] FAULKNER, R. AND GOMES, R. 1991. The process file system and process model in UNIX system V. In Proceedings of the 1991 Winter USENIX Conference. USENIX Assoc., Berkeley, CA.]]"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/224057.224072"},{"key":"e_1_2_1_11_1","volume-title":"Userfs: A file system for Linux. ftp:\/\/sunsite.unc.edu\/pub\/Linux\/ ALPHA\/userfs\/userfs-0.9.tar.gz.]]","author":"FITZHARDINGE J.","year":"1996","unstructured":"FITZHARDINGE , J. 1996 . Userfs: A file system for Linux. ftp:\/\/sunsite.unc.edu\/pub\/Linux\/ ALPHA\/userfs\/userfs-0.9.tar.gz.]] FITZHARDINGE, J. 1996. Userfs: A file system for Linux. ftp:\/\/sunsite.unc.edu\/pub\/Linux\/ ALPHA\/userfs\/userfs-0.9.tar.gz.]]"},{"key":"e_1_2_1_12_1","volume-title":"Microkernels meet recursive virtual machines. In Proceedings of the 2nd Symposium on Operating Systems Design and Implementation (OSDI '96","author":"FORD B.","year":"1996","unstructured":"FORD , B. , HIBLER , M. , LEPREAU , J. , TULLMAN , P. , BACK , G. , AND CLAWSON , S. 1996 . Microkernels meet recursive virtual machines. In Proceedings of the 2nd Symposium on Operating Systems Design and Implementation (OSDI '96 , Seattle, WA, Oct.). ACM Press, New York, NY.]] 10.1145\/238721.238769 FORD, B., HIBLER, M., LEPREAU, J., TULLMAN, P., BACK, G., AND CLAWSON, S. 1996. Microkernels meet recursive virtual machines. In Proceedings of the 2nd Symposium on Operating Systems Design and Implementation (OSDI '96, Seattle, WA, Oct.). ACM Press, New York, NY.]] 10.1145\/238721.238769"},{"key":"e_1_2_1_13_1","volume-title":"SLIC: Secure loadable interposition code. Tech. Rep. CSD-96-920. Computer Science Department","author":"GHORMLEY D. P.","year":"1996","unstructured":"GHORMLEY , D. P. , PETROU , D. , AND ANDERSON , T. E. 1996 . SLIC: Secure loadable interposition code. Tech. Rep. CSD-96-920. Computer Science Department , University of California at Berkeley , Berkeley, CA .]] GHORMLEY, D. P., PETROU, D., AND ANDERSON, T. E. 1996. SLIC: Secure loadable interposition code. Tech. Rep. CSD-96-920. Computer Science Department, University of California at Berkeley, Berkeley, CA.]]"},{"key":"e_1_2_1_14_1","volume-title":"Proceedings of the 1996 USENIX Security Symposium. USENIX Assoc.","author":"GOLDBERG I.","year":"1996","unstructured":"GOLDBERG , I. , WAGNER , D. , THOMAS , R. , AND BREWER , E. n. 1996 . A secure environment for untrusted helper applications--Confining the wily hacker . In Proceedings of the 1996 USENIX Security Symposium. USENIX Assoc. , Berkeley, CA.]] GOLDBERG, I., WAGNER, D., THOMAS, R., AND BREWER, E.n. 1996. A secure environment for untrusted helper applications--Confining the wily hacker. In Proceedings of the 1996 USENIX Security Symposium. USENIX Assoc., Berkeley, CA.]]"},{"key":"e_1_2_1_15_1","doi-asserted-by":"crossref","first-page":"6","DOI":"10.1109\/MC.1974.6323581","article-title":"Survey of virtual machine research","volume":"7","author":"GOLDBERG R. P.","year":"1974","unstructured":"GOLDBERG , R. P. 1974 . Survey of virtual machine research . Computer 7 , 6 (June).]] GOLDBERG, R. P. 1974. Survey of virtual machine research. Computer 7, 6 (June).]]","journal-title":"Computer"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/198153.198163"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/35037.35059"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/173668.168626"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/5666.5671"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/35037.42183"},{"key":"e_1_2_1_21_1","volume-title":"Proceedings of the USENIX Mobile and Location- Independent Computing Symposium. USENIX Assoc.","author":"NEUMANN B. C.","year":"1993","unstructured":"NEUMANN , B. C. , AUGART , S. S. , AND UPASANI , S. 1993 . Using Prospero to support integrated location-independent computing . In Proceedings of the USENIX Mobile and Location- Independent Computing Symposium. USENIX Assoc. , Berkeley, CA.]] NEUMANN, B. C., AUGART, S. S., AND UPASANI, S. 1993. Using Prospero to support integrated location-independent computing. In Proceedings of the USENIX Mobile and Location- Independent Computing Symposium. USENIX Assoc., Berkeley, CA.]]"},{"key":"e_1_2_1_22_1","volume-title":"Ange-ftp manual","author":"NORMAN A.","unstructured":"NORMAN , A. 1992. Ange-ftp manual . Free Software Foundation , Cambridge, MA . ftp:\/\/ alpha.gnu.ai.mit.edu\/ange-ftp\/ange-ftp.tar.gz]] NORMAN, A. 1992. Ange-ftp manual. Free Software Foundation, Cambridge, MA. ftp:\/\/ alpha.gnu.ai.mit.edu\/ange-ftp\/ange-ftp.tar.gz]]"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/88237.88242"},{"key":"e_1_2_1_24_1","volume-title":"Proceedings of the UK Unix Users Group.]]","author":"PIKE R.","year":"1990","unstructured":"PIKE , R. , PRESOTTO , D. , THOMPSON , K. , AND TRICKEY , H. 1990 . Plan 9 from Bell Labs . In Proceedings of the UK Unix Users Group.]] PIKE, R., PRESOTTO, D., THOMPSON, K., AND TRICKEY, H. 1990. Plan 9 from Bell Labs. In Proceedings of the UK Unix Users Group.]]"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.232026"},{"key":"e_1_2_1_26_1","volume-title":"Proceedings of the Summer USENIX Conference. USENIX Assoc.","author":"SANDBERG R.","year":"1985","unstructured":"SANDBERG , R. , GOLDBERG , D. , KLEIMAN , S. , WALSH , D. , AND LYON , B. 1985 . Design and implementaiton of the Sun network file system . In Proceedings of the Summer USENIX Conference. USENIX Assoc. , Berkeley, CA.]] SANDBERG, R., GOLDBERG, D., KLEIMAN, S., WALSH, D., AND LYON, B. 1985. Design and implementaiton of the Sun network file system. In Proceedings of the Summer USENIX Conference. USENIX Assoc., Berkeley, CA.]]"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1109\/12.54838"},{"key":"e_1_2_1_28_1","volume-title":"Proceedings of the 1996 USENIX Technical Conference","author":"SELTZER M.","year":"1996","unstructured":"SELTZER , M. AND SMALL , C. 1996 . A comparison of OS extension technologies . In Proceedings of the 1996 USENIX Technical Conference ( San Diego, CA, Jan.). USENIX Assoc., Berkeley, CA.]] SELTZER, M. AND SMALL, C. 1996. A comparison of OS extension technologies. In Proceedings of the 1996 USENIX Technical Conference (San Diego, CA, Jan.). USENIX Assoc., Berkeley, CA.]]"},{"key":"e_1_2_1_30_1","first-page":"2","article-title":"The Condor distributed processing system","volume":"20","author":"TANNENBAUM T.","year":"1995","unstructured":"TANNENBAUM , T. AND LITZKOW , M. 1995 . The Condor distributed processing system . Dr. Dobb's J. 20 , 2 (Feb.).]] TANNENBAUM, T. AND LITZKOW, M. 1995. The Condor distributed processing system. Dr. Dobb's J. 20, 2 (Feb.).]]","journal-title":"Dr. Dobb's J."},{"key":"e_1_2_1_32_1","first-page":"4","article-title":"Measured performance of caching in the Sprite network file system","volume":"3","author":"WELCH B. B.","year":"1991","unstructured":"WELCH , B. B. 1991 . Measured performance of caching in the Sprite network file system . Comput. Syst. 3 , 4 .]] WELCH, B. B. 1991. Measured performance of caching in the Sprite network file system. Comput. Syst. 3, 4.]]","journal-title":"Comput. Syst."}],"container-title":["ACM Transactions on Computer Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/290409.290410","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,12,31]],"date-time":"2022-12-31T07:46:02Z","timestamp":1672472762000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/290409.290410"}},"subtitle":["a personal global file system based on user-level extensions to the operating system"],"short-title":[],"issued":{"date-parts":[[1998,8]]},"references-count":30,"journal-issue":{"issue":"3","published-print":{"date-parts":[[1998,8]]}},"alternative-id":["10.1145\/290409.290410"],"URL":"https:\/\/doi.org\/10.1145\/290409.290410","relation":{},"ISSN":["0734-2071","1557-7333"],"issn-type":[{"value":"0734-2071","type":"print"},{"value":"1557-7333","type":"electronic"}],"subject":[],"published":{"date-parts":[[1998,8]]},"assertion":[{"value":"1998-08-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}