系统层软件开发
学习系统层软件开发,意味着开发者需要
- 在上层:编写系统服务软件,简化系统层接口的调用流程,提供系统辅助服务,优化用户体验
- 向上:为用户层软件编写系统层接口和调用,满足上层应用的业务需求
- 在本层:编写组成系统功能的各个模块,并协调模块之间的交互
- 向下:使用硬件接口,编写驱动程序,从而直接操控硬件,抽象、封装、管理硬件资源
- 系统层软件:属于操作系统的一部分,CPU 运行在内核态或者特权级别,拥有直接控制硬件的能力
- 用户层软件:通过操作系统封装的进程,间接访问内存和运行指令,且 CPU 运行在用户态或者受限级别,无法直接操作硬件
- 系统服务软件:运行在用户空间,直接对接系统层提供给用户层软件的接口,并做进一步的封装,简化用户层软件的调用流程,优化用户层开发体验。