On Sun, Jan 17, 2016 at 10:09 AM, James K. Lowden <jklowden at schemamania.org> wrote:
> On Sat, 16 Jan 2016 14:21:26 -0700 > Scott Robison <scott at casaderobison.com> wrote: > > > > Huh. An example of which is the "medium model" of the Intel 8086: > > > 20-bit code pointers and 16-bit data pointers. A machine for which > > > C compilers existed, and on which no Posix system will ever run > > > (because it lacks an MMU). Thanks for that. > > > > > > > Sorry for the OT diversion, but I'm just curious as I don't have > > historical POSIX standards for reference. Does POSIX really *require* > > an MMU? Certainly Unix like systems were written for 8086 class > > computers, but given that POSIX was first standardized in 1988 I'm > > just curious as to whether or not an MMU is a requirement or just > > really nice to have. > > AFAIK Posix makes no statement regarding hardware. And Posix systems > do run on "machines" today without an MMU, if you count bochs as a > "machine" and disregard the MMU supplied by the underlying hardware. > Posix requires process separation, which is most efficiently > implemented in hardware, and was definitely needed back in the days of > 4.77 MHz processors. > No, I was thinking actual real hardware. If including virtual machines I'd have to consider a virtual MMU to be an MMU. > Xenix ran on the 8086, to be sure. As best I remember, though, the > Xenix that run on a stock IBM PC was single-threaded: no fork(2). > Sorry, no links; the www can be skimpy on pre-1990 arcania. Apparently > there were real multitasking versions of Unix running on the 8086, > where the motherboard included some form of MMU. I'm sure they > performed like dancing bears. > Indeed it can be skimpy, hence my asking. I was hoping you might have information I was unable to find. Obviously Unix and Xenix and anything that was released prior to 1988 was not written with Posix conformance in mind. I was mainly curious if it legally required an MMU (per the standard). Thanks! -- Scott Robison