To refine slightly...

Walden H. Leverich wrote:
Sure. In SLS you can simply think of the machine as storing everything
in memory. There is no "filesystem" as we'd think of it on a windows or
linux machine. You're programs simply refer to memory locations and they
get data.

Well... yes there is a "filesystem" for OS/400 objects, like database
files, called the "Library (or QSYS) filesystem", though it's
architecture is different from windows/linux filesystems (and quite a
bit more complex).

Pgms refer to things like records in files symbolically, using object
names, library names, RRNs, key values etc. The OS has to calculate the
addresses on the fly, though in some cases, pgms may cache the addresses
in temporary pointers.

This is best seen in either the System Entry Point Table
(SEPT) which stores "memory addresses" for well known system programs so
they don't have to be resolved, or in a logical file. The entries in the
logical store the memory address of the related row in the physical.

Actually, the index in a logical file stores the RRN of the row in the
physical. The OS still has to convert that to a virtual address by
calculations at run time, such as when doing a CHAIN in RPG.

This makes accessing anything extremely simple, get its address and go
there.

If you spend any time digging into the guts of the OS, you might decide
to reconsider that word "simple" :-)

The guts that make SLS work will then determine if that address
is actually in physical memory, or if it needs to fault it into physical
memory, but that's a process that occurs _way_ down in the plumbing.

What I mean by "memory survives a reboot" is that these addresses that
SLS exposes to everything above it don't change across reboots (IPLs).
Sure, the actual stuff in the RAM chips on the cards was tossed, but
those are just cache in essence, the address that held the QCMD program
object on IPL 1 will still hold the QCMD program object on IPL 100. The
"address" of that object doesn't change. If you're thinking of SLS as
one big hunk of memory then the memory survives a reboot.

Storage for permanent objects like QCMD survives a reboot, but storage
for temporary objects, like temporary job structures, doesn't. In fact
the definition of "temporary objects" is "those that don't survive an IPL".


At least this is how I understand SLS -- My name's not Frank Soltis. :-)

-Walden




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-2020 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].