3 ms·
See if you can find any books about assembly language programming for the 8086 (or 8088) and the 80286. Just those two should give enough context for why thing
by spc476 6y ago
See if you can find any books about assembly language programming for the 8086 (or 8088) and the 80286. Just those two should give enough context for why things are the way they are on the x86 line.
- guenthert 6y agoNot sure about that. Segmentation as it was used on Intel CPUs before the 386 ("Real Mode", "Protected Mode") wasn't used in Linux (other then during the boot as PC BIOS was running in 8086 compatible Real Mode). Linus was quite outspoken about the awkward programming model of those earlier CPUs and there's a reason Linux started not before he got a 386 (he was accustomed to 32bit wide flat address space from the 68008 in his earlier Sinclair QL). Paging is an old OS concept and predates Intel CPUs and even Unix. How far back in time do you want to go? I think some concepts which were influential in the early days of Linux are well covered in Minix (1.0) code and book (after all, Linus first experimented with a 386 scheduler for Minix).
- spc476 6y agoxelxebar was asking about this historical background of the x86 architecture, not a historical background of Linux. Knowing how the x86 architecture evolved over time helps explain the oddities.