SimpleFS - Missing from WIKI and Brendan's site

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re:SimpleFS - Missing from WIKI and Brendan's site

Post by Combuster »

1: on floppies, the superblock is the first sector. The reserved area is whatever you want to reserve for bootloaders and second stage loaders. If you want a second stage to be loaded from the filesystem, the amount of reserved sectors equals one - the bootsector itself, otherwise, add as many sectors as your second stage needs.

2: SFS floppies are just as bootable as FAT or any other homebrew format. Just make sure the last word has to correct magic number (thats 0x55AA iirc)

3: That's meant to eliminate steps in filesystem reading - you can look everything up in the index without having to seek all over the disk to recurse through several directories. Basically its SFS thinking.

4: There are no references to deleted files anywhere, only holes. This is just a sort of laziness, you just empty the index entry and be done with it.

5: if you do KISS, yes, but if you want you can employ some advanced logic to shift the file to where it can eat the space it needs

6: Two methods: you loop through the index and check for every block if its used or not, like a bitmap. Otherwise you check the distance between data area end and index start (Index and data area can grow, the unused space between them will, obviously, be unused). Personally i use the last method, and then attempt to defragment when theres no space left there.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
earlz

Re:SimpleFS - Missing from WIKI and Brendan's site

Post by earlz »

I find that so simple and lazy that it's complex
it makes it a bottle neck with you at the other end of the bottle(fast until something unusual happens)
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re:SimpleFS - Missing from WIKI and Brendan's site

Post by Combuster »

SFS isnt designed to be fast, only simple and free of copyright issues. I dont see any more complexity than what i add myself
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
User avatar
Candy
Member
Member
Posts: 3882
Joined: Tue Oct 17, 2006 11:33 pm
Location: Eindhoven

Post by Candy »

Hate to pull a dead thread from the wastes, but the website seems to be dead & gone again. Brendan, do you still have the spec & can I put up a backup for it?
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Post by Combuster »

Candy wrote:Hate to pull a dead thread from the wastes, but the website seems to be dead & gone again. Brendan, do you still have the spec & can I put up a backup for it?
...should've made a backup while I had the chance... ](*,)

With your permission, can I host a copy on my website together with my implementation?
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
User avatar
Brendan
Member
Member
Posts: 8561
Joined: Sat Jan 15, 2005 12:00 am
Location: At his keyboard!
Contact:

Post by Brendan »

Hi,
Candy wrote:Hate to pull a dead thread from the wastes, but the website seems to be dead & gone again. Brendan, do you still have the spec & can I put up a backup for it?
It seems my entire web site has finally gone (the web host told me they were closing down about a month ago). Sooner or later I'll redirect everything back to my home server (like it was before I started using the web host), but to be honest, lately I've been writing (um, playing with) a new language/compiler for OS dev and probably won't worry about my web site for a while.
Combuster wrote:With your permission, can I host a copy on my website together with my implementation?
I've attached the SFS specification to this message. It's intended as a "fully open" standard - no permission required... ;)


Thanks,

Brendan
Attachments
sfs.html.gz
(9.04 KiB) Downloaded 192 times
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
User avatar
Candy
Member
Member
Posts: 3882
Joined: Tue Oct 17, 2006 11:33 pm
Location: Eindhoven

Post by Candy »

http://www.atlantisos.org/sfs.html

Thanks for the document.

Combuster, care to cross-link the specs so we have a fair bit of reliability?

Brendan, is this the final version or are you going to change it?
User avatar
Brynet-Inc
Member
Member
Posts: 2426
Joined: Tue Oct 17, 2006 9:29 pm
Libera.chat IRC: brynet
Location: Canada
Contact:

Post by Brynet-Inc »

Candy wrote:http://www.atlantisos.org/sfs.html

Thanks for the document.

Combuster, care to cross-link the specs so we have a fair bit of reliability?

Brendan, is this the final version or are you going to change it?
Just an idea, But perhaps a central site should be setup for maintaining the document.

It could also index various implementations etc? Would Sourceforge work?
Image
Twitter: @canadianbryan. Award by smcerm, I stole it. Original was larger.
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Post by Combuster »

Brendan wrote:I've attached the SFS specification to this message.
Thanks
Brendan wrote:It's intended as a "fully open" standard - no permission required...
Its just difficult to read legal bla-bla when there is nothing to read :D

Candy wrote:Combuster, care to cross-link the specs so we have a fair bit of reliability?
I put up a copy at http://dimensionalrift.homelinux.net/co ... k/sfs.html - People can also reach it through my signature.
Candy wrote:Brendan, is this the final version or are you going to change it?
I consider the specification pretty much stable. The changes of past year were mainly for readability.

Brynet-Inc wrote:Just an idea, But perhaps a central site should be setup for maintaining the document.
There was a forum on (linked from?) Brendan's site, but since I only visited it through his webpage I don't have any links and it might be very well down with the rest of the site - you should ask.
Brynet-Inc wrote:It could also index various implementations etc? Would Sourceforge work?
I am not so inclined to use SF. Especially since this is a technical paper rather than a piece of software. I'd wait for the forums to be back or otherwise dedicate a page or two on the wiki to it.


[edit]@mods: i think this forum would be more appropriate for os theory?[/edit]
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
User avatar
Brendan
Member
Member
Posts: 8561
Joined: Sat Jan 15, 2005 12:00 am
Location: At his keyboard!
Contact:

Post by Brendan »

Hi,
Candy wrote:Brendan, is this the final version or are you going to change it?
I don't intend to change the file system itself, but sooner or later I'll probably make some more improvements to the specification (e.g. adding some psuedo-code to Appendix A, etc). It won't be any time soon though - I feel like I'm chipping away at an iceberg with a toothpick at the moment... ;)

@Combuster: There was a sub-forum for SFS on my web site, but the web host got hacked and the forum database wasn't backed up very regularly, most of the posts where spam and I was spending too much time maintaining my web site and not enough time writing OS code. At the time I was starting the newest version of my OS, so I dumped the entire web site (including all the forums) and switched to a new layout, without the forums.

BTW I've got my home server setup and changed the DNS, etc. It should be possible to get the SFS specification from http://bcos.hopto.org/sfs.html. This is a "limited bandwidth" server with dynamic IP though...


Cheers,

Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
jal
Member
Member
Posts: 1385
Joined: Wed Oct 31, 2007 9:09 am

Post by jal »

Ok, sorry for raising this thread from the grave, but when searching for SFS specs, I found many file systems named SFS, e.g.:

- Secure FileSystem
- EROS Simple Filesystem
- Self-certifying File System
- Simple File System
- SingleFileSystem (not an FS)
- OS/161 sfs file system
- IBM TotalStorage SAN File System

Well, I could go on but you get the point. Perhaps we should rename SFS to something a tad bit more unique? :)


JAL
User avatar
JamesM
Member
Member
Posts: 2935
Joined: Tue Jul 10, 2007 5:27 am
Location: York, United Kingdom
Contact:

Re: SimpleFS - Missing from WIKI and Brendan's site

Post by JamesM »

Hi,

Do I gain this month's thread necro prize? ;)

I'm rewriting my tutorial series from scratch, and wanted to implement a "real" filesystem as one of the chapters. SFS really seems exactly what I'm after - I'll write a set of command-line "mtools" style tools to deal with it too - however as the tutorial series creates a UNIX-like OS there are a few things SFS is missing, namely character and block devices.

Sockets and named pipes I don't really care about, but char and block devices are fairly essential. There seem to be a number of unused index area entry identifiers - would an addendum that added these two filetypes to the specification be acceptable? I'm happy to draft it up.

Cheers,

James
User avatar
JackScott
Member
Member
Posts: 1031
Joined: Thu Dec 21, 2006 3:03 am
Location: Hobart, Australia
Contact:

Re: SimpleFS - Missing from WIKI and Brendan's site

Post by JackScott »

JamesM wrote:Do I gain this month's thread necro prize? ;)
It's probably a bit early in the month to be claiming a win yet.

I don't have a lot of say in the matter, but it would seem to me that this sort of thing should be optional, so that the core of the filesystem can remain what it says it is: simple. If I were using SimpleFS in my bootloader, I wouldn't want to have to care about UNIX devices. $0.02
User avatar
JamesM
Member
Member
Posts: 2935
Joined: Tue Jul 10, 2007 5:27 am
Location: York, United Kingdom
Contact:

Re: SimpleFS - Missing from WIKI and Brendan's site

Post by JamesM »

Quite. However, they're so simple that ignoring them would be just adding two extra cases to your "switch (type)" statement, reading the number of continuations (just like in a directory or file) and skipping over them.

I can't see it being much hassle...
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re: SimpleFS - Missing from WIKI and Brendan's site

Post by Combuster »

Linux uses devfs/udevd/procfs and the like, which basically mounts a different filesystem under a different mountpoint. Following that analogy you could just reuse the VFS structure and put devices where they can be put and use SFS for the root.

Besides I don't think its a good idea to taint SFS with unix-specific properties since that goes straight against its principles.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
Post Reply