Design of file access system calls

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
Candy
Member
Member
Posts: 3882
Joined: Tue Oct 17, 2006 11:33 pm
Location: Eindhoven

Re:Design of file access system calls

Post by Candy »

Colonel Kernel wrote: In terms of file system interfaces, I'm quite curious about some of the more "out-there" ideas being kicked around by researchers, but I haven't had time to look into them. Is anyone familiar with orthogonal persistence (and able to summarize? ;) ).
Heard about it, heard somebody here be very happy that the proponents of it (thought it was EROS, not sure as usual) found out it was a bad idea when he (assuming) thought that from the start.

As far as I know what orthogonal persistance is, it's being able to suspend your applications etc. without telling them anything, keeping everything set up as it was.

My reasoning starts with time calculations and networking stuff going wrong, and the system not always knowing what is going on. And lo and behold, on windows when you suspend an application (even the windows applications!) the time and network stuff are fscked. Seen a copy go to weeks in time because it hadn't copied anything useful the past 15 hours (no wonder imo), and network software complaining about a broken pipe / network connection reset etc. Most just plain went offline.


But, I might even be mistaking about the entire name :). Try to google on it.
mystran

Re:Design of file access system calls

Post by mystran »

I think that orthogonal persistence makes sense if and only if the normal state of the system is to run 24/7, and any downtime whatsoever is an undesired exception. If you think about it this way, then you might want to make even network connections persistent across outages (ofcourse the other end will timeout if the outage is too long or an ARP fails or such, but you can usually keep idle connections up just fine while you switch an ethernet cable, so why not across system reboots as well?

Now, I see one big problem with full persistence, and it has nothing to do with time nor network: if you have a file, you can read that file with any program that understands it's format, and if it crashes, you still have the file (and you can make backup copies if you have software that might overwrite the file). Now, if instead you have an "allways running" application and the file is some random piece of it's memory, and the application crashes, it's awfully hard to dig the data from some core-dump. You could restore a system checkpoint before the crash, sure, but what if it crashes again and again and again. While such problem with a file could be fixed by updating the flawed application, and possibly hand-patching a corrupted file, what do you do with persistent system?

So orthogonal persistence might be good idea for a system that is 24/7 always running, and never needs to be updated (ie. has no flaws). In perfect world, why not? In real world, we still might want our files =)
Dreamsmith

Re:Design of file access system calls

Post by Dreamsmith »

Solar wrote:AmigaOS-alike
...
Every media (or, partition thereof) has a ("logical") name, determined by the user at formatting time.

File names could be qualified using either physical or logical device name.
This is my own favored approach. I'm not sure what the first operating system was to take this approach, but I do know that before the Amiga came along, this was the standard way of handling it under Apple ProDOS (for Apple II series computers). CAT /MYVOL/PROGS or CAT PROGS,S6,D1 would do the same (assuming a ProDOS formatted disk named MYVOL was located in the drive at slot 6, drive 1). There were times where it made more sense to find things by volume name, regardless of where it was located, and there were times where it made more sense to find things by location, regardless of the disk name. Being able to go either way was very nice...
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

Re:Design of file access system calls

Post by Solar »

OT: I never know whether to laugh or cry when camps get entrenched about whether their OS should be like Windows or like Linux in a certain regard, when there was beauty and wisdom to be found in operating systems that predated either of them. ;)

AmigaOS, to me, is a treasure chest of many things done very right and very beautifully, fallen into disrespect because of a few things done very wrong.

For those interested in seeing it in action, I recommend having a look at Amiga Forever, which is a readily available Amiga emulator running under Windows, Linux, or (as a new feature) capable of booting directly from CD. Toy around with it for a while, dig into the system folders, and find out some of the things they did that nobody seemed to be able to copy with the same ease and beauty. (Like, switching the desktop language at runtime...)
Every good solution is obvious once you've found it.
Post Reply