上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.3.2 程序接口与系统调用
程序接口又称为应用程序接口(Application Programming Interface,API),程序中使用这个接口可以调用操作系统的服务功能。许多操作系统的程序接口由一组系统调用和标准库函数组成。系统调用是能完成特定功能的子程序,是操作系统提供给编程人员的唯一接口,编程人员利用系统调用动态请求和释放系统软硬件资源,调用系统中已有的系统功能来完成那些与机器硬件部分相关的工作以及控制程序的执行速度等。
系统调用像一个黑盒子那样,对用户屏蔽了操作系统的具体动作,而只提供有关的功能。它与一般程序、库函数的区别是,想通过系统调用运行在核心态,调用它们需要一个类似硬件中断处理的中断处理机制(陷入机制和系统调用入口地址表)来提供系统服务。
早期的系统调用都是用汇编语言提供的,因而只有在用汇编语言书写的程序中,才能直接使用系统调用;而在高级程序设计语言以及C语言中,往往提供了与各系统调用一一对应的库函数,编程人员便可通过调用对应的库函数来使用系统调用。
系统调用的处理过程如图1-5所示。
图1-5 系统调用的处理过程