On 2012-07-08 18:54, Bob Armstrong wrote:
Yes, 4MB is plenty of memory. But normal memory is often not the big issue
in RSX,
Yep, that's what killed the PDP-11. Huge physical address space; tiny
virtual address space. We used to have to go thru all kinds of contortions
(overlays and crap) to fit programs on the -11, even when there were loads
of physical RAM available.
Yep.
Thanks for the tip on pool, though.
Just out of curiosity, does RSX use supervisor mode on the processors that
have it (typically that goes together with I&D space). 2bsd uses super mode
just to get extra address space for the networking code.
11M+ can use supervisor mode. You can have shared libraries in supervisor space. You could
place code or data in supervisor space, you can do just about anything with it. It's
just more address space for your program. The kernel do not really use it itself. Not much
to gain that way. RSX already have networking, as well as most everything else outside of
the "kernel". Think of RSX as a microkernel, and you get close.
Network runs as a process. File system runs as a process. ANSI magtapes? That's its
own process as well.
Also, don't forget to have the options included to allow for networking in
the kernel. :-)
Umm, Sure.... I trust that those will be obvious when I see them :-)
You should. :-)
your requirements on "user friendly" are pretty high.
Well, you can boot the same VMS distro on any VAX ever made and it pretty
much just figures it out :-) Just kidding, though - I'm not looking to
start an argument about which OS is better.
:-)
Lucky you. Or else I'd start about the difference between user friendly, and assuming
the user is dumb. :-)
DECnet on 11M also means that you need to understand partitions,
Partitions? You mean memory partitions? On a processor with an MMU?? I
thought that was pretty much all dynamic on M and M+, and only unmapped
systems (like 11S) had to worry about that. Ok, you recently pointed out
that M can run on unmapped systems too, but the 11/23+ has a perfectly nice
22bit MMU and that's not an issue here.
Yes, partitions as in memory partitions. Yes, on a processor with an MMU. I don't know
if you understand the concept of memory partitions in RSX properly. It don't really
have anything to do with the MMU.
All memory in RSX belongs to one partition or another. Processes (or rather tasks) always
compete for memory resources within a partition. Anything in another partition is just
unrelated.
If a process wants to be guaranteed to get memory when needed, you create a separate
memory partition, where it don't need to compete for the memory with anyone else.
If there isn't enough free memory in a partition when a task wants to run, it will not
be scheduled. Possibly other regions of memory will be swapped out from that partition to
make space for your needs. That is decided by the swap priority.
In M+, tasks can allocate and then lock memory in place. In 11M you instead use separate
partitions, since 11M don't have all those features of M+, you instead solve the same
problem by having separate partitions. But it becomes extra work for you, since you need
to create those partitions, and make sure they are large enough to hold the memory regions
that the task needs.
You have memory partitions whether you have an MMU or not. And you have them in both 11M
and M+. However, in most cases, you have rather few partitions in M+, since you can just
let most memory belong to the GEN partition, and allow all tasks to share from there.
Special cases like DECnet create it's regions when it starts, and then locks them in
memory, so that they can't get swapped out. Thus DECnet is happy.
Looking at PONDUS::, for example (my home machine), I have the following regions:
SECPOL 117734 00200400 01000000 SEC POOL
SYSPAR 117670 01200400 00205600 MAIN
DRVPAR 116334 01406200 00146500 MAIN
GEN 113134 01554700 16203100 MAIN
and those are all I have. And that is pretty normal. SECPOL is the secondary pool (used to
offload the normal POOL even more). SYSPAR holds some extensions to the kernel, and some
very important special tasks that you never want to be affected by other tasks behavior.
DRVPAR holds pretty much all device drivers that are SYSGENned in, whilel GEN holds
everything else. Tasks, shared regions, shared libraries, most tasks, later loaded device
drivers, as well as most everything used by DECnet.
You know that an RQDX and RD32 are bog slow?
Yes, but there are not a lot of other options on the 11/23+. There's an
RL02 drive, but it's not clear that's actually faster; it's also lots
smaller (in Mb, that is, not in cubic feet!) and probably not as reliable
(although that last one is arguable). Besides, I'd rather keep the RL02 as
removable media anyway.
Good idea. But there are SCSI controllers for the Q-bus, as well as the KDA50...
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic
trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" -
B. Idol