【发布时间】:2012-10-04 03:51:51
【问题描述】:
这是书中的一段
执行内核代码时,系统在内核空间执行- 在内核模式下运行。当运行常规进程时,系统在用户空间执行 在用户模式下。
现在真正的内核代码和用户代码是什么。有人可以举例说明吗?
假设我现在有一个执行printf("HelloWorld") 的应用程序,在执行此应用程序时,它是用户代码还是内核代码。
我想在某个时间点,用户代码会切换到内核模式,内核代码会接管,但我想情况并非总是如此,因为我遇到了这种情况
例如,open() 库函数除了调用 open() 系统调用外几乎没有什么作用。 还有其他 C 库函数,例如 strcpy(),应该(希望)不直接使用 完全没有内核。
如果它不使用内核,那么它如何使一切正常工作?
有人可以用清晰的方式解释整个事情。
【问题讨论】:
标签: operating-system kernel system-calls