The content is a technical blog post about the hardware design of the Intel 80386 CPU's memory protection features. It engages human rights only indirectly, mentioning hardware mechanisms that support program isolation (security) and describing features for OS memory management (privacy/data integrity). The structural inclusion of Google Analytics creates a mild negative signal for privacy. Overall, the content is technically focused and neutral with respect to human rights advocacy.
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...
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?
> These features made possible Windows 3.0, OS/2, and early Linux.
And also--before Linux--SCO Xenix and then SCO Unix. It was finally possible to run a real Unix on a desktop or home PC. A real game changer. I paid big $$$ (for me at the time) to get SCO Xenix for my 386 so I could have my own Unix system.
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
Managed code, the properties of their C# derived programming language, static analysis and verification were used rather than hardware exception handling.
I think the interesting thing about having protection in software is you can do things differently, and possibly better. Computers of yesteryear had protection at the individual object level (eg https://en.wikipedia.org/wiki/Burroughs_Large_Systems). This was too expensive to do in 1970s hardware and so performance sucked. Maybe it could be done in software better with more modern optimizing compilers and perhaps a few bits of hardware acceleration here and there? There's definitely an interesting research project to be done.
I looked into that, concluded the spoiler is Specter.
Basically, you have to have out of order/speculative execution if you ultimately want the best performance on general/integer workloads. And once you have that, timing information is going to leak from one process into another, and that timing information can be used to infer the contents of memory. As far as I can see, there is no way to block this in software. No substitute for the CPU knowing 'that page should not be accessible to this process, activate timing leak mitigation'.
That's because CS in real/V86 mode is actually a writable data segment. Most protection checks work exactly the same in any mode, but the "is this a code segment?" check is only done when CS is loaded in protected mode, and not on any subsequent code fetch.
Using a non-standard mechanism of loading CS (LOADALL or RSM), it's possible to have a writable CS in protected mode too, at least on these older processors.
There's actually a slight difference in the access rights byte that gets loaded into the hidden part of a segment register (aka "descriptor cache") between real and protected mode. I first noticed this on the 80286, and it looks to be the same on the 386:
- In protected mode, the byte always matches that from the GDT/LDT entry: bit 4 (code/data segment vs. system) must be set, the segment load instruction won't allow otherwise, bit 0 (accessed) is set automatically (and written back to memory).
- In real and V86 mode, both of these bits are clear. So in V86 mode the value is 0xE2 instead of the "correct" 0xF3 for a ring 3 data segment, and similarly in real mode it's 0x82 (ring 0).
The hardware seems to simply ignore these bits, but they still exist in the register, unlike other "useless" bits. For example, LDT only has bit 7 (present), and GDT/IDT/TSS have no access rights byte at all - they're always assumed to be present, and the access rights byte reads as 0xFF. At least on the 286 that was the case, I've read that on the Pentium you can even mark GDT as not-present, and then get a triple fault on any access to it.
Keeping these bits, and having them different between modes might have been an intentional choice, making it possible to determine (by ICE monitor software) in what mode a segment got loaded. Maybe even the two other possible combinations (where bit4 != bit0) have some use to mark a "special" segment type that is never set by hardware?
Don't forget Venix. It was the first true Unix that could run on a stock IBM PC, and beat Xenix on that platform by months.
Editorial Channel
What the content says
+0.20
Article 27Cultural Participation
Low Coverage Practice
Editorial
+0.20
SETL
ND
Article is a detailed technical blog post describing the design and implementation of hardware-level protections, an example of sharing technical knowledge and participating in cultural life of technology.
FW Ratio: 50%
Observable Facts
The page is a technical blog post titled '80386 Protection - Small Things Retro'.
Inferences
The act of publishing a detailed, educational blog post constitutes participation in the cultural and intellectual life of the computing field.
+0.10
Article 12Privacy
Low Framing Practice
Editorial
+0.10
SETL
+0.24
Article mentions 'A/D bits' (Accessed/Dirty) as hardware mechanisms that exist for the OS's benefit in memory management, a technical implementation of system efficiency that indirectly relates to data integrity.
FW Ratio: 50%
Observable Facts
The page contains the script `gtag('config', 'G-HPP04YGFN2');`.
Inferences
The inclusion of a Google Analytics script indicates the site employs third-party tracking, which may involve collecting user data without explicit on-page consent.
+0.10
Article 17Property
Low Practice
Editorial
+0.10
SETL
ND
Content describes hardware mechanisms (protection, segmentation, paging) that enable isolation and secure ownership of memory for programs, a technical foundation for property rights in computing.
FW Ratio: 50%
Observable Facts
The article describes the 80386's hardware mechanism for 'isolation: multiple programs must share one processor without being able to read, write, or jump into each other's memory.'
Inferences
The description of memory isolation as a core function of the hardware implies a systemic support for property-like rights over program memory.
+0.10
Article 28Social & International Order
Low Framing
Editorial
+0.10
SETL
ND
The article's subject—hardware-level memory protection—is a foundational component of a social and international order where programs can securely co-exist.
FW Ratio: 50%
Observable Facts
The article's subject matter is the design of the 80386 CPU's protection mechanisms.
Inferences
The technical subject matter implies a systemic interest in hardware-based mechanisms for order and security between programs.
ND
PreamblePreamble
ND
Article 1Freedom, Equality, Brotherhood
ND
Article 2Non-Discrimination
ND
Article 3Life, Liberty, Security
ND
Article 4No Slavery
ND
Article 5No Torture
ND
Article 6Legal Personhood
ND
Article 7Equality Before Law
ND
Article 8Right to Remedy
ND
Article 9No Arbitrary Detention
ND
Article 10Fair Hearing
ND
Article 11Presumption of Innocence
ND
Article 13Freedom of Movement
ND
Article 14Asylum
ND
Article 15Nationality
ND
Article 16Marriage & Family
ND
Article 18Freedom of Thought
ND
Article 19Freedom of Expression
ND
Article 20Assembly & Association
ND
Article 21Political Participation
ND
Article 22Social Security
ND
Article 23Work & Equal Pay
ND
Article 24Rest & Leisure
ND
Article 25Standard of Living
ND
Article 26Education
ND
Article 29Duties to Community
ND
Article 30No Destruction of Rights
Structural Channel
What the site does
Domain Context Profile
Element
Modifier
Affects
Note
Privacy
—
No privacy policy or cookie notice found on page.
Terms of Service
—
No terms of service found on page.
Accessibility
—
No accessibility features or statements found on page.
Mission
—
No mission or values statement found on page.
Editorial Code
—
No editorial code or standards found on page.
Ownership
—
No ownership, sponsorship, or funding information found on page.
Access Model
—
No access model information (paywall, login) found on page.
Ad/Tracking
—
Google Analytics script present (G-HPP04YGFN2). No other ads or tracking scripts observed.
-0.20
Article 12Privacy
Low Framing Practice
Structural
-0.20
Context Modifier
0.00
SETL
+0.24
Page includes a Google Analytics script (G-HPP04YGFN2).
ND
PreamblePreamble
ND
Article 1Freedom, Equality, Brotherhood
ND
Article 2Non-Discrimination
ND
Article 3Life, Liberty, Security
ND
Article 4No Slavery
ND
Article 5No Torture
ND
Article 6Legal Personhood
ND
Article 7Equality Before Law
ND
Article 8Right to Remedy
ND
Article 9No Arbitrary Detention
ND
Article 10Fair Hearing
ND
Article 11Presumption of Innocence
ND
Article 13Freedom of Movement
ND
Article 14Asylum
ND
Article 15Nationality
ND
Article 16Marriage & Family
ND
Article 17Property
Low Practice
Content describes hardware mechanisms (protection, segmentation, paging) that enable isolation and secure ownership of memory for programs, a technical foundation for property rights in computing.
ND
Article 18Freedom of Thought
ND
Article 19Freedom of Expression
ND
Article 20Assembly & Association
ND
Article 21Political Participation
ND
Article 22Social Security
ND
Article 23Work & Equal Pay
ND
Article 24Rest & Leisure
ND
Article 25Standard of Living
ND
Article 26Education
ND
Article 27Cultural Participation
Low Coverage Practice
Article is a detailed technical blog post describing the design and implementation of hardware-level protections, an example of sharing technical knowledge and participating in cultural life of technology.
ND
Article 28Social & International Order
Low Framing
The article's subject—hardware-level memory protection—is a foundational component of a social and international order where programs can securely co-exist.
ND
Article 29Duties to Community
ND
Article 30No Destruction of Rights
Supplementary Signals
Epistemic Quality
0.83low claims
Sources
0.9
Evidence
0.9
Uncertainty
0.6
Purpose
1.0
Propaganda Flags
0techniques detected
Solution Orientation
0.46solution oriented
Reader Agency
0.1
Emotional Tone
measured
Valence
0.0
Arousal
0.1
Dominance
0.7
Stakeholder Voice
0.301 perspective
Speaks: individuals
About: corporation
Temporal Framing
retrospectivehistorical
Geographic Scope
unspecified
Complexity
technicalhigh jargondomain specific
Transparency
0.00
✗ Author
Audit Trail
61 entries
2026-02-28 08:29
eval_success
Light evaluated: Neutral (0.00)
--
2026-02-28 08:29
eval
Evaluated by llama-4-scout-wai: 0.00 (Neutral) 0.00
2026-02-28 08:29
rater_validation_warn
Light validation warnings for model llama-4-scout-wai: 0W 1R
--
2026-02-28 08:19
eval_success
Light evaluated: Neutral (0.00)
--
2026-02-28 08:19
eval
Evaluated by llama-3.3-70b-wai: 0.00 (Neutral) 0.00
2026-02-28 08:19
rater_validation_warn
Light validation warnings for model llama-3.3-70b-wai: 0W 1R
--
2026-02-28 08:01
eval_success
Light evaluated: Neutral (0.00)
--
2026-02-28 08:01
eval
Evaluated by llama-3.3-70b-wai: 0.00 (Neutral) 0.00
2026-02-28 08:01
rater_validation_warn
Light validation warnings for model llama-3.3-70b-wai: 0W 1R
--
2026-02-28 07:41
eval_success
Light evaluated: Neutral (0.00)
--
2026-02-28 07:41
eval
Evaluated by llama-3.3-70b-wai: 0.00 (Neutral) 0.00
2026-02-28 07:41
rater_validation_warn
Light validation warnings for model llama-3.3-70b-wai: 0W 1R
--
2026-02-28 07:41
eval_success
Evaluated: Neutral (0.10)
--
2026-02-28 07:41
eval
Evaluated by deepseek-v3.2: +0.10 (Neutral) 12,386 tokens+0.06
2026-02-28 06:59
eval_success
Light evaluated: Neutral (0.00)
--
2026-02-28 06:59
eval
Evaluated by llama-3.3-70b-wai: 0.00 (Neutral) 0.00
2026-02-28 06:59
rater_validation_warn
Light validation warnings for model llama-3.3-70b-wai: 0W 1R
--
2026-02-28 06:58
eval_success
Light evaluated: Neutral (0.00)
--
2026-02-28 06:58
eval
Evaluated by llama-4-scout-wai: 0.00 (Neutral) 0.00
2026-02-28 06:58
rater_validation_warn
Light validation warnings for model llama-4-scout-wai: 0W 1R
--
2026-02-28 06:46
rater_validation_warn
Light validation warnings for model llama-3.3-70b-wai: 0W 1R
--
2026-02-28 06:46
eval_success
Light evaluated: Neutral (0.00)
--
2026-02-28 06:46
eval
Evaluated by llama-3.3-70b-wai: 0.00 (Neutral) 0.00
2026-02-28 06:41
rater_validation_warn
Light validation warnings for model llama-4-scout-wai: 0W 1R
--
2026-02-28 06:41
eval_success
Light evaluated: Neutral (0.00)
--
2026-02-28 06:41
eval
Evaluated by llama-4-scout-wai: 0.00 (Neutral) 0.00
2026-02-28 06:41
eval_success
Light evaluated: Neutral (0.00)
--
2026-02-28 06:41
rater_validation_warn
Light validation warnings for model llama-3.3-70b-wai: 0W 1R
--
2026-02-28 06:41
eval
Evaluated by llama-3.3-70b-wai: 0.00 (Neutral) 0.00
2026-02-28 06:19
eval_success
Light evaluated: Neutral (0.00)
--
2026-02-28 06:19
eval
Evaluated by llama-4-scout-wai: 0.00 (Neutral) 0.00
2026-02-28 05:47
eval
Evaluated by llama-3.3-70b-wai: 0.00 (Neutral) 0.00
2026-02-28 05:44
eval
Evaluated by llama-3.3-70b-wai: 0.00 (Neutral) 0.00
2026-02-28 05:40
eval
Evaluated by llama-4-scout-wai: 0.00 (Neutral) 0.00
2026-02-28 05:28
eval
Evaluated by llama-4-scout-wai: 0.00 (Neutral) 0.00
2026-02-28 05:25
eval
Evaluated by llama-4-scout-wai: 0.00 (Neutral) 0.00
2026-02-28 05:21
eval
Evaluated by llama-3.3-70b-wai: 0.00 (Neutral) 0.00
2026-02-28 05:10
eval
Evaluated by llama-4-scout-wai: 0.00 (Neutral) 0.00
2026-02-28 05:07
eval
Evaluated by llama-3.3-70b-wai: 0.00 (Neutral) 0.00
2026-02-28 05:00
eval
Evaluated by deepseek-v3.2: +0.03 (Neutral) 14,240 tokens-0.04
2026-02-28 04:42
eval
Evaluated by llama-3.3-70b-wai: 0.00 (Neutral) 0.00
2026-02-28 04:12
eval
Evaluated by llama-4-scout-wai: 0.00 (Neutral) 0.00
2026-02-28 04:09
eval
Evaluated by llama-4-scout-wai: 0.00 (Neutral) 0.00
2026-02-28 03:36
eval
Evaluated by llama-4-scout-wai: 0.00 (Neutral) 0.00
2026-02-28 03:31
eval
Evaluated by llama-4-scout-wai: 0.00 (Neutral) 0.00
2026-02-28 03:29
eval
Evaluated by llama-3.3-70b-wai: 0.00 (Neutral) 0.00
2026-02-28 03:20
eval
Evaluated by llama-3.3-70b-wai: 0.00 (Neutral) 0.00
2026-02-28 02:58
eval
Evaluated by llama-3.3-70b-wai: 0.00 (Neutral) 0.00
2026-02-28 02:47
eval
Evaluated by llama-3.3-70b-wai: 0.00 (Neutral) 0.00
2026-02-28 02:41
eval
Evaluated by llama-4-scout-wai: 0.00 (Neutral) 0.00
2026-02-28 02:41
eval
Evaluated by llama-4-scout-wai: 0.00 (Neutral) 0.00
2026-02-28 02:30
eval
Evaluated by deepseek-v3.2: +0.07 (Neutral) 13,136 tokens
2026-02-28 02:28
eval
Evaluated by llama-3.3-70b-wai: 0.00 (Neutral) 0.00
2026-02-28 01:55
eval
Evaluated by llama-4-scout-wai: 0.00 (Neutral) 0.00
2026-02-28 01:48
eval
Evaluated by llama-4-scout-wai: 0.00 (Neutral) 0.00
2026-02-28 01:35
eval
Evaluated by llama-3.3-70b-wai: 0.00 (Neutral) 0.00
2026-02-28 01:33
eval
Evaluated by llama-3.3-70b-wai: 0.00 (Neutral) 0.00
2026-02-28 01:24
eval
Evaluated by llama-3.3-70b-wai: 0.00 (Neutral) 0.00
2026-02-28 01:24
eval
Evaluated by llama-4-scout-wai: 0.00 (Neutral) 0.00
build fe156f0+zio1 · deployed 2026-02-28 07:54 UTC · evaluated 2026-02-28 09:16:17 UTC
Support HN HRCB
Each evaluation uses real API credits. HN HRCB runs on donations — no ads, no paywalls.
If you find it useful, please consider helping keep it running.