Talk:SITS

From Computer History Wiki
Revision as of 15:10, 19 October 2022 by Jnc (talk | contribs) (Virtual memory?: sounds like it)
Jump to: navigation, search

Virtual memory?

I've always understood 'virtual memory' to mean that not all the contents of a process' address space had to be resident in main memory for the process to run. (Any time it tries to use a missing 'piece' when it is running, it is stopped, the missing element is brought in, and then it is allowed to continue execution.) Was SITS really a 'virtual memory' OS, in that meaning of the term?

The PDP-11 was in theory capable of supporting operation in that way (using the 8 'pages' - they're actually 'segments', as the two were classically defined, and were so called in the first version of the -11/45 processor manual; my theory is that DEC changed it to 'pages' for marketing reasons), but AFAIK no -11 OS ever actually did so - probably because the -11's process address space was so small, there was no real need/use for that - it was simpler to just swap the whole process in. But I'm not very familiar with any -11 time-sharing OS other than UNIX, so perhaps one did? Jnc (talk) 13:50, 19 October 2022 (CEST)

SITS has a .MAP system call that can manipulate the page table. I haven't checked exactly how it's used, or what you can do. It seems starting a PDUMP binary does not do demand paging. However, it looks like .MAP can map in file pages, so maybe it's possible.
I certainly have seen page faults due to a page being unmapped, then handled, and then the faulting instruction being restarted. Larsbrinkhoff (talk) 14:23, 19 October 2022 (CEST)
That last does sound like virtual memory - even if it only happens on mapped file pages. Jnc (talk) 15:09, 19 October 2022 (CEST)