Discussions on more advanced topics such as monolithic vs micro-kernels, transactional memory models, and paging vs segmentation should go here. Use this forum to expand and improve the wiki!
struct file{
int exists;//boolean
int isUsed;//To prevent deletion of critical parts and to avoid conflict
int name;
int location;//name is probably unnecessary with location...
};
struct folder{
contents[];//not so sure of using an array for this
int name;
int exists;
int isUsed;
int location;//If it is a sub folder
int isSubFolder;//Boolean
};
Well this is basically how you would describe a filesystem based on your own observation of it, I guess. I suggest taking a look at JamesM's VFS (Virtual File System) tutorial. Enjoy!
"Computers in the future may weigh no more than 1.5 tons.", Popular Mechanics (1949)
[ Project UDI ]
Adding a type descriptor isn't unnecessary, it's what MacOS did. They were normally 3 or 4 character strings to determine the type.
Also, that's a nifty idea, I should try converting it to NASM!
Solar wrote:It keeps stunning me how friendly we - as a community - are towards people who start programming "their first OS" who don't even have a solid understanding of pointers, their compiler, or how a OS is structured.