Joe, the virtual file system hooks work comparably to ‘real’ file
systems in that you can ‘mount’ a new file system at a particular point
in the directory tree.
Let’s say you’ve downloaded your starkit to /home/foo/my.kit. When you
run the starkit, the file system inside it essentially gets mounted at
that location in the directory tree. So if you try to access
/home/foo/my.kit/bar/data.txt, that will look inside the starkit. If
you try to access /home/foo/other.dat, it will look in the regular file
system, because the starkit isn’t mounted there.
So the nice thing is that it’s all transparent. You just use the
regular commands you’d used to operate on any old file, and the internal
I/O system will figure out what ‘filesystem’ you’re working on based
upon the path names.
Like any virtual file system based thing, the same approach is used for
other filesystems… e.g. one that maps an http server to a file system.