Problems with Folders
Moving Beyond Hierarchical File Systems
Traditional folder hierarchies can be restrictive and inefficient for modern computing needs. Morinaga OS proposes a tag-based file system using Btrfs modifications to improve file organization and access.
Tag-Based File System
Concept Overview
Instead of placing files within directories, each file is associated with one or more tags. This allows for flexible organization and retrieval based on metadata rather than location.
Implementing in Btrfs
Modify Btrfs to support tagging:
- Extend Inode Structure: Add a tag list to the inode metadata.
- Tag Management Utilities: Develop tools to add, remove, and search for tags.
- Symlink-Like Access: Use process IDs or names to create virtual directories representing the tags accessible to specific processes.
Code Modifications
In the Btrfs source code:
// In inode.h
struct btrfs_inode {
// Existing members
struct list_head tags; // List of tags
};
// In tag management functions
int btrfs_add_tag(struct inode *inode, const char *tag);
int btrfs_remove_tag(struct inode *inode, const char *tag);
struct list_head *btrfs_get_tags(struct inode *inode);
Access Control
Files can be accessed by processes that have matching tags. This ensures that processes only interact with relevant files.
Searching and Retrieval
Implement efficient search algorithms to find files based on tags:
- Use hash tables or indexing structures.
- Optimize for quick lookup and minimal overhead.
Benefits
- Flexibility: Files can belong to multiple categories without duplication.
- Scalability: Easier to manage large numbers of files.
- Integration with FORTRAN: Use stenographic inputs to quickly search and access files by tags.