1
0
mirror of https://github.com/PDP-10/its.git synced 2026-01-13 15:27:28 +00:00
PDP-10.its/doc/sits/conven.3
Lars Brinkhoff 46ac182bdc SITS - Small ITS.
Timesharing system for the Logo PDP-11/45.
2022-10-23 08:30:59 -05:00

60 lines
3.2 KiB
Plaintext
Executable File
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

SITS CONVENTIONS
THIS FILE CONTAINS INTERNAL CONVENTIONS IN SITS. SHOULD NOT ONLY CONTAIN THE CONVENTION
BUT ALSO A SHORT JUSTIFICATION, AND WHAT WOULD HAVE TO BE CHANGED IF THE CONVENTION IS
CHANGED. THE ENTRIES SHOULD BE SORTED BY TOPIC.
UPT'S:
1. THE IN CORE BIT IS NOT NECESARILY ACCURATE ON THE INTERRUPT LEVEL. THIS WAS
ADOPTED BECAUSE IT CAUSES LESS PROCESSING ON THE UPT AT INTERRUPT LEVEL. TO
CHANGE IT, IT IS ONLY NECESSARY TO MOVE THE INSTRUCTION IN DSKRQ, TO BE BEFORE
RESTORING PRIORITY LEVEL.
2. THE CIRCULAR LIST STRUCTURE OF UPT'S CANNOT BE DELETED FROM ON THE INTERRUPT
LEVEL. THIS IS TO AVOID THE PROBLEM OF A PROCESS LINKING THROUGH THE CIRCULAR
LIST, AND GETTING ISOLATED IN A UPT THAT WAS LINKED OUT. THIS CANNOT BE CHANGED
UNLESS SOME WAY IS DEVISED TO INDICATE WHO IS LINKING THROUGH A GIVEN LIST
AT A PARTICULAR TIME.
3. THE A AND W BITS ARE UPDATED WHENEVER THE SEGMENTATION REGISTERS ARE UNLOADED.
THIS IS ONLY IN SPHERES. FOR FUPT'S THE BITS MUST BE SET MANUALLY (WHENEVER
A WRITE IS DONE INTO THE PAGE, OR BEFORE THE PAGE IS UNLOADED. THE M (MODIFIED)
BIT IS THE INCLUSIVE OR OF THE W BITS, AND IS ONLY CLEARED WHEN THE PAGE IS
SWAPPED OUT TO SOURCE. IT INDICATES IF THE PAGE HAS BEEN MODIFIED SINCE
BEING WRITTEN TO SOURCE. THE N BIT TELLS IF A PAGE HAS JUST COME FROM SOURCE.
IT INHIBITS THE INCLUSIVE OR OF THE W BIT, INTO THE M BIT.
4. THE UPT STRUCTURE MAY NOT BE ACCURATE ON THE INTERRUPT LEVEL. THIS THEN
PREVENTS AN INTERRUPT ROUTINE FROM LINKING THROUGH THE UPTS.
ANY GIVEN UPT, HOWEVER WILL BE AT LEAST PARTIALLY ACCURATE.
5. BEFORE CREATING A UPT TO HANG OFF OF A FPT THE FPTLCK BIT MUST BE LOCKED.
THIS IS SO THAT THE FPT WILL NOT BE DELETED AND SO THAT THE COMMON START
AND LEGNTH FIELDS WILL NOT CHANGE.
6. THE A, W, M, AND N BITS ARE ONLY ACCURATE FOR THE GIVEN PAGE. FOR SWAPPING
PURPOSES, ALL THE UPT'S BITS IN THE CIRCULAR LIST MUST BE INCLUSIVE OR'ED
TO GET THE CORRECT STATUS. THIS LETS THE BIT MUNGING GO ON AT THE INTERRUPT
LEVEL. ALSO SINCE HOPEFULLY THERE WILL BE MORE UNLOADING OF THE SEGMENTATION
REGISTERS, THAN SWAPPING, THIS SHOULD SAVE TIME.
CAPABILITIES:
1. BEFORE A CAPABILITY CAN BE DELETED FROM THE C-LIST OF A SPHERE, THE SCLSLK MUST
BE LOCKED WITH A MINUS 1. THEN WHEN IT IS LOCKED, THE PROCESS NO. OF THE
LOCKER MUST BE PLACED INTO THAT LOCATION. THEN THE ENTIRE SPHERE MUST BE
STOPPED. THIS IS TO KEEP THE C-LIST IN A CONSISTENT STATE, WHILE THE DELETION
IS OCCURING. AN ALTERNATIVE IS TO REQUIRE EACH SYSTEM CALL TO ONLY DEPEND ON
THE CAPABILITY'S STATE AT THE START OF THE CALL.
2. A CAPABILITY SLOT THAT IS ABOUT TO BE USED, BUT THE CAPABILITY HASN'T ACTUALLY
BEEN CREATED YET, HAS A TYPE WORD OF -1. THIS IS TO KEEP THAT SLOT FROM BEING
USED, WHILE THE CAPABILITY IS IN THE PROCESS OF BEING CREATED. AN ALTERNATIVE
TO THIS IS CAUSING EACH CAPABILITY CREATE ROUTINE TO BE IN A PCLOSERABLE STATE
WHENEVER IT ACTUALLY IS READY TO PUT THE CAPABILITY INTO THE C-LIST.
DISKS:
1. IN ORDER TO SWAP SOMETHING OUT TO SOURCE, IT IS NECESSARY FOR THE ROUTINE THAT
MAKES THE REQUEST TO SET THE W BIT IN THE UPT'S IF THE PAGE HAS BEEN MODIFIED.
THIS IS BECAUSE THE DISK ROUTINES WILL JUST ASSUME THE PAGE AT SOURCE IS THE
SAME AS THE CURRENT ONE, AND NOT INITIATE THE TRANSFER.