Sharing executable modules between user and kernel threads
US6349355B1 · kind B1 · utility
Assignee
Inventors
Key dates
| Filing date | Feb 6, 1997 |
| Grant date | Feb 19, 2002 |
| Priority date | — |
| Expiry date | Feb 6, 2017 |
Classification
- Technology area (CPC G)Physics
- CPC primaryG06F12/1491
- WIPO fieldComputer technology
- WIPO sectorElectrical engineering
Abstract
A computer system has a microprocessor that can execute in a non-privileged user mode and a privileged kernel mode. A user virtual address space is used when the microprocessor is in the user mode, and a kernel virtual address space is used when the microprocessor is in the kernel mode. Each of the address spaces has the same range of virtual addresses that is designated for shared components. The user virtual address space is mapped to an offset position within the kernel address space. When a user process calls a kernel function with a pointer argument, the pointer is biased before being dereferenced to account for the offset of the user address space within the kernel address space. This allows for sharing of position-dependent code, while still allowing the kernel to access the entire user address space.
Source: USPTO / EPO open patent data. Objective bibliographic and citation counts.