1.2.2 操作系统相关概念
接口:
interface,来源于电气工程学科,指的是插座与插头的连接口,起到将电与电器连接起为的功能。后来延伸到软件工程里指软件包向外提供的功能模块的函数接口。所以接口是用来连接两个东西、信号转换和屏蔽细节
操作系统通过接口的方式,建立了用户与计算机硬件的沟通方式。用户通过调用操作系统的接口来使用计算机的各种计算服务。
为操作系统一般会提供两个重要的接口,来满足用户的一些一般性的使用需求:
命令行:实际是一个叫shell的终端程序提供的功能,该程序底层的实质还是调用一些操作系统提供的函数
窗口界面:通过编写的窗口程序接收来自操作系统消息队列,比如:鼠标、键盘动作,进而做出一些响应
ABI
Application Binary Interface,应用程序二进制接口,ABI描述了应用程序与OS之间的底层接口,允许编译好的目标代码在使用兼容ABI的系统中无需改动就能运行
运行程序格式:
- Windows: PE(portable executable)格式, .dll(dynamic link library),.lib
- Linux: ELF(Executable and Linking Format)格式, .so(shared object), .a
API
Application Programming Interface,应用程序开发接口,API定义了源代码和库之间的接口,因此同样的源代码可以在支持这个API的任何系统中编译
POSIX: Por