<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>I understand your point here and you are--of course--correct, yet
one hesitates to term Tops-20 (TWENEX ) paging as being a variant
of the BBN pager (or better TENEX).<br>
</p>
<div class="moz-cite-prefix">The BBN pager was <i>far</i> more
capable then the both the KI and KL pagers. The KL pager was more
capable than the KI, but this didn't put it quite in the same
league as the BBN pager in terms of functionality.</div>
<div class="moz-cite-prefix">
<p>This is most visible in what <font size="4" face="monospace">RPACS%</font>
(Read PAge ACess) returns (or fails to return) and what <font
size="4"><tt>SPACS%</tt></font> (Set PAge ACess) does (or
fails to do). On the KL, the only access bit you can set is
whether the page is writable (this includes Copy-On-Write). You
cannot:</p>
<ol>
<li>Clear all bits and thus set a page 'No Access'; it will
still be there</li>
<li>Set a page Write-only</li>
<li>Set a page Execute-Only<br>
</li>
</ol>
<p>Case 1. is necessary for implementing guard pages which are
(IMHO) one of the very most effective hardware based debugging
tools around. You really want "Explode on Reference" to catch
stray reads AND stores. If you whack the page, then all that
happens the next time you touch it is it 're-materializes'.</p>
<p>Case 2 is great for increasing the security of certain
communications paradigms.</p>
<p>For 1., you can solve it in two convoluted ways. First, you can
hook the page creation interrupt and determine whether you are
creating something you ought not. You can also actually
implement "Explode on Reference" by mapping 1+ the last page of
a locked file. If you then try to touch that page, it will fail
because creating the page in memory involves creating it in the
(locked) backing store. I discovered this by mistake when
looking for a guard page implementation for my FTP server.</p>
<p>2. Has no real solution, but paged mode IPCF% is probably good
enough.</p>
<p>3. is partly solved by setting the file execute only, but this
is highly restricted and does not work if a program is
multi-process (I.E., forks). Thus, I can not use it in the FTP
server nor can it be used in the Tops-20 TELNET client.<br>
</p>
<p>BBN repeatedly tried to get DEC to take their pager, but DEC
never went for it. I don't remember what was designed for the
Jupiter or was implemented for the SC-40 or TOAD.
</p>
</div>
<blockquote type="cite"
cite="mid:005801d7c48d$8f124110$ad36c330$@com">
<hr width="100%" size="2">
<pre class="moz-quote-pre" wrap="">On 10/18/21 10:03 PM, Robert Armstrong wrote:
<blockquote type="cite"><pre class="moz-quote-pre" wrap=""><pre class="moz-quote-pre" wrap="">T10 in the last incarnation(s) could use the KL10 paging
</pre></pre></blockquote>
Umm.. TOPS-10 could always use the "KL10 paging". TOPS10 ran on the KL from day 1.
The thing is, the KL had different microcode for TOPS-10 paging and TOPS-20 paging. The hardware didn't change. TOPS-10 paging was the same as the KL10 paging, which was implemented in hardware. TOPS-20 paging (or rather, TWENEX paging) was some variant of the BBN pager that was originally attached to a KA10 way back when.
Bob
</pre>
</blockquote>
</body>
</html>