4 ms·
Multics was co-developed with the hardware; that hardware contains Multics specific features that are needed to implement Multics. Segment tables, Rings, Gates
by unused0 6y ago
Multics was co-developed with the hardware; that hardware contains Multics specific features that are needed to implement Multics. Segment tables, Rings, Gates and more. enable the memory mapping and protection that that is the basis of Multics.
These hardware features are not found in the current gamut of architectures due to the dominance of the marketing value of being the fasted CPU; these features lower the CPU throughput and also cost valuable silicon space, and the economic value of a secure OS is less then the value of being faster or shinier.
- Jkvngt 6y agoHere's hoping that state level and non state actors make a huge mess of everything we have now so everybody can sit in the corner and have a big think.
- sbierwagen 6y agoI'm not sure about that? Chip-level security functions forcing cache flushes seem like they would be ripe for Meltdown/Spectre-style attacks.
- gpderetta 6y agoBeing fast is hardly a marketing feature. X86 had gates, segment tables and rings (still fully functional in 32 bit mode, so having them is not an hindrance on being fast). They got dropped in 64 bit mode because no software has used them in 25 years.
- corty 6y agoHaving them wasn't a hindrance, luckily for intel. But using them to the full extent was far slower than not. E.g. call gates as a syscall mechanism have a far higher overhead compared to int80. Segments, when used in the intended finer-than-page granularity are also too slow, because changing a segment register often is very costly in terms of cache and TLB flush. That's why everyone just used a few fixed segments that almost never changed and did the interesting stuff with page-based memory management.
- rbanffy 6y ago> They got dropped in 64 bit mode because no software has used them in 25 years. I think there was one that used them, but i can't remember its name. Maybe someone here can help. It was obscure enough that Intel didn't think too much about removing them.
- gpderetta 6y agoIIRC Segments were used to speed up (para?) virtualization, before built-in support in the ISA. Segment registers are also used as thread pointer, but that special case is still supported even in 64 bit mode.
- rbanffy 6y agoI was talking about the rings. I remember something that used them.