Path: utzoo!attcan!uunet!lll-winken!lll-tis!ames!ucsd!ucsdhub!hp-sdd!hplabs!hpl-opus!hpccc!hp-sde!hpcea!hpausla!cjh From: cjh@hpausla.HP.COM (Clifford Heath) Newsgroups: comp.arch Subject: Re: Re: call gates, was PEP: Page Execution Priviledge Message-ID: <2220004@hpausla.HP.COM> Date: 20 Oct 88 00:30:30 GMT References: <2550@sultra.UUCP> Organization: HP Australian Software Operation Lines: 14 > Things at least vaguely along those lines have been done. There is one > major problem that has to be solved: how do you prevent a user from > branching to some well-chosen place in the *middle* of a privileged The HP 9000 series 500 is a fully symmetric multi-CPU (1-5) stack-based machine. Each segment has associated privelege levels and a jump table, which you use simply by saying 'call entry point N of segment M'. The kernel itself is simply a bunch of code and data segments, (about 30-40 I think), and the inter-segment call is very fast. The compilers normally create programs consisting of one segment per source file, however the linker can merge segments up to an approximate size, which is worthwhile since you only have 2048 segment numbers available systemwide. Quite a nice architecture, the 500, pity the machine is obsolete.