i thougth about a system who could write a file entry in the filesystem the first time it's mounted with an unique id identifying it, possibly based on a combination of serial/volume name/type of drive, and then this id could be used to reference the hard drive on the system, no matter on which bus it is, it could work at little scale like at home but probably not at large scale due to the need of each id to be unique, and it wouldn't work for read only filesystem, but for read only file system like iso , some crc could be made on the data, like on the table index, to identiify the drive on the system
with mount point, it can also allow the opposite functionality, if for example on a station some back up hard drive would be mounted on a particular point, the softwae wouldn't need to care which hard drive it is on to reference it's file system, only the mount point matter, but that could also be achieved by some system of alias without too much problem, and i don't think it's a common use for home computer, as each hard drive and filesystem would be unique and having it's own role of functionally, unlike on station where any hard drive or storage device could be used to store the same information with ghost copies or raid - like system
i don't know if all type of drive have serial number, or if serial number could be enought, cause an hard drive can be reformated and in that case the file system on it would not be the one corresponding to the references of file path stroed for that serial number, or sometime it can also be usefull to abstract the actual hardware, like if raid like system could be used, or ghost file system copies froma disk to another, file path should still be able to resolve to the good filesystem even if it has been copied from a drive to another, even from an harddrive to an usb stick
the best of the best would be to make a filesystem that can identify some ressource on itself, like a filesystem would work wih 'bundles' that represent either the folder of an application, or a game, or some unique id that would be used for any 'bundle' that would include all sub directories as the id, and then those bundles could be copied from a file system to another without problem, and an application could be moved from a place to another without any need for reinstallting anything, if would just make the process of file openning a bit longer , as all filesystems should be parsed to find a particular ressource, but bundles could be also stored in an index table for the filesystem, and certain number of things could be cached
in itself it would be close to the system of package on unix, except all files would be access via the name of the package they belong to, and the system would keep track of where the file of that package are located on the system, theorically it could even allow for two different version of the same application to be installed in the same time and switched to easily with aliases
one would then use concept related to package or bundles to manipulate file system instead of regular file path
on macos they use this system with bundle or framework and make an abtraction of the file system to reference a file throught it's framework or bundle, you can include a file in a program throught it's frame work name and not throught it's file path, i found this system can be usefull and nice, even if i found it more boring and annoying than anything on macos, it could be improved
_________________ https://gitlab.com/h0bby1/micro-kernel
|