shadow@pawl.rpi.edu (Deven T. Corzine) (04/23/89)
I've got an idea to bounce off the net here... In considering design and implementation of a file system for Amigix, I have been contemplating the idea of designing a filesystem which is structurally similar to Unix, but which has library support for manipulating IFF files, and which actually uses IFF files for object files, executables and any other filesystem-specific formats. Part of the reasoning behind it is that the IFF format is far more flexible than the AmigaDOS load file format, as the fields can easily vary, and new ones can be added without affecting the performance of the loader, except for a slight speed penalty to skip irrelevant stuff. The idea would be to creae a new FORM, perhaps FORM CODE. Within this single IFF FORM, you could have all sorts of data related to a program. You could have the executable (FORM EXE, likely) and the object (FORM OBJ) along with the source (FORM SRC) and a man page (FORM MAN) and documentation (FORM DOC) and a Makefile (FORM MAKE) and a Workbench icon (FORM ICON) and other identifying things like the originating author, machine, etc. (as with LIST) It could even be extended so far as to have multiple versions of the source coordinated within the file, in a manner similar to SCCS under Unix. And all of this could be put in a single file, grouped together conveniently. Of course, there would be utilities for importing and exporting the components to/from separate IFF component files, or (in some cases, like a Makefile or documentation file) to/from a regular file. There could be a "man" command which first searches for the file described, and if found, searches it for a FORM MAN to print. Otherwise, it could search /usr/man, or just give up. An info command could simply describe as much as it can about what a given IFF file contains. You could even toss in things like an ILBM as a startup-screen which the loader could display, or whatever... the possibilities are vast. Now, what do people thing of this idea? Any ideas for improvements on this (first-draft-type) model? Also, how could it best be intergrated with Unix (V7) system calls transparently, yet usably? Also, where can I get the most recent IFF specifications? I am basing this on the EA IFF '85 specs given in Appendix B of the Addison-Wesley RKM's. If someone could Email me the most recent specs or direct me to them, I would appreciate it. I like the quote in the those specs: "Simple things should be simple, and complex things should be possible." Alan Kay, whoever that is. Maybe I'll toss it in my .signature... Deven -- ------- shadow@pawl.rpi.edu ------- Deven Thomas Corzine --------------------- Cogito shadow@acm.rpi.edu 2346 15th Street Pi-Rho America ergo userfxb6@rpitsmts.bitnet Troy, NY 12180-2306 (518) 272-5847 sum... In the immortal words of Socrates: "I drank what?" ...I think.
shadow@pawl.rpi.edu (Deven T. Corzine) (04/23/89)
Oh, yes... also a FORM SYM for a symbol table... Hopefully I could implement dynamic linking (external references resolved at run-time) for Amigix... [worth a try, anyhow.] Also, I don't intend to directly support overlays under Amigix, but I may change my mind on that. Deven -- shadow@[128.113.10.2] <shadow@pawl.rpi.edu> Deven T. Corzine (518) 272-5847 shadow@[128.113.10.201] <shadow@acm.rpi.edu> 2346 15th St. Pi-Rho America deven@rpitsmts.bitnet <userfxb6@rpitsmts> Troy, NY 12180-2306 "Simple things should be simple and complex things should be possible." - A.K.
shadow@pawl.rpi.edu (Deven T. Corzine) (08/13/89)
On 11 Aug 89 16:09:41 GMT, rtczegledi@crocus.waterloo.edu (Richard Czegledi) said: Richard> Something that I feel would be very useful (not to mention Richard> nice) is to give the amiga the ability to put 'files' under Richard> 'files'. Waterloo Port does something like that. 4 months ago, I posted to comp.sys.amiga.tech about this very idea, albeit somewhat more thought out. I'm afraid I don't have a copy of the article I posted; only replies to it. (I have all articles I've posted since 6/28/89.) The article I posted was "Subject: An IFF-based filesystem?", posted to comp.sys.amiga.tech, message ID <SHADOW.89Apr23021633@pawl20.pawl.rpi.edu>. If anyone has a copy of the article, please email it to me? Part of what I wrote: [was included in a reply] Deven> I've got an idea to bounce off the net here... In considering Deven> design and implementation of a file system for Amigix, I have Deven> been contemplating the idea of designing a filesystem which is Deven> structurally similar to Unix, but which has library support for Deven> manipulating IFF files, and which actually uses IFF files for Deven> object files, executables and any other filesystem-specific Deven> formats. I went on to describe how documentation, manual pages, readme files, icons, startup screens, etc. could all be imbedded in the same file as the executable. Also: In article <1149.AA1149@geo-works> bryan@geo-works.UUCP (Bryan Ford) writes: Bryan> Good idea. Too bad the Amiga's executable file formats aren't Bryan> forward compatible like IFF. Hmmm...I wonder if it would be Bryan> feasible to create a new executable file format that uses an Bryan> IFF standard for executables. Maybe 'X68K'? Who knows. Bryan> Probably wouldn't be practical, unless C-A is planning to put Bryan> IFF stuff in ROM. In <SHADOW.89Jun27170431@pawl.rpi.edu> on 6/27/89, I wrote: Deven> This is exactly the idea I have been contemplating using for Deven> the standard executable format for Amigix. (Amigix is a Deven> (major) project based in part on implementing Unix V7 on the Deven> Amiga... Email for more info, or check comp.sys.amiga.tech if Deven> the old threads haven't expired.) Deven> The idea is you could put other things, like an icon, startup Deven> screen, the actual source code, stack size, whatever, all with Deven> the binary. It could be a very flexible format. I haven't had Deven> time to work extensively on it, however. :-( Deven> As for putting it in ROM, the amigix.library (containing IFF Deven> support code and loader, along with Unix syscalls and other Deven> stuff) would be in RAM, but shared, so it could do well Deven> enough... thoughts/comments? Bryan> Oh well, nice idea while it lasted... Deven> Oh, it's still a nice idea... I haven't dropped it yet. It's a good idea, which I've thought a lot about. I wish I had the time and resources to *do* something about it... Someday... Deven -- Deven T. Corzine Internet: deven@rpi.edu, shadow@pawl.rpi.edu Snail: 2214 12th Street, Troy, NY 12180 Phone: (518) 271-0750 Bitnet: deven@rpitsmts, userfxb6@rpitsmts UUCP: uunet!rpi!deven Simple things should be simple and complex things should be possible.
rtczegledi@crocus.waterloo.edu (Richard Czegledi) (08/14/89)
In article <SHADOW.89Aug12191403@pawl.rpi.edu> shadow@pawl.rpi.edu (Deven T. Corzine) writes: > >On 11 Aug 89 16:09:41 GMT, >rtczegledi@crocus.waterloo.edu (Richard Czegledi) said: > >Richard> Something that I feel would be very useful (not to mention >Richard> nice) is to give the amiga the ability to put 'files' under >Richard> 'files'. Waterloo Port does something like that. > >4 months ago, I posted to comp.sys.amiga.tech about this very idea, >albeit somewhat more thought out. I'm afraid I don't have a copy of >the article I posted; only replies to it. (I have all articles I've >posted since 6/28/89.) The article I posted was "Subject: An >IFF-based filesystem?", posted to comp.sys.amiga.tech, message ID ><SHADOW.89Apr23021633@pawl20.pawl.rpi.edu>. If anyone has a copy of >the article, please email it to me? I can think of a few problems with your idea. Most are 'how 'ard is it to implement and have work effectively' type. The main drawback to your iff based file system is that the executable will have to modify itself, thereby messing up many resident/ares/rez type programs. Also, every single last program for the amiga will essentialy have to be re-written. Now, if I left it at that, you would mail me saying, "it would all be handled by the os, and transparent to the software". But what about software like the (which I can not live without) disksalv, and things like BAD (I like it), which think they 'know' about the file systems. They will probably have to go. And the size/complexity of the OS might just be too much to handle. With a simple files under files approach like I mentioned, the os would not have to be significantly changed. A file could be treated like a directory, and you could directly load files/under the main file. It's sort of like directories being files as well. The advantages would be numerous. Hard drive maintenance, software instalation, and the general look of the system would be pretty great. When you mention, 'my system was a lot more thought out than yours', you obviously did more thinking about your method (which is neat, cool, and rather boffo, but tough to implement). The system I'm refering to is already sort of implemented in other operating systems. It would offer about the same functionality as your system too (I think). Also, I have used this files under files approach, and find it to be quite flexable powerful, and fun.
shadow@pawl.rpi.edu (Deven T. Corzine) (08/18/89)
Richard> Something that I feel would be very useful (not to mention Richard> nice) is to give the amiga the ability to put 'files' under Richard> 'files'. Waterloo Port does something like that. Deven> 4 months ago, I posted to comp.sys.amiga.tech about this very Deven> idea, albeit somewhat more thought out. I'm afraid I don't Deven> have a copy of the article I posted; only replies to it. (I Deven> have all articles I've posted since 6/28/89.) The article I Deven> posted was "Subject: An IFF-based filesystem?", posted to Deven> comp.sys.amiga.tech, message ID Deven> <SHADOW.89Apr23021633@pawl20.pawl.rpi.edu>. If anyone has a Deven> copy of the article, please email it to me? Richard> I can think of a few problems with your idea. Most are 'how Richard> 'ard is it to implement and have work effectively' type. The Richard> main drawback to your iff based file system is that the Richard> executable will have to modify itself, thereby messing up Richard> many resident/ares/rez type programs. No, you misunderstood. The *loader* will use a different format than LoadSeg() does, but it would be able to be loaded and installed in a resident list. (maybe not with the Resident and Ares programs specifically, but you would be able to do it.) Richard> Also, every single last program for the amiga will essentialy Richard> have to be re-written. Now, if I left it at that, you would Richard> mail me saying, "it would all be handled by the os, and Richard> transparent to the software". True. :-) Richard> But what about software like the (which I can not live Richard> without) disksalv, and things like BAD (I like it), which Richard> think they 'know' about the file systems. They will probably Richard> have to go. They could still be used on AmigaDOS disks. I would probably write a utility similar to disksalv, (and also an undelete utility) and I have no idea what BAD does. Richard> And the size/complexity of the OS might just be too much to Richard> handle. An unknown, but it doesn't seem like it would need to be too bad. Richard> With a simple files under files approach like I mentioned, Richard> the os would not have to be significantly changed. A file Richard> could be treated like a directory, and you could directly Richard> load files/under the main file. I'm already looking at rewriting major pieces of the OS. Richard> It's sort of like directories being files as well. The Richard> advantages would be numerous. Hard drive maintenance, Richard> software instalation, and the general look of the system Richard> would be pretty great. I've also considered the approach of all filesystem objects being both files and directories. How to integrate it, I'm not sure. If you do a cp, does it only copy the file portion, or the file and the entire directory subtree? Should rm act on the file or both? etc. Richard> When you mention, 'my system was a lot more thought out than Richard> yours', you obviously did more thinking about your method Richard> (which is neat, cool, and rather boffo, but tough to Richard> implement). The system I'm refering to is already sort of Richard> implemented in other operating systems. It would offer about Richard> the same functionality as your system too (I think). Also, I Richard> have used this files under files approach, and find it to be Richard> quite flexable powerful, and fun. IFF is recursive. Any IFF file can be a part of another. IFF is already somewhat established as a standard file format on the Amiga, and integrating that at the system level could help promote that. It is an excellent format, well thought out and well executed. And it can be extended beyond graphics and sound... Deven -- Deven T. Corzine Internet: deven@rpi.edu, shadow@pawl.rpi.edu Snail: 2214 12th Street, Troy, NY 12180 Phone: (518) 271-0750 Bitnet: deven@rpitsmts, userfxb6@rpitsmts UUCP: uunet!rpi!deven Simple things should be simple and complex things should be possible.