From: andrew@rentec.com (Andrew Mullhaupt)
Newsgroups: comp.unix.dos-under-unix
Subject: Re: Windows NT
Date: 4 Jan 93 06:40:36 GMT
Organization: Renaissance Technologies Corp., Setauket, NY.

In article <C05FAH.1q1@world.std.com> apl@world.std.com (Anthony P Lawrence) writes:
>andrew@rentec.com (Andrew Mullhaupt) writes:
>: In article <C03I3E.10C@world.std.com> apl@world.std.com (Anthony P Lawrence) writes:
>: >  It's obvious from even what I've read so far that NT is
>: [... enough to make any 'Unixoid' happy]
>: 
>: I.e. Does Windows NT support dynamic loading, memory mapped files and
>: will there be a 48/64 bit version before 1996?
>
>Someone who knows more than I should answer this, but if they don't:
>
>From what I've read so far: mmap (yes) virtual memory (yes).  Beyond
>t, I dunno.  It is multiprocessor, though and is *not* [3-5]86 specific.
>
>They don't call it mmap(), of course. It's called a "file mapping
>object, [which] represents a block of memory".  Kind of obvious
>what it is, isn't it?

I wouldn't make that assumption. A company that wants me to allocate
memory in 64K blocks, using things called thunks which are pointers
to pointers will have to do some real convincing before I credit
them with even a slight idea of memory management. Note that there
have been many bad or even broken implementations of memory mapping
even in UNIX, for example there is a little known (and rightly so)
SysVR3.2 version where you can map anything which is a block special
device - i.e. you can map a whole disk but that's all. Then there was
the awful segment restricted version in AIX 3.2 which used one of the
ten available 256M segments for each mapped file - result that you could
only map ten files and they all had to be smaller that 256M address space.

There are other implementations, such as a maverick version by SCO
which I never tried since Dell UNIX made that superfluous - I got
Dell SysVR4 up before SCO finally claimed that they had some sort
of memory mapped files (in fact I was running Dell for two years before
SCO finally determined that they had memory mapping - I guess it's
really well implemented if nobody knows about it).

Right now I'm biting my nails on the quality of implementation of memory
mapping for DEC OSF-1 and HP-UX 9.0. I've actually had to explain to
HP sales engineers that they were in print claiming to support memory
mapped files, but who knows if they work well in HP-UX 9.0 if the
HP engineers don't know about it... I assume that these two versions
are alike and conform essentially to the OSF AES (am I the only guy 
who read that thing?) in which case it's mostly the same as SysVR4
with madvise() added, which is fine. Of course we're waiting to
run stuff on their boxes before we believe this.

Which brings up another question - will sparse files map as such in
Windows NT? If not - it's another thing to wait until Microsoft learns.

>Reading "Inside Windows NT" is fun. Ideas that are old hat to Unix
>are presented as though they were wonderful insights by the Microsoft
>design team.  Not knocking the book, it's pretty good.  It's just that
>I keep saying "Well, geez, why don't they just call it NT-Unix and
>be done with it?"


I don't know. They'd have a much better chance selling me a copy if it
_was_ NT-Unix. On the other hand, it should be confessed that I am not
very happy with Unix, although it is miles ahead of what it was ten years
ago when I started to be subjected to it. I am entirely willing to believe
that there are many things I would like better than UNIX, but I haven't
seen one recently. I have yet to see a first rate operating system, and
maybe I never will.

Later,
Andrew Mullhaupt
Newsgroups: comp.unix.dos-under-unix