Re:80286 ATX mainboard based on the IBM 5170 AT PC
by actionfromafar on Wednesday November 13, 2024 @09:00AM
(#42126152)
Linux started on 80386.
Re:80286 ATX mainboard based on the IBM 5170 AT PC
by rep_lodsb on Wednesday November 13, 2024 @09:24AM
(#42126329)
Where am I disagreeing with that? Hardware task switching already existed on the 16-bit 80286, and remained supported on newer generations until being finally removed in x86-64. Early versions of Linux did use it for a time, but doing it in software turns out to be faster, because the mechanism was badly designed for what a general-purpose kernel has to do.
Re:80286 ATX mainboard based on the IBM 5170 AT PC
by actionfromafar on Wednesday November 13, 2024 @11:09AM
(#42127269)
Sorry, I see now that your comment could be read both ways, and my misinterpretation was actually a bit far-fetched.
The only situation where it would be required to use this misfeature is for handling exceptions like stack overflow in the case that they can occur in kernel mode. A "Task State Segment" is really more like a pre-allocated stack frame anyway, the CPU puts active ones in a linked list and does not allow freely switching between them, only returning to the outer level.
x86-64 does not have hardware task switching anymore, instead it is now possible to switch to another stack on an exception or interrupt, which is all that the TSS was used for in practice anyway.