4 ms·
That can't be the right definition. Not all applications need to use files, for example.
by shasta 12y ago
That can't be the right definition. Not all applications need to use files, for example.
- AceJohnny2 12y agoWell, the application certainly starts from a file...
- vertex-four 12y agoNot true; it's perfectly reasonable to think of an OS which executes programs downloaded from a remote system which never touch a file.
- gaius 12y agoEverything is a file in Unix as you know perfectly well!
- deleted 12y ago[deleted]
- deleted 12y ago[deleted]
- vidarh 12y agoI hope you're being sarcastic, as that's not even remotely true, even though many things kinda, sorta tries to act like files in limited situations.
- shasta 12y agoRight. For example, two files are not a file.
- notduncansmith 12y agoI've heard Plan9 described this way, with the Unix counterpart being "everything is a stream" (not exactly true either).
- marcosdumay 12y ago"Everything is a file" is the Unix moto. But it does not do justice to that phrase. Unix has several things that aren't files (sockets are the most annoying), and a few files that are so special that they could as well have another name (like pid files). Plan9 is an evolution of Unix that turn more things into files. Sockets, for example, are.
- gizmo686 12y agoSockets are files.
- marcosdumay 12y agoUnix sockets are files. But I can't create a connection to Google at the filesystem.
- zupa-hu 12y agoThere is no file.
- Someone 12y agoThat just moves the problem to that remote system. I think a better example are image-based systems such as Smalltalk, lisp, and Forth do not even need a file system (traditional forth systems are the simplest here; they had one way to read in data: BLOCK (http://c2.com/cgi/wiki?ForthBlocks) http://c2.com/cgi/wiki?ForthBlocks)) And of course, the home computers of the '80s ran their (single) application (typically a Basic interpreter, but in the case of the http://en.wikipedia.org/wiki/Jupiter_Ace http://en.wikipedia.org/wiki/Jupiter_Ace, a Forth) from ROM.
- jacquesm 12y agoSo you get a ton of code that tries to shoehorn some subset of file operations and similarities into a block structure, effectively recreating a file system. A file is a 'series of blocks' after all (that's what your inode table does it, it remembers which files start where, and a series of indirections then access the actual data blocks). Operating systems abstract out all that common stuff, present a (somewhat) reasonable interface to it, handle multiple users if the system has those and then get out of the way as much as possible. Operating systems that try to do more invariably fail(ed) and operating systems that try to do less end up being great for embedded work but in general not much beyond that.