Difference between revisions of "PCLSRing"

From Computer History Wiki
Jump to: navigation, search
(Link to RPG's Worse Is Better.)
(Early PCLSRing code from ITS 1.0!)
 
(2 intermediate revisions by one other user not shown)
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.
Line 11: Line 13:
  
 
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".
 
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".
 +
 +
{{semi-stub}}
  
 
==External links==
 
==External links==
Line 16: Line 20:
 
* [http://fare.tunes.org/tmp/emergent/pclsr.htm PCLSRing: Keeping Process State Modular] - Alan Bawden's detailed memo on PCLSRing
 
* [http://fare.tunes.org/tmp/emergent/pclsr.htm PCLSRing: Keeping Process State Modular] - Alan Bawden's detailed memo on PCLSRing
 
* [https://github.com/larsbrinkhoff/mit-logo-and-sits-raw-files/blob/master/files/19741205_2of3_AI_KA_Arch_1113-1116_1117p/rjl/ch3.2 The PCLOSER Problem] - Ron Lebel's writeup for SITS.
 
* [https://github.com/larsbrinkhoff/mit-logo-and-sits-raw-files/blob/master/files/19741205_2of3_AI_KA_Arch_1113-1116_1117p/rjl/ch3.2 The PCLOSER Problem] - Ron Lebel's writeup for SITS.
* [https://www.dreamsongs.com/WorseIsBetter.html Worse Is Better] by Richard P. Gabriel.
+
* [https://www.dreamsongs.com/RiseOfWorseIsBetter.html 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"
 
+
** [https://www.dreamsongs.com/WorseIsBetter.html Worse Is Better] - background
{{semi-stub}}
 
  
 
[[Category: OS Basics]]
 
[[Category: OS Basics]]

Latest revision as of 07:50, 23 November 2023

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