ad9ba944d1
- switch_address_space() implements a switch of the user address space for the destination process - this makes memory of this process easily accessible, e.g. a pointer valid in the userspace can be used with a little complexity to access the process's memory - the switch does not happed only just before we return to userspace, however, it happens right after we know which process we are going to schedule. This happens before we start processing the misc flags of this process so its memory is available - if the process becomes not runnable while processing the mics flags we pick a new process and we switch the address space again which introduces possibly a little bit more overhead, however, it is hopefully hidden by reducing the overheads when we actually access the memory |
||
---|---|---|
.. | ||
arch/i386 | ||
system | ||
clock.c | ||
clock.h | ||
config.h | ||
const.h | ||
debug.c | ||
debug.h | ||
glo.h | ||
interrupt.c | ||
ipc.h | ||
kernel.h | ||
main.c | ||
Makefile | ||
priv.h | ||
proc.c | ||
proc.h | ||
profile.c | ||
profile.h | ||
proto.h | ||
start.c | ||
system.c | ||
system.h | ||
table.c | ||
type.h | ||
utility.c | ||
vm.h | ||
watchdog.c | ||
watchdog.h |