You will develop and implement a small file system (“FS”). It is similar to some of the basics of Unix as well as CP/M file systems.
Your program (the “FS” executable) should provide the following operations:
Createfs #ofblocks – creates a filesystem (disk) with #ofblocks size, each 256 bytes
Formatfs #filenames #DABPTentries
For example Formatfs 64 48 reserves space for 64 file names and 48 file meta data
Savefs name– save the “disk” image in a file “name”
Openfs name- use an existing disk image
For example Savefs disk01 or Openfs disk01
List – list files (and other meta-information) in a FS
List what is in “your” directory
Remove name –remove named file from fs
Delete a user file, should reclaim the directory entry and file sectors
Rename oldname newname – rename a file stored in the FS
Just change user file name
Put ExternalFile – put (store) Host OS file into the disk
Get ExternalFile – get disk file, copy from “disk” to host OS file system
These operations put and get a user file from “outside” to and from your file system
User name – show/change name of user who owns this file
Link/Unlink – Unix style file linking
These are some more, common, meta operations, only changes something in directory,
not the data file contents
Full details in the attached file


0 comments