Live data from Hacker News

80386 Protection

nand2mario.github.io

1–10 of 32 posts

Re: 80386 Protection

#4

Article states that win 3.0 used 32-bit flat addressing mode, but when win 95 launched ms said win 3.0 didn’t (in 386 mode).

Pretty sure Enhanced Mode, that only came later in Windows 3.11 for Workgroup, is the one that supported the flat addressing mode.

Re: 80386 Protection

#5

Article states that win 3.0 used 32-bit flat addressing mode, but when win 95 launched ms said win 3.0 didn’t (in 386 mode).

It used segmented 32-bit mode. Flat mode doesn’t support virtual addressing which was accomplished with the descriptor tables (and the ES register) if I recall correctly. lol it’s been 33 years since I wrote windows drivers. Had to use masm to compile the 16-bit segments to thunk to the kernel

Re: 80386 Protection

#6
post #4

Article states that win 3.0 used 32-bit flat addressing mode, but when win 95 launched ms said win 3.0 didn’t (in 386 mode).

Pretty sure Enhanced Mode, that only came later in Windows 3.11 for Workgroup, is the one that supported the flat addressing mode.

yep that's my recollection too

Re: 80386 Protection

#7
ah, PDE/PTE A/D writes... what a source of variety over the decades!

some chips set them step by step, as shown in the article

others only set them at them very end, together

and then there are chips which follow the read-modify-write op with another read, to check if the RMW succeeded... which promptly causes them to hang hard when the page tables live in read-only memory i.e. ROM... fun fun fun!

as for segmentation fun... think about CS always being writeable in real mode... even though the access rights only have a R but no W bit for it...

Re: 80386 Protection

#8
I've wondered for a long time if we would have been able to make do without protected mode (or hardware protection in general) if user code was verified/compiled at load, e.g. the way the JVM or .NET do it...Could the shift on transistor budget have been used to offset any performance losses?

Re: 80386 Protection

#9
post #4

Article states that win 3.0 used 32-bit flat addressing mode, but when win 95 launched ms said win 3.0 didn’t (in 386 mode).

Pretty sure Enhanced Mode, that only came later in Windows 3.11 for Workgroup, is the one that supported the flat addressing mode.

Enhanced mode was already in 3.0 (and I think allowed for flat addressing)

However, Win32s was introduced in 3.11 which a subset of the Windows 32-bit API from NT.

3.11 also introduced 32-bit disk access and 32-bit drivers.

Microsoft did 32-bit in steps -- it was confusing already back then.

Re: 80386 Protection

#10
post #8

I've wondered for a long time if we would have been able to make do without protected mode (or hardware protection in general) if user code was verified/compiled at load, e.g. the way the JVM or .NET do it...Could the shift on transistor budget have been used to offset any performance losses?

Microsoft Research had an experimental OS project at one point that does just that with everything running in ring 0 in the same address space:

https://en.wikipedia.org/wiki/Singularity_(operating_system)

Managed code, the properties of their C# derived programming language, static analysis and verification were used rather than hardware exception handling.

Post reply on HN