From Computer History Wiki
Revision as of 08:50, 23 November 2023 by Larsbrinkhoff (talk | contribs) (Early PCLSRing code from ITS 1.0!)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

PCLSRing means PC-lusering (from Program Counter and luser, the ITS jargon for user).

Early PCLSRing code from ITS 1.0.

It's the procedure of ensuring that the PC of a process is in user space. This makes it easier for one process to observe and reason about another process, because the observed process does not exhibit any state hidden in kernel space.

PCLSRing is mostly associated with the ITS operating system. In some form it can also be found in the Berkeley Timesharing System and SITS.

If a process is executing in kernel space and needs to be PCLSRed, typical strategies are:

  • Update the user space state and return immediately. This can only be done in special cases when the user state can express the intermediate state of a kernel operation. An example is an I/O read/write operation where user space state includes the I/O length and target address.
  • Back out the side effects of a kernel operation and return to a user space point before the operation was started.

A strategy not considered proper PCLSRing is to cancel the kernel operation and return an error to user space. This was the topic of the essay known as "Worse Is Better".

External links