This is very Unix-centric. Day 01, Processes, ignores interesting alternatives, like OpenVMS, which have radically different memory layouts, and things like "images" getting loaded into a common address space.
That's quite interesting. Do you have any resource to recommend for OpenVMS or Mach architecture overview, or in general OS architecture tradeoffs and designs?
I'm basing my VMS process memory layout comment on: Virtual Memory Management in the VAX/VMS Operating System by Henry M. Levy and Peter H. Lipman, Digital Equipment Corporation. It's an old paper, but I believe, still essentially correct.
I looked into Mach circa 1991, when I had a NeXT. The NeXT OS was based on Mach 2.0 as I recall, perhaps current Darwin docs will help there. I don't have any preferred modern references. Googling for "Mach operating system" pulls up quite a few.
This is very Unix-centric. Day 01, Processes, ignores interesting alternatives, like OpenVMS, which have radically different memory layouts, and things like "images" getting loaded into a common address space.
Mach would be another alternative to consider.
That's quite interesting. Do you have any resource to recommend for OpenVMS or Mach architecture overview, or in general OS architecture tradeoffs and designs?
I'm basing my VMS process memory layout comment on: Virtual Memory Management in the VAX/VMS Operating System by Henry M. Levy and Peter H. Lipman, Digital Equipment Corporation. It's an old paper, but I believe, still essentially correct.
I looked into Mach circa 1991, when I had a NeXT. The NeXT OS was based on Mach 2.0 as I recall, perhaps current Darwin docs will help there. I don't have any preferred modern references. Googling for "Mach operating system" pulls up quite a few.