{'fraction_non_alphanumeric': 0.023172905525846704, 'fraction_numerical': 0.0, 'mean_word_length': 5.567251461988304, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Lukasz Faber Krzysztof Boryczko PORTABLE USERSPACE VIRTUAL FILESYSTEM SWITCH

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 assume 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 userspacebased approach with monolithic kernels, but also underline problems that are encountered in this approach.