Messages in this thread | | | Date | Tue, 10 Jul 2001 11:08:57 -0700 | From | Jonathan Lundell <> |
| |
At 1:35 PM -0400 2001-07-10, Richard B. Johnson wrote: >Unlike some OS (like VMS), a context-switch does not occur >when the kernel provides services for the calling task. >Therefore, it was most reasonable to have the kernel exist within >each tasks address space. With modern processors, it doesn't make >very much difference, you could have user space start at virtual >address 0 and extend to virtual address 0xffffffff. However, this would >not be Unix. It would also force the kernel to use additional >CPU cycles when addressing a tasks virtual address space, >i.e., when data are copied to/from user to kernel space.
Certainly the shared space is convenient, but in what sense would a separate kernel space "not be Unix"? I'm quite sure that back in the AT&T days that there were Unix ports with separate kernel (vs user) address spaces, as well as processors with special instructions for doing the copies (move to/from user space). Having separate system & user base page table pointers makes this relatively practical. -- /Jonathan Lundell. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |