Grzyb wrote on 2023-04-08, 08:26:
OS/2 1.x versions were released in 1987..90, so the contemporary Windowses would be primarily 2.x (1987..89) - no protection there, right?
Yes, maybe. Not sure, I guess it depends on the point of view. 🤷♂️
Personally, I simply go by the look of Presentation Manager.
OS/2 v1.0.. Like DOS (text mode)
OS/2 v1.1.. Like Windows 2.x
OS/2 v1.2x and v1.3.. Like Windows 3.0
When it comes to WLO/Willow, I'm thinking of OS/2 v1.3 only.
The v1.2 series could already run it, but related like a beta version to v1.3, I assume.
Version v1.3 was the mature version that everyone had accepted as being usable.
It also supported SCSI based HDDs, CD-ROMs and had most device drivers at hand.
Protection.. Good one, good point I mean. 🙂👍
I assume that Windows 3.x running either of the two Protected Mode kernals qualifies. 🤷♂️
Mainly, because of the involvement of a memory management unit, that can prevent/allow access to segments.
The 80286 also has a separate address bus decoding unit that can create the operand of segment address, index, base address and displacement.
Prior the 8018x series, the 8086/8086 had to do this in ALU. This is not directly relevant here, maybe, but gives an idea about how the 80286 was a more robust architecture.
Memory management was way more sophisticated in 80286 systems.
Windows 1.x had no protection, I think, since Windows programs were still free to do address arithmetics (ie, could play with segments+offeset, like DOS programs do).
Windows 2.x is.. more complicated. I'll to explain why I think that.
Firstly, because Windows/386 2.01 was the very first release of Windows 2 (as an OEM version). Followed by plain Windows 2.03 as a retail box.
That means that Windows/386 was the real basis, the real ancestor of Windows 3.0 and 386 Enhanced-Mode.
Standard Mode/286 support was the last addition, interestingly. In Windows, I mean.
OS/2 started with 286 16-Bit Protected Mode (used by Standard Mode kernal, except on Windows 3.1x on 386+).
Edit: Quick info here: The version numbers and the /286, /386, [plain] editions were not directly related.
Windows, Windows/286 and Windows/386 were available with various internal 2.x version numbers.
At its core, there was always WIN.COM or WIN86.COM in the box that could run on a PC with 8086/8088 CPUs.
The /286 and /386 editions merely had extra features for AT and AT386 PCs.
The former had himem.sys aboard and could use the 64KB in the HMA, but that feature conflicted with DOS 5/6 (DOS=HIGH).
Whereas the latter could provide EMS via V86,-similar to EMM386 years later-, and added a multi-tasker. Windows 2.x itself was rectricted to a single DOS box.
- Not unlike DOS support was restricted to a little DOS box itself on 16-Bit OS/2 (version 1.x). Those parallels are astonishing, IMHO. 😳
So this means that certain elements of memory protection were already in Windows/386.
Not for Windows applications yet, but DOS applications and Windows drivers
(V86 mode, as used, requires VXDs or similar tech, even if it's just for mouse/keyboard virtualization or video driver enable/disable).
That being said, what's even more uncertain, is how applications relate to memory protection.
Since Windows 3.o, newly made Windows 2.x applications are being encouraged to be "clean".:
That means they don't fiddle with memory anymore and that they play nice with scalable fonts.
That's why the warning message about compatibility pops up on Windows 3.x.
- But merely in Protected Mode! Real-Mode Windows doesn't complain, as far as I remember.
So I assume that Windows 3.x in Protected-Mode is similar to OS/2 1.3.
Both are similarly advanced and WLO can translate between both worlds.
Interestingly, though, WLO requires a strange type of Windows application it will host:
a) a Real-Mode application which
b) doesn't use memory arithmetics (which was typical for Windows 1.x/2.x programs)
c) and uses pure Windows 3.0 API and file formats
In short, it requires an unicorn of an Windows application. A model type, the perfect "mister clean", the nice guy.
You may imagine it as the Pierce Prosnan of the Windows world (ie, sexy, smart, charismatic). 🙂
That's something interesting, I think. It maybe means that WLO does prefer a Windows application
that fits snugly into 64KB segments or restricts itself to "small" type memory model.
Please excuse me for being a bit uncertain here, I'm just a layman/hobbyist, after all. 😅
Maybe it just means that those Windows applications compatible with Real-Mode
are not interfering with OS/2's own memory management.
They essentially act like COM files in DOS. Not technologically, but in terms of behaving.
Both stay within their boundaries, make no attempts to break out, ie don't make far calls, in practice often stick to plain 8086 code.
In essence, they're both very modest/humble. Simply that.
Again, I'm just a layman here. An expert may say that these comparisons are nonsense. He/she/they may be right.
That being said, it's fascinating to tinker with that stuff and talk with others about it.
Even if we're sometimes walking in the dark, so to say.
Because, step by step, things will reveal themselves eventually. IMHO. 😉
Edit: Formatting fixed (at home on PC).
Edit: Re-wrote a sentence (various instead of different).