On Thursday 04 August 2005 06:24 pm, Roger Neth Jr wrote:
> Hello, I have been reading this thread as of some interest that I have read 
> some stuff on rings.
> Are you able to elaborate on C programming and Unix incompatible with x86. 

Not with x86, but with x86 segmentation. Note that segments and rings are almost
totally removed from AMD native 64-bit mode, although they remain in 32-bit 
modes.

The natural way to use segments (which leads naturally to 2-component addresses)
is to assign each object to its own segment and then pass segment descriptor IDs
as arguments. This really goes against the C model of addressing. The C model
of addressing (a single linear address space) is compatible with a large number 
of
architectures and has simply won out over segmented address spaces except in
some very specialized applications. Intel had a chip (the 960mp?) used in the 
military
that used segmented addressing, but I don't think it has been used anywhere else
but possibly in HP printers years ago, and (I think) without the segmentation).
The 960mp was a *very* complicated chip and I shuddered to think of the learning
curve for that chip when I read the 960mp architecture manuals.

> Does this mean that other architectures such as Alpha, SGI and Sparc more 
> compatible? 

I would think so, although I know next to nothing about the details of the 
architectures of
these chips as a result of lack of hands-on experience with them.

Reply via email to