通过linux 内核设计与实现 理解一下进程上下文吧,有好多概念还是很重要的,需要好好理解:
可执行程序代码是进程的重要组成部分。这些代码从一个可执行文件载入到进程的地址空间执行。一般程序在用户空间执行。当一个程序执行了系统调用或者触发了某个异常,它陷入了内核空间。此时,我们称内核“代表进程执行”并处于进程上下文中。
在此上下文中current 宏是有效的。除非在此间隙有更高优先级的进程需要执行并由调度器做出了相应调整,否则从内核退出的时候,程序恢复在用户空间会继续执行。
系统调用和异常处理程序是对内核明确定义的接口。进程只有通过这些接口才能陷入内核执行----对内核的所有访问都必须通过这些接口。