【发布时间】:2013-12-01 01:30:51
【问题描述】:
我发现我的教科书或谷歌搜索技能都没有给我这个问题的正确答案。我知道这取决于操作系统,但一般来说:会发生什么以及为什么?
我的教科书说系统调用会导致操作系统进入内核模式,因为它还没有出现。这是必需的,因为内核模式可以控制特定进程地址空间之外的 I/O 设备和其他事物。但如果我理解正确的话,切换到内核模式并不一定意味着进程上下文切换(您将进程的当前状态保存在 CPU 以外的其他位置,以便其他进程可以运行)。
这是为什么?我有点想,一些“管理员”进程被打开并处理来自进程的系统调用并将结果发送到进程的地址空间,但我想我错了。我似乎无法理解在内核模式的切换中实际发生了什么以及这如何影响进程在 I/O 设备上操作的能力。
非常感谢:)
编辑:额外问题:库调用是否一定会以系统调用结束?如果没有,您是否有任何不以系统调用结尾的库调用示例?如果是,我们为什么要调用库?
【问题讨论】: