× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Hi Joe! First of all, don't get me wrong - I think the iSeries is a great machine. But I have to take issue with some of your comments.

Regarding virtual memory, today, practically all operating systems (at least desktop level and above) implement virtual memory addressing. Windows, Linux, all forms of Unix, OS/2 (if anyone really cares anymore), OS/390, etc. Virtual memory simply means that a logical address in a process is mapped by the CPU to a physical address. The CPU and operating system together manage memory over-commitment by mapping memory to a page file on disk and swapping back and forth when necessary.

What OS/400 adds to that is the concept of single level store, in which the persistent store (hard disks) is basically considered one big swap file. Any address in any process can refer to any piece of memory anywhere within the (necessarily) large address space.

Let's compare this to the typical system design. In other operating systems, an address normally only refers to the space assigned to a particular process. Processes, therefore, are then prevented from accessing storage belonging to other processes. On the other hand, in a single level store architecture, since a pointer can point anywhere within the entire address space, not only must the pointer have more bits for the address, but the pointer must also contain permission information to prevent the pointer from being used to access (or worse, change) storage it has no business to. Thus, the 16 *byte* pointer.

What does this mean to the system programmer? Back when this architecture was first released, memory was still rather expensive, and so limiting the memory requirements of programs was important. In systems programming, pointer usage had to be avoided.

What about the applications programmer? RPG programmers still deal with files on a record by record basis, just like applications programmers on more conventional architectures. There's nothing really in RPG or COBOL that take advantage of the single level store concept! Likewise, SQL still offers up data on a row by row basis. In fact, this is necessary to maintain the integrity of the database. On the other hand, even some conventional operating systems offer API's that map files to memory, mimicking single level store.

OK, so we've had a commercial implementation of single level store for 25 years now, and the concept was certainly known before that. (I learned about it in my operating systems course in the late 70's.) But have you ever noticed that no other computer manufacturer offers an operating system with single level store? Fact is, there are a lot of trade-offs to make in system design, and other manufacturers simply decided to put their priorities elsewhere.

As I said, I still think OS/400 is a great system in spite of the heavier than normal resource requirements, which don't really matter anymore since RAM is now so cheap. One consequence of single level store is that security had to be designed into the architecture at a much lower level, which is probably one reason why the system is so stable and reliable.

(Oh yeah, one more advantage of single level store is that it makes it easier for the systems programmers to implement persistence in object oriented frameworks, for those interested in Java.)

What's my point in all this? Single level store is certainly an interesting idea. But in my opinion, it's not really that significant a factor in the success of the AS/400 and iSeries. And because of it's heavy resource requirements, it may have been a limiting factor, especially in the days of the S/38. But then who knows where we would be today if the S/38 had been designed with a more conventional architecture?

Cheers! Hans


Joe Pluta wrote:
Not gonna fight, Walden, because it's too long and tiring.  Your use of the
word "supports" has to do with the fact that Windows uses physical memory,
whereas OS/400 uses a virtual address space.  I really don't want to take
the time to explain the difference between physical memory and addressable
memory space, but I'll give it one shot.

Windows is constrained by its physical memory, the limit of which has JUST
been upped to 39 bits and again, we have no idea how that has been
implemented in the APIs - what I read implies that only a few APIs support
this sort of addressing.  But even so, this simply means that, if you were
willing to spend the money (roughly $75K for the full 512GB of cheap memory,
or closer to $200K for RDRAM), you could theoretically index a file of
around half a terabyte.

OS/400 uses a completely virtual address space, though Leif asserts that the
usable AS/400 memory space is about 50 bits.  This is still roughly 1000
terabytes, and is far above anything Windows can even dream about.  Because
of the virtual memory scheme, the AS/400 can have a file with terabytes of
data that the operating system will page in and out, index, and so on,
completely transparently to the programmer.

I hope this explains my point, because if it doesn't, I'm not up to the job
of explaining it.  These are the discussions that make it crystal clear to
me that OS/400 is light years ahead of PC operating systems, and if you
disagree, then it's unlikely that anything I say will change your mind.




As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.