Difference between revisions of "PCLSRing"
From Computer History Wiki
m (→External links: This except is shorter) |
(Early PCLSRing code from ITS 1.0!) |
||
Line 1: | Line 1: | ||
'''PCLSRing''' means PC-lusering (from [[Program Counter]] and [[luser]], the [[Incompatible Timesharing System|ITS]] jargon for [[user]]). | '''PCLSRing''' means PC-lusering (from [[Program Counter]] and [[luser]], the [[Incompatible Timesharing System|ITS]] jargon for [[user]]). | ||
+ | |||
+ | [[Image:PCLSR.png|thumb|right|400px|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. | 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. |
Latest revision as of 07:50, 23 November 2023
PCLSRing means PC-lusering (from Program Counter and luser, the ITS jargon for user).
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
- PCLSRing: Keeping Process State Modular - Alan Bawden's detailed memo on PCLSRing
- The PCLOSER Problem - Ron Lebel's writeup for SITS.
- The Rise of Worse is Better - the philosophy of PCLSRing is discussed in this except of "Lisp: Good News, Bad News, How to Win Big"
- Worse Is Better - background