Skip to content

Latest commit

 

History

History
31 lines (25 loc) · 1.76 KB

readme.md

File metadata and controls

31 lines (25 loc) · 1.76 KB

Filesystem

This repo implements a "virtual" CLI filesystem that i have conceptualised based on osdev wiki explaining FileSystems, and directory/file commands of linux and windows CMDs.

This was created just for fun!

The objectives to be implemented are:

  • Tracking the available storage space
  • Tracking which block or blocks of data belong to which files
  • Creating new files
  • Reading data from existing files into memory
  • Updating the data in the files
  • Deleting existing files

Additionally

  • Assigning human-readable names to files, and renaming files after creation
  • Allowing files to be divided among non-contiguous blocks in storage, and tracking the parts of files even when they are fragmented across the medium
  • Providing some form of hierarchical structure, allowing the files to be divided into directories or folders
  • Buffering reading and writing to reduce the number of actual operation on the physical medium
  • Caching frequently accessed files or parts of files to speed up access
  • Allowing files to be marked as 'read-only' to prevent unintentional corruption of critical data
  • Providing a mechanism for preventing unauthorized access to a user's files

It will be implemented based on the inode indexing method as reference

Ref: