分析系统调用过程
发布时间
阅读量:
阅读量
我们由刚开始接触编程的一个程序说起。


上述一段代码使用gcc进行编译生成可执行文件.o,并在运行后即可得到该程序所需输出的文字内容,请解释当调用printf()函数时,请问操作系统是如何处理该函数的呢?
内核态与用户态
为了便于实现管理的目的,我们将计算机系统的资源划分为两种状态:用户态与内核态。通常情况下,在处理内核部分时会负责对进程资源的管理活动;而这些涉及的核心资源不得直接被处理。所有针对这些核心资源的操作都必须经过操作系统进行授权才能完成。在Linux操作系统中,默认情况下,系统调用(System call)是用户空间访问核心处理器程序(inner kernel)的唯一合法途径;除了发生异常或者陷入状态外,在正常情况下它是核心处理器程序唯一的合法入口点。
如何引发一个系统调用呢?如何从用户态过渡到内核态?通常情况下,在大多数现代处理器中,默认会通过软件中断来触发系统调
全部评论 (0)
还没有任何评论哟~
