在看linux-0.11/fs/exec.c源码的时候,遇到了fs、ds寄存器,函数get_ds()、get_fs(),感觉有点不清晰,总是分不清什么时候用fs,什么时候用ds。于是,上网搜了一下,看到了oldLinux论坛中赵炯老师的解释,感觉一下子清楚很多。虽然很简单,但是很重要,对于我们理解源码非常的重要。下面说一下老师的解释:
在进程进入内核态后,fs寄存器默认指向进程的数据段。而ds, es寄存器则指向内核数据段。
在用户运行时,这些寄存器都执行用户数据段。
阅读(6652) | 评论(1) | 转发(0) |