Just thought I would stop by and say hi.
My local library is having a book sale, and I thought
I would stop by to see what they had. Every hardcover
was a dollar, every other book was a half dollar. Most
of it was romance novels and the such.
As I was roaming through a section, I found
Andrew S. Tanenbaum's Operating System: Design and
Implementaion, first edition. It is in excellent
condition. No writing, the cover has no marking except
for a slight tear. The two perforated registration cards
are still in the back of the book. No bent pages and
no library markings.
I was surprised I found it, and quickly spent the dollar
on it.
Anyway, just thought I would stop by and say hi. This
group hasn't seen much traffic lately.
Ben
--
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Forever Young Software
http://www.frontiernet.net/~fys/index.htm
http://www.frontiernet.net/~fys/collections.htm
To reply by email, please remove the zzzzzz's
Batteries not included, some assembly required.
A university I attended did that every spring. I picked up some rare and
obscure books that way. If it hadn't been checked out in a number of years,
it went into the for sale pile... I never made the time when I was in
school, but I had planned on perusing the used book bookstores near
universities for gems. With the cooperation among bookstores today, I could
probably just order them from B&N, Borders, or Amazon.
> This group hasn't seen much traffic lately.
Yeah, I'm seeing more stuff in comp.lang.misc and comp.lang.forth on OS
development than here... Life disrupted me, so I haven't done much lately.
It's hard to get back into the groove.
Rod Pemberton
I've bought a few good used CS books too, not as cheap, though.
> Anyway, just thought I would stop by and say hi. This
> group hasn't seen much traffic lately.
Yep. Either it's not cool anymore or people have some more important
things to do these days or it's just that fewer people are capable of
doing this low level stuff than before (blame Java and others :).
Alex
<--
I've bought a few good used CS books too, not as cheap, though.
-->
> Anyway, just thought I would stop by and say hi. This
> group hasn't seen much traffic lately.
<--
Yep. Either it's not cool anymore or people have some more important
things to do these days or it's just that fewer people are capable of
doing this low level stuff than before (blame Java and others :).
Alex
-->
or, because the barrier to entry is much higher...
years back, one could at least get something from a DOS clone, back when DOS
was a viable OS...
anymore, one needs a GUI, internet, OpenGL and HW accel, a large software
base, ... just to really make the starting line...
we can observe how modern OS's just ARE a lot more than older OS's, me
recently noticing (after having messed with them) that Win 3.x and NT4 are
almost little toy OS's: they can do so little by modern standards...
and, it is not like QEMU or similar screws them over, they are operating at
the full limits of what they could do, which is not a whole lot by modern
standards...
the barrier to entry is now so much higher that any but the most dedicated
project will have a hard time advancing much beyond being simply a toy...
once, long ago, this is what killed my OS efforts...
similarly, it seems that the power balances are different in modern OS's
than in older OS's.
long ago, the kernel was the core, and to some extent, the kernel was the
OS;
now, it is much more about the libraries and the apps, with the main role of
the kernel to be to support the libs and the apps.
but, at the same time, it is the libs and apps that make up much of the
"flavor" of the OS, and so much more power can be gained by operating at the
level of the libraries and apps.
granted, there is still lots to do at the kernel level, but one can consider
what sorts of things can be best done and at which levels.
similarly, the role of the "particular" OS is becomming less, since it is
becomming increasingly common for libraries and apps to be cross platform.
the main downside being that most opensource developers only really bother
to develop for Linux, and I am in the rare minority who develops primarily
on Windows. but, as I see it, there is no real good reason for there to be
such a harsh split between Linux-land and Windows-land...
apps should be portable, such that people are free to use them on the OS
best fulfilling their needs.
this is also a good way to lessen MS's grip, since it is no longer about
Windows' software base and O/S clones, but rather that one may find that the
same software is available in both cases, thus easing their choices (and, it
also narrows the window which MS and commercial software retain in which to
try to retain tight control).
FireFox was not a great browser because it was open-source and ran on Linux,
it was great because it also runs on Windows (and was thus well seated to
displace the native Internet Explorer).
nevermind that since about FF 3.x, it does have a bit of a problem:
stability is not so ideal, and it uses up a bit too much memory (FF very
often ends up using 1-2GB or memory and then crashing...).
there are a few other issues, but not really FF's fault (unless they can
find some way to make it handle better under heavy loads of JavaScript and
Flash...).
but, IMO, FF should be a model...
likewise goes for OpenOffice, which for sake of also working well on
Windows, can displace MS Office to some extent on its own turf (making free
choice that little bit easier), ...
hackish apps which use configure scripts and lots of Linux specific headers
and libs are, IMO, not the ideal model...
granted, at the moment, there is no ideal model or base for cross-platform
development, but oh well...
MS would then lose its hold once the choice no longer matters, and where it
becomes clear that the whole software base could, almost overnight, "jump
ship" from one OS to another...
No, the starting line is pretty much the same...
> we can observe how modern OS's just ARE a lot more than older OS's, me
> recently noticing (after having messed with them) that Win 3.x and NT4 are
> almost little toy OS's: they can do so little by modern standards...
...but I totally agree that one cannot signle-handedly (nor even
double-handedly:) create all of what a regular user is accustomed to
see in what is in a popular OS these days.
> and, it is not like QEMU or similar screws them over, they are operating at
> the full limits of what they could do, which is not a whole lot by modern
> standards...
>
> the barrier to entry is now so much higher that any but the most dedicated
> project will have a hard time advancing much beyond being simply a toy...
>
> once, long ago, this is what killed my OS efforts...
>
> similarly, it seems that the power balances are different in modern OS's
> than in older OS's.
> long ago, the kernel was the core, and to some extent, the kernel was the
> OS;
> now, it is much more about the libraries and the apps, with the main role of
> the kernel to be to support the libs and the apps.
>
> but, at the same time, it is the libs and apps that make up much of the
> "flavor" of the OS, and so much more power can be gained by operating at the
> level of the libraries and apps.
>
> granted, there is still lots to do at the kernel level, but one can consider
> what sorts of things can be best done and at which levels.
>
> similarly, the role of the "particular" OS is becomming less, since it is
> becomming increasingly common for libraries and apps to be cross platform.
>
> the main downside being that most opensource developers only really bother
> to develop for Linux, and I am in the rare minority who develops primarily
> on Windows. but, as I see it, there is no real good reason for there to be
> such a harsh split between Linux-land and Windows-land...
If Linux was frendlier and earned as much as Windows, the split would
be smaller. Though, I liked the latest Ubuntu a lot -- it just worked
out of the box and whatever was missing -- it made it trivial to
download and install it. I had never before had such great experience
with Linux.
> apps should be portable, such that people are free to use them on the OS
> best fulfilling their needs.
Should, yeah. But somebody has to pay for it one way or another.
> this is also a good way to lessen MS's grip, since it is no longer about
> Windows' software base and O/S clones, but rather that one may find that the
> same software is available in both cases, thus easing their choices (and, it
> also narrows the window which MS and commercial software retain in which to
> try to retain tight control).
As I understand it, availability of software for Linux isn't that
great because:
- Linux itself isn't popular enough
- Crossplatform development costs extra money
- Supporting Linux versions may be more costly as well (there're too
many Linuxes, with various configurations and problems)
- I might be wrong on this to some extent, but Linux is too open --
it's hard to hide well something like keys/licensing data in obscure
places in the registry or elsewhere. One can hack and debug their
Linux kernel easier than that of Windows (you don't get much source
code or all symbols for Windows, its drivers and other software).
> FireFox was not a great browser because it was open-source and ran on Linux,
> it was great because it also runs on Windows (and was thus well seated to
> displace the native Internet Explorer).
>
> nevermind that since about FF 3.x, it does have a bit of a problem:
> stability is not so ideal, and it uses up a bit too much memory (FF very
> often ends up using 1-2GB or memory and then crashing...).
> there are a few other issues, but not really FF's fault (unless they can
> find some way to make it handle better under heavy loads of JavaScript and
> Flash...).
>
> but, IMO, FF should be a model...
And it *is* in my book. IE is too sluggish and still doesn't save/
restore opened tabs always, which sucks big time. It also crashes
(used to crash) more often than FF. I forgive FF a few of its problems
because of the better user experience and ability to work around them
easily. I can just restart FF and all leaked memory isn't leaked
anymore. And I know that whatever the reason for the browser restart
is, FF will restart with all the same pages opened that I had in it
last time. No extra thinking, it just works.
> likewise goes for OpenOffice, which for sake of also working well on
> Windows, can displace MS Office to some extent on its own turf (making free
> choice that little bit easier), ...
Dunno. Haven't tried really using OO in a long time. Back then it used
to be slow, had problems with MS file formats (e.g. .doc) and had UI
usability problems. I did like the formula support in it though (it
came from Star Office AFAIK).
> hackish apps which use configure scripts and lots of Linux specific headers
> and libs are, IMO, not the ideal model...
>
> granted, at the moment, there is no ideal model or base for cross-platform
> development, but oh well...
>
> MS would then lose its hold once the choice no longer matters, and where it
> becomes clear that the whole software base could, almost overnight, "jump
> ship" from one OS to another...
When Windows stops selling well due to competition, it will probably
become free (at least some basic version of it) and you'll be asked to
pay not for Windows but for some optional or not so optional services.
Or maybe the "cloud thingy" (which I personally think is still a form
of .com reality distortion) will be good, usable and cheap, in which
case I doubt there will be any noticeable difference in cost and
experience between hosting your data and apps somewhere on Windows and
somewhere on Linux (or it could be fifty-fifty -- why not?)...
Alex
<--
No, the starting line is pretty much the same...
-->
raw DOS-like or simple Unix-like kernel...
at this point, no one will care, but they did care back in the early 90s...
> we can observe how modern OS's just ARE a lot more than older OS's, me
> recently noticing (after having messed with them) that Win 3.x and NT4 are
> almost little toy OS's: they can do so little by modern standards...
<--
...but I totally agree that one cannot signle-handedly (nor even
double-handedly:) create all of what a regular user is accustomed to
see in what is in a popular OS these days.
-->
yep, yep...
<--
If Linux was frendlier and earned as much as Windows, the split would
be smaller. Though, I liked the latest Ubuntu a lot -- it just worked
out of the box and whatever was missing -- it made it trivial to
download and install it. I had never before had such great experience
with Linux.
-->
yes, ok.
if Linux and Windows had more of a common software base, it would be better
still...
> apps should be portable, such that people are free to use them on the OS
> best fulfilling their needs.
<--
Should, yeah. But somebody has to pay for it one way or another.
-->
portability is not "that" hard...
autoconf / configure is one of those tools touted as making apps build
"everywhere", if by "everywhere" you just happen to mean Linux...
FWIW, I have better luck with Makefiles, and observationally, many of the
apps which actually do work acceptably cross-platform, also use Makefiles...
I have also had "some" success with the use of auto-sensing headers, which
basically manage to figure out basic OS/CPU/compiler options via lots of
macros, thus allowing slightly more generic logic in the makefiles (granted,
they still usually need to be specialized per-target, and keeping them
up-to-date is a bit of an issue).
> this is also a good way to lessen MS's grip, since it is no longer about
> Windows' software base and O/S clones, but rather that one may find that
> the
> same software is available in both cases, thus easing their choices (and,
> it
> also narrows the window which MS and commercial software retain in which
> to
> try to retain tight control).
<--
As I understand it, availability of software for Linux isn't that
great because:
- Linux itself isn't popular enough
- Crossplatform development costs extra money
- Supporting Linux versions may be more costly as well (there're too
many Linuxes, with various configurations and problems)
- I might be wrong on this to some extent, but Linux is too open --
it's hard to hide well something like keys/licensing data in obscure
places in the registry or elsewhere. One can hack and debug their
Linux kernel easier than that of Windows (you don't get much source
code or all symbols for Windows, its drivers and other software).
-->
ok, I had been mostly talking about open-source software, not commercial
software...
more open-source software should be portable (to both Windows and Linux),
since as-is, there are essentially different software bases:
lots of opensource stuff which is Linux only;
lots of commercial stuff which is Windows only.
granted, Linux is a horrible mess for commercial development (and Linux apps
typically don't even have binary compatibility with Linux...).
similarly, Windows does not seem to have the same appeal towards O/S
(OpenSource, not OS) dev's, since it doesn't have the same sort of
idealism...
(actually, the whole GNU/GPL mindset I feel is suspect, as it creates a
needless dichotomy...).
another major common issue with O/S is that people are far more concerned
with "code" than with "standards", hence everyone and their dog has their
own GUI toolkit, but there is still no standardized GUI API which works well
on both Windows AND Linux.
IMO, GTK does not count, since GTK:
is an implementation, not a standardized API;
is a bit of an ugly mess (incorporating too many things beyond GUI);
does not work so well on Windows (it tends to be brittle and does not offer
native widgets).
idle thoughts in my case had been for something partway between GTK and GDI,
but alas, this would be just "yet another widgets toolkit" absent some
larger effort.
> FireFox was not a great browser because it was open-source and ran on
> Linux,
> it was great because it also runs on Windows (and was thus well seated to
> displace the native Internet Explorer).
>
> nevermind that since about FF 3.x, it does have a bit of a problem:
> stability is not so ideal, and it uses up a bit too much memory (FF very
> often ends up using 1-2GB or memory and then crashing...).
> there are a few other issues, but not really FF's fault (unless they can
> find some way to make it handle better under heavy loads of JavaScript and
> Flash...).
>
> but, IMO, FF should be a model...
<--
And it *is* in my book. IE is too sluggish and still doesn't save/
restore opened tabs always, which sucks big time. It also crashes
(used to crash) more often than FF. I forgive FF a few of its problems
because of the better user experience and ability to work around them
easily. I can just restart FF and all leaked memory isn't leaked
anymore. And I know that whatever the reason for the browser restart
is, FF will restart with all the same pages opened that I had in it
last time. No extra thinking, it just works.
-->
yep...
FF has its issues, but IE just sucks...
> likewise goes for OpenOffice, which for sake of also working well on
> Windows, can displace MS Office to some extent on its own turf (making
> free
> choice that little bit easier), ...
<--
Dunno. Haven't tried really using OO in a long time. Back then it used
to be slow, had problems with MS file formats (e.g. .doc) and had UI
usability problems. I did like the formula support in it though (it
came from Star Office AFAIK).
-->
works well enough, and reduces the need for MS Office...
granted, yes, it is maybe a bit of an issue if one needs to share lots of
files with others, but it by itself works well enough...
I think the weak performance may be due to it being written in Java...
note, this may offend some fans, and am aware of its use of JIT, ... but,
just, some things it does are not so good for performance (and, if a C or
C++ app did things the same ways, its performance would also suck, but the
think is, typical C and C++ code does not do things this way...).
> hackish apps which use configure scripts and lots of Linux specific
> headers
> and libs are, IMO, not the ideal model...
>
> granted, at the moment, there is no ideal model or base for cross-platform
> development, but oh well...
>
> MS would then lose its hold once the choice no longer matters, and where
> it
> becomes clear that the whole software base could, almost overnight, "jump
> ship" from one OS to another...
<--
When Windows stops selling well due to competition, it will probably
become free (at least some basic version of it) and you'll be asked to
pay not for Windows but for some optional or not so optional services.
Or maybe the "cloud thingy" (which I personally think is still a form
of .com reality distortion) will be good, usable and cheap, in which
case I doubt there will be any noticeable difference in cost and
experience between hosting your data and apps somewhere on Windows and
somewhere on Linux (or it could be fifty-fifty -- why not?)...
-->
yeah, I also think "cloud" is a bit premature at this point...
but, yeah, I think this is probably about right, and it would be about like
what happened with MSVC...
too much competition with GCC, and now it is free (well, apart from VS, but
I don't really use VS personally...).
personally though, I feel O/S land in general could learn a few things from
Windows.
its hold on the market is not purely about politics or conspiracy, and
really, in a lot of places they know what they are doing and have done some
things much better than Linux.
one MAJOR area is that of binary compatibility:
apps compiled in one place will work in another.
however, I think it is mostly because the Linux community is very
decentralized and obsessed with source-code and implementations, that they
fail to see that something which is severely needed is standards.
if everything were more cleanly documented and formalized, then many issues
would likely be reduced.
examples:
avoiding sharing structures across library boundaries, and making a clear
separation between what is an internal and external part of the API;
standardizing on the names and contents of particular shared libraries;
specifiying the API, and providing an implementation of said API, rather
than providing a library and defining the API in terms of the library;
...
it is worth noting that POSIX, although good, does not address most of these
"binary" issues (such as providing an exact definition of structure
contents, specifying particular flag values or particular values for
numerical constants, ...).
particular implementations (and even between distros or versions), many of
these "little details" are prone to change, thus breaking code.
hence, source-level compatibility works acceptably, but binary compatibility
does not.
granted, it is possible that trying to remain such a level of consistency
and standardizability would not mix as well with open-source development
practices, but oh well...
I'm self-taught in this area. You guys? Self? Schooled?
RP
Yes, self-taught. Or perhaps I should call it self-learning. I'm not
there yet. :-)
I've found there are some excellent training video lectures online for
various courses including some videos giving an overview of an OS but
none for OS design and implementation.
James
when I was doing OS dev, I was self-taught...
now I am not doing OS-dev, but am still self-taught WRT programming/...
>
> RP
>
>
There is all sorts of "current" stuff online. But, stuff prior to '98 or
'96 is harder to find.
1) OS development websites
2) Gaming development websites (lots of stuff on hardware, e.g., for DOS)
3) Academic papers on compilers, assemblers, memory management, register
allocation, OSes, etc.
http://citeseerx.ist.psu.edu/
4) .pdf's all over the Internet on everything (+pdf +keyword1 +keyword2 into
Yahoo or Google)
5) University .pdf's, usually found in some "CSxxxx" numbered directory via
search engines (i.e., open directory to university level stuff, like parsing
and lexing, finite state machines, etc.)
I started with Yahoo, so I've kept with it. What I've found is the first
page of results is poor. However, about half of the results on the 2nd thru
20th page are useful. If you go way out into the later page of results and
you haven't started to see cryptic characters, Chinese sites, or binary
garbage, you can occasionally find some real gems.
If I remember later, I'll see if I can find anything specifically on OS
design. If nothing else, I'd think Citeseer would have academic level
papers.
Rod Pemberton
Never took a formal CS class. I don't think the ones on programming in
Pascal and on solving rather basic math problems (integrals, regular
and differential equations) count. I actually didn't even attend
lectures on Pascal, only did assignments and took the final if there
was any since I knew it already. All I know is from doing something
myself or from work. And it's a bit disappointing that I learned on my
own more than on the job and that I use only a tiny fraction of what I
know and can at work.
Alex
Yep. Those poor fellas that 10+ years back didn't know any English
missed out on a lot of stuff that was already available on the net.
Back then "ru-net" barely existed, let alone good programming info in
it in Russian. And we still lack many translations into Russian. I
think they still haven't translated the Foley and Vandam's book on
computer graphics. Only a few years back the Tanenbaum's book on
Modern OSes was translated.
Alex
> I'm self-taught in this area. You guys? Self? Schooled?
I learned just the basic requirements at school:
1. LOGIC ;all the math. (including BIN/DEC/HEX/etc.-calculations)
2. LOGIC ;how to built gates and memory cells with electron tubes
3. LOGIC ;about complex circuitry and chip design (just theory then)
During several EE-jobs I were taught:
4. LOGIC ;learned to see how a machine work before taking it apart
5. LOGIC ;learned to translate customer desire/claims into sense
And then I taught myself to combine:
LOGIC 1)...5)
and I added a few lessons in LOGIC from (often bad) experience.
after all this I was able to read CPU-manuals and HW-data-sheets,
and to even just particular understood the (often hidden) meaning.
So then I felt enough strong in logic to design and built my first
'computer'(Z80, 1MB-RAM !), and to give OS-design on x86 a try,
and if I look back two decades, I'm a bit proud of my little OS
(sold >100 PCs with KESYS yet).
But there seems to be no end in learning about:
n. LOGIC ;how others may understand it, like modern chipsets :)
__
wolfgang
I happen to have a few commercial apps I can't live without and they
don't have a Linux port. Likewise it's often a pain to install some of
the free software on Windows. It may require something you don't know
how to get or may not work at all for reasons beyond my comprehension.
Whether it's standardization or packaging of several versions of
libraries/binaries together (or JITting them), this can be solved.
Alex
Was there something in particular you were looking for James?
If I put in (Yahoo):
+operating +system +design
So much stuff comes up, I can't begin to post it, or review it.
Adding .pdf moves up the .pdf results:
+pdf +operating +system +design
Wow, lots of good looking results there too.
HTH,
Rod Pemberton
Yes, in the context of training materials I've recently found some
excellent teaching material from some of the US universities on
various subjects such as
http://webcast.berkeley.edu/courses.php
http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/
For the first link (to Berkeley) click on the video feed links on the
right.
For the second link try 6.035 Computer Language Engineering and then
selected video lectures.
There are good course videos for many topics but not, so far,
operating system development. I have found OS design course videos
from the US and India but they are courses to explain what operating
systems are, not courses on constructing operating systems. Something
of the quality of MIT's 6.035, above, would be good.
James
I should say - before someone else does - that Berkeley's CS 162 may
turn out to be good at showing how to build an OS. I've only glanced
at it so far. From what I've seen it seems a bit high level but I may
turn out to be wrong.
James
P.S. The Berkeley CS 61CL is truly excellent. Among other things it
shows how to build a CPU from logic gates. A bit off-topic for this
group but fascinating nonetheless.
<snip>
>
> <--
> As I understand it, availability of software for Linux isn't that
> great because:
> - Linux itself isn't popular enough
> - Crossplatform development costs extra money
> - Supporting Linux versions may be more costly as well (there're too
> many Linuxes, with various configurations and problems)
> - I might be wrong on this to some extent, but Linux is too open --
> it's hard to hide well something like keys/licensing data in obscure
> places in the registry or elsewhere. One can hack and debug their
> Linux kernel easier than that of Windows (you don't get much source
> code or all symbols for Windows, its drivers and other software).
> -->
>
> ok, I had been mostly talking about open-source software, not commercial
> software...
<--
I happen to have a few commercial apps I can't live without and they
don't have a Linux port. Likewise it's often a pain to install some of
the free software on Windows. It may require something you don't know
how to get or may not work at all for reasons beyond my comprehension.
-->
I was not claiming that it was the case, I was claiming that it "should be"
the case...
the present situation is, IMO, a bit of a mess.
in an ideal world, the choice of OS should not mandate a choice in software,
or the reverse.
<--
Whether it's standardization or packaging of several versions of
libraries/binaries together (or JITting them), this can be solved.
-->
but, it is not presently the case...
the state of standarization in Linux is dismal, the state of coding
practices is not good, and software binary compatibility suffers as a
result...
the sad point is, there is no reasonably accepted set of standards.
however, there are starting points:
specifications can specify the names of particular libraries (and, maybe
some conventions for inter-library filename clash-avoidance would be
good...);
library designs and specifications can address matters of versioning;
specifications can also address matters of flags and constant values;
...
IMO, OpenGL, the Win32 API, things like JNI, ... can be used as examples of
how many of these sorts of issues can be addressed.
we don't need a central authority or anything of the sort, but an accepted
set of policies and conventions could likely be helpful.
all this would be in constrast to many specs (such as POSIX), where things
such as the values of numerical constants, exact names of many files and
libraries, ... are simply left unaddressed, making the spec fairly useless
as far as binary compatibility goes.
then other specs, such as X11R6, are written almost entirely in prose, with
small fragments in a Pascal-ish notation. who thought this was a good
idea?...
the spec gives little assurance that one would implement it and have this
implementation actually work with other implementations. one may be screwed
over by, say, the vague notation happening to omit some relevant fields, or
mess up the ordering or something.
meanwhile, some things much more complicated, namely linkers, PE/COFF
loading, and x86 interpretation, were implemented relatively
straightforwardly and with relatively little confusion.
why?... because the specs are more solid.
granted, there was a bit of an issue with PE/COFF, as MS's spec has rather
confusing wording and notations in a few places (so help you if you fail to
notice 2 fields in a given structure having the same offset, or
misunderstand some mass of goblygook explaining some mathematical
relationships in terms of prose...).
but, had the PE/COFF spec failed to mention numerical constants or exact
structure layouts (or the Intel docs their bit-level-accuracy or their exact
opcode encodings), it would have been, generally, fairly-well useless...
that is not to say though that supplementary specs can't be written, such as
a "general spec" (more like POSIX), and an additional "implementation spec"
(which describes all of the architectural and implementation-level issues,
such as exact data representations, numerical constants, ...).
(or, the issue I have observed with POSIX, which is that in many cases, some
fairly big holes are left as to what exactly a given API call does and/or
how it is to behave, interact with other API calls, ...).
(hence, I have a partial implementation which little real hope of
interfacing exactly with much of anything...).
actually, I know it will not, in some places:
I had observed that nearly every OS has different flags for mmap (rarely to
the particular bit values match, and one OS seemed to have different flags
for each CPU arch...);
my flags were actually sort of shoe-horned together with the MS flags for
VirtualAlloc (not exact, as I did use the more traditional 'PROT_' flags).
as well as the whole issue of which OS to use the flag assignments from, ...
...
or such...