Difference between revisions of "ITS Internals Manual"
(Save what I've got - taking a break) |
(No difference)
|
Revision as of 11:56, 10 September 2023
There is some documentation for Incompatible Timesharing System, but principally oriented towards the users and programmers thereof (see links below). This page attempts to provide at least the high-level portions of a manual which describes how the kernel of the system is organized.
Note: This page is under construction.
Basics
- Jobs
- User variables
- Interrupts
- How they get started
- Memory management (pages)
- File system
- I/O
- Terminals
- Terminal-type independent output
- Virtual devices
- Terminals
- Daemons
- Bootstrapping
- Networking
Daemons
ITS has both classic daemons (which are ordinary processes, which load their code from the file system, run in the same CPU mode as normal user processes - and thus have a private address space), and what we are calling 'system processes [temporary placeholder - I need to send that email to COFF] (whose code is statically linked in with the kernel, and thus loaded into main memory at bootstrapping time, and run in 'executive' mode, and thus share the kernel's address space).
On startup, ITS starts a job called SYSJOB which does some system tasks as a regular job. One of the things it does when it starts, is to run SYS; ATSIGN DRAGON which is a central daemon. (On ITS, a "dragon" is a permanent system job, and a "demon" is a temporary system job which is started on demand.) This dragon is also called TARAKA and lives in the CHANNA directory (names taken from the book Lord of Light.) TARAKA is responsible for starting other dragons in there, which start with the file name RAKASH. One of those is RAKASH CNAVRL which launches COMSAT (the mailer daemon).
There is also a system process called the CORE JOB, which before paging used to shuffle processes around in core, but which now ??
At least one ITS machine, DM, had a 'batch' daemon.
External links
- ITS - contents of the ITS machines, including online documentation
- ITS files
- Jobs In ITS - 'job' is ITS jargon for 'process'
- Jobs In ITS - different dir
- ITS Paging - for the KS; somewhat cryptic/truncated
- ITS Calls - documentation on all symbolic ("new") system calls
- ITS UUOS - "non-symbolic ("old") system calls"
- ITS USETS - "all user variables hacked by .USET/.SUSET"
- ITS USETS - different dir
- ITS Interrupts
- ITS Interrupts - different dir
- Overview of ITS User Interrupts
- Overview of ITS User Interrupts - different dir
- PCLSR TEST - useful background
- ITS UFD - Disk file directories
- ITS UFD - different dir
- I/O Device Dispatch Tables
- JOB/BOJ Device
- JOB/BOJ Device - different dir
- LOCK device - "documentation for the LOCK device, the locked switch list and critical routine features"
- LOCK device - different dir
- Core link device
- Core link device - different dir
- ITS TTYVAR - "TTY variables"
- MLDEV/MLSLV protocol
- SYSDOC; ITS HISTRY - log of changes from ITS 946 to 1263
- ITS Status Report - these cover very old versions of the system
- BUG-ITS - archive of email messages