os:通用目的的软件程序
- 硬件驱动
- 进程管理
- 内存管理
- 网路管理
- 安全管理
- 文件管理
OS分类
- 服务器OS:CentOS,
- 桌面OS:Window 10,Mac OS
- 移动设备OS:Android,IOS
开发接口标准
- ABI:ABI描述了应用程序与OS之间的底层接口,允许编译好的目的代码在使用兼容ABI的系统中无序改动就能运行
- API:API定义了你自己开发的源代码和库(功能模块)之间的接口,因此同样的源代码可以在支持这个API的任何系统中编译。
- POSIX:IEEE在操作系统上定义的一系列API标准
- 运行程序格式:
windows:.exe、.dll(动态库)、.lib(静态库)、(后缀有严格定义标准)
linux:.elf、.so、.a(静态库)(这里面的后缀是给人看的)
Library Functon和system call
- library function为应用程序开发者可以直接调用的功能,工作在用户空间
- system call为用户访问内核的接口,工作在kernel空间