API和系统调用 ●应用编程接口(application program interface,API) 和系统调用是不同的 ·API只是一个函数定义 。系统调用通过软中断向内核发出一个明确的请求 ●Libc库定义的一些API引用了封装例程(wrapper routine,唯一目的就是发布系统调用) 。一般每个系统调用对应一个封装例程 。库再用这些封装例程定义出给用户的API ·不是每个API都对应一个特定的系统调用· 。API可能直接提供用户态的服务,如一些数学函数 ●一个单独的API可能调用几个系统调用 ·不同的API可能调用了同一个系统调用 4口4四1是4P刀00 陈香兰(xlanchenoustc,edu,cn)(计算丸应【inux操件系统分折Chapter书系统码用 0 ctober24,20145/31. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . API和系统调用 应用编程接口(application program interface, API) 和系统调用是不同的 API只是一个函数定义 系统调用通过软中断向内核发出一个明确的请求 Libc库定义的一些API引用了封装例程(wrapper routine,唯一目的就是发布系统调用) 一般每个系统调用对应一个封装例程 库再用这些封装例程定义出给用户的API 不是每个API都对应一个特定的系统调用。 API可能直接提供用户态的服务,如一些数学函数 一个单独的API可能调用几个系统调用 不同的API可能调用了同一个系统调用 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室 Linux操作系统分析Chapter 6 系统调用 @计算机学院嵌入式系统实验室@苏州研究院中国科学技术大学Fall 2014) October 24, 2014 5 / 31