PL EN


Preferencje help
Widoczny [Schowaj] Abstrakt
Liczba wyników
Czasopismo
2013 | Vol. 14 (3) | 345--365
Tytuł artykułu

Portable userspace virtual filesystem switch

Treść / Zawartość
Warianty tytułu
Języki publikacji
EN
Abstrakty
EN
Multiple different filesystems — including disk-based, network, distributed, abstract — are an integral part of every operating system. They are usually written as kernel modules and abstracted to the user via a virtual filesystem switch. In this paper, we analyze the feasibility of reimplementing the virtual filesystem switch as a userspace daemon and applicability of this approach in real-life usage. Such reimplementation will require a way to virtualize processes behavior related to filesystem operations. The problem is non-trivial, as we as-sume limited capabilities of the VFS switch implemented in userspace. We present a layered architecture comprising of a monitoring process, the VFS abstraction and real filesystem implementations. All working in userspace. Then, we evaluate this solution in four areas: portability, feasibility, usability, and performance. Our results demonstrate possible gains in the use of a userspace-based approach with monolithic kernels, but also underline problems that are encountered in this approach.
Wydawca

Czasopismo
Rocznik
Strony
345--365
Opis fizyczny
Bibliogr. 19 poz. rys., tab.
Twórcy
autor
autor
Bibliografia
  • [1] Apple Darwin/OS-X manual
  • [2] Linux Programmer’s Manual, section 2. https://www.kernel.org/doc/man-pages/online/pages/man2/select.2.html
  • [3] Linux Programmer’s Manual, section 4. https://www.kernel.org/doc/manpages/online/pages/man4/epoll.4.html
  • [4] Linux Programmer’s Manual, section 8. https://www.kernel.org/doc/manpages/online/pages/man8/ld.so.8.html
  • [5] Filesystem in Userspace, 2011. http://fuse.sourceforge.net/.
  • [6] FUSE Wiki — File systems using FUSE, 2011. http://sourceforge.net/apps/mediawiki/fuse/index.php?title=FileSystems
  • [7] Linux Kernel Documentation, 2012. http://lxr.linux.no/linux+v3.2.6/Documentation/filesystems/fuse.txt.
  • [8] Corbet J., Rubini A., and Kroah-Hartman G.: Linux Device Drivers, Third Edition. O’Reilly Media, 2005. https://lwn.net/Kernel/LDD3/.
  • [9] The GNOME Project:GIO Reference Manual, 2011. http://developer.gnome.org/gio/stable/.
  • [10] Herder J., Bos H., and Tanenbaum A.: A lightweight method for building reliable operating systems despite unreliable device drivers. Tech. rep., Vrije Universiteit, Amsterdam, The Netherlands, 2006.
  • [11] Kantee A. and Crooks A.: ReFUSE: Userspace FUSE Reimplementation Using puffs. In: Proc. of the 6th European BSD Conference (EuroBSDCon). 2007.
  • [12] Larsson A.:gvfs status report. http://mail.gnome.org/archives/gtk-devel-list/2007-February/msg00062.html.
  • [13] Lemon J.:Kqueue - A Generic and Scalable Event Notification Facility. In: Proceedings of the FREENIX Track: 2001 USENIX Annual Technical Conference, pp. 141–153. USENIX Association, 2001. ISBN 1880446103. http://dl.acm.org/citation.cfm?id=647054.715764.
  • [14] Leslie B., Chubb P., Fitzroy-Dale N., G ̈otz S., Gray C., Macpherson L., Potts D., Shen Y.T., Elphinstone K., and Heiser G.: User-Level Device Drivers: Achieved Performance. Journal of Computer Science and Technology , vol. 20, pp. 654–664, 2005. ISSN 1000-9000. URL http://dx.doi.org/10.1007/s11390-005-0654-4.
  • [15] Modine A.: Linus calls Linux ’bloated and huge’. http://www.theregister.co.uk/2009/09/22/linus_torvalds_linux_bloated_huge/.
  • [16] Rajgarhia A. and Gehani A.: Performance and extension of user space file systems .In: Proceedings of the 2010 ACM Symposium on Applied Computing, pp.206–213. ACM, 2010.
  • [17] The SCO Group, Inc.:SCO UnixWare 7 manual, section 2. http://uw714doc.sco.com/en/man/html.2/ptrace.2.html.
  • [18] Spillane R.P., Wright C.P., Sivathanu G., and Zadok E.: Rapid file system development using ptrace .In: Proceedings of the 2007 workshop on Experimental computer science, ExpCS ’07. ACM, New York, NY, USA, 2007. ISBN 978-1-59593-751-3. http://doi.acm.org/10.1145/1281700.1281722.
  • [19] Thurlow R.: RFC 5531 RPC: Remote Procedure Call Protocol Specification: Version 2, 2009.
Typ dokumentu
Bibliografia
Identyfikatory
Identyfikator YADDA
bwmeta1.element.baztech-4c9d53b9-7aef-4de9-b6b7-b5054dd5cf13
JavaScript jest wyłączony w Twojej przeglądarce internetowej. Włącz go, a następnie odśwież stronę, aby móc w pełni z niej korzystać.