▲ | sroerick 4 days ago | ||||||||||||||||||||||
I've read that in AS/400, everything is an object, rather than a file. Could you expand on that at all? | |||||||||||||||||||||||
▲ | kjellsbells 4 days ago | parent | next [-] | ||||||||||||||||||||||
It's quite tricky to explain, but yes, everything in AS/400 is an object. There is also the notion of a context, called a library, that these files-as-objects exist in. AS/400 files very frequently act in a way that today we would describe as databases (like sqlite files, say) and the library context guides how information ('records') in them is returned, eg FIFO, LIFO, etc. I think the best explanation is contained in this very old porting guide from IBM that explains how to move UNIX programs to AS/400. It's written in a remarkably un-IBM fashion, not at all straitlaced. https://www.redbooks.ibm.com/redbooks/pdfs/sg244438.pdf For any experts out there, please correct me, it's been 30 years... | |||||||||||||||||||||||
| |||||||||||||||||||||||
▲ | pjmlp 4 days ago | parent | prev | next [-] | ||||||||||||||||||||||
Also it is one of the successful bytecode OSes, were userspace is mostly bytecode based and AOT compilation takes place at installation time, or after updates. | |||||||||||||||||||||||
▲ | anyfoo 4 days ago | parent | prev [-] | ||||||||||||||||||||||
Honestly, it's a bit much for a single HN comment. But I've look around, and I found this, which upon first glance gives a good (and not too long) overview: http://www.varietysoftworks.com/jbaldwin/Education/single-le... Crucially, it also describes the "single level store" that everything lives in. In short, the boundary between "main memory" or "hard disk" or other things is abstracted away, and you just have pointers to "things" instead. While in UNIX accessing some piece of main memory is fundamentally different from, say, opening a file. Even though UNIX has a little bit of the opposite concept of trying -- but in my mind failing -- to represent as much as it can as a "file". |