TITLE:
Zion File System Simulator
AUTHORS:
Frederic Paladin, D. Robert Adams
KEYWORDS:
File System, Simulation, I/O Manager, Volume Manager, Operating System
JOURNAL NAME:
Journal of Computer and Communications,
Vol.4 No.4,
March
23,
2016
ABSTRACT: File systems are fundamental for computers
and devices with data storage units. They allow operating systems to understand
and organize streams of bytes and obtain readable files from them. There are
numerous file systems available in the industry, all with their own unique
features. Understanding how these file systems work is essential for computer
science students, but their complex nature can be difficult and challenging to
grasp, especially for students at the beginning of their career. The Zion File
System Simulator was designed with this in mind. Zion is a teaching and
experimenting tool, in the form of a small application, built to help students
understand how the I/O manager of an operating system interacts with the drive
through the file system. Users can see and analyze the structure of a simple,
flat file system provided with Zion, or simulate the most common structures
such as FAT or NTFS. Students can also create their own implementations and run
them through the simulator to analyze the different behaviors. Zion runs on
Windows, and the application is provided with dynamic-link libraries that
include the interfaces of a file system and a volume manager. These interfaces
allow programmers to build their own file system or volume manager in Visual
Studio using any .NET language (3.0 or above). Zion gives the users the power
to adjust simulated architectural parameters such as volume and block size, or
performance factors such as seek and transfer time. Zion runs workloads of I/O
operations such as “create,” “delete,” “read,” and “write,” and analyzes the
resulting metrics including I/O operations, read/write time, and disk
fragmentation. Zion is a learning tool. It is not designed for measuring
accurate performance of file systems and volume managers. The robustness of the
application, together with its expandability, makes Zion a potential laboratory
tool for computer science classes, helping students learn how file systems work
and interact with an operating system.