From: paul.winalski at gmail.com (Paul Winalski) Subject: [COFF] [TUHS] Memory management in Dennis Ritchie's C Compiler Date: Wed, 19 Aug 2020 13:39:38 -0400 Message-ID: <CABH=_VS4P5yQ+7aO+DoO4pqzqt_PPccMEACJuzFs1PZzZ2t6Fg@mail.gmail.com> (raw) In-Reply-To: <alpine.DEB.firstname.lastname@example.org> On 8/18/20, Tony Finch <dot at dotat.at> wrote: > > The Manchester / Ferranti Atlas had virtual memory in 1962 but I don't > know how much they used it for multiprogramming (and by implication shared > text segments) - it didn't do timesharing until later, but AIUI virtual > memory helped it to have an exceptionally good job throughput for the > time. Perhaps their motivation was more to do with having a good shared > implementation of overlays and paged IO. > > https://en.wikipedia.org/wiki/Single-level_store I knew the Manchester invented virtual memory in the Atlas system. In the IBM System/360 world, the first machine with Dynamic Address Translation (DAT, the hardware that implements virtual->physical address transiation via page tables) was the S/360 model 67. The only IBM OS to use it was CP/67, the virtual machine forerunner of VM/370. All of the models of System/370 eventually got virtual memory capability. The different OSes implemented virtual memory quite differently: DOS/VS, the OS for smaller machines, had a single, demand-paged virtual address space that could be larger than physical memory.. This could be partitioned into five user program spaces. DOS/VS could run up to five processes (one per partition) simultaneously. Process scheduling was strictly preemptive--the program in P4 got the CPU whenever it needed it. P3 only ran when P4 was stalled; P2 only when P4 and P3 were stalled, etc. At our school we ran the spooling system in P4 since it was almost completely I/O bound. P3 ran the administrative transaction processing system. P2 ran the student time-sharing software. P1 and BG (background; the lowest on the scheuling totem pole) ran batch jobs. OS/VS1 was the successor to OS/MFT (multiprogramming with a fixed number of tasks). Like DOS/VS, it had a single virtual address space divided into partitions, but you could have more than five of them. OS/VS2 SVS (single virtual storage) was the first successor to OS/ MVT (multiprogramming with a variable number of tasks). It, too, had a single virtual address space, but partitioning was done dynamically. OS/VS2 MVS (multiiple virtual storage) was the only one of the lot to handle virtual memory the way that modern OSes do. Each process got its own, independent virtual address space. -Paul W.
next prev parent reply other threads:[~2020-08-19 17:39 UTC|newest] Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top [not found] <20200817192715.22D9518C09E@mercury.lcs.mit.edu> [not found] ` <20200817193050.GC11413@mcvoy.com> [not found] ` <CABH=_VS=Wyvnb_SoiCfRd3GaYwA47TJhMSRwpryBoEo38T6fyw@mail.gmail.com> 2020-08-18 23:48 ` dot 2020-08-19 17:39 ` paul.winalski [this message] 2020-08-19 20:36 ` clemc 2020-08-19 22:09 ` paul.winalski [not found] <20200817195108.75FED18C09E@mercury.lcs.mit.edu> 2020-08-21 9:08 ` lars
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to='CABH=_VS4P5yQ+7aO+DoO4pqzqt_PPccMEACJuzFs1PZzZ2t6Fg@mail.gmail.com' \ --to= \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Computer Old Farts Forum This inbox may be cloned and mirrored by anyone: git clone --mirror http://inbox.vuxu.org/coff # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V1 coff coff/ http://inbox.vuxu.org/coff \ email@example.com public-inbox-index coff Example config snippet for mirrors. Newsgroup available over NNTP: nntp://inbox.vuxu.org/vuxu.archive.coff AGPL code for this site: git clone https://public-inbox.org/public-inbox.git