1, 操作系统的角色
操作系统的作用主要有2个:
- 软件接口: 为计算机的硬件资源定义提供一致且定义良好的接口。
- 资源管理:管理硬件资源以及其他正在执行的应用软件,作业和程序。
1-1 提供一致的接口
操作系统出现之前程序员必须要熟悉特定的指令集和每个设备的特性。显卡,磁盘驱动,打印机等都有完全不同的指令集,而且不同厂商的指令集也不一样。程序很难有通用性。操作系统的概念改变了这一切,它封装了设备的内部结构,是程序员可以通过简单的API和SPI来实现对硬件设备的控制。真正对于硬件的操作则由操作系统来完成。
1-2 管理硬件资源和其他应用软件
操作系统将控制程序的进程或线程,访问处理器,内存,IO端口,中断和存储器。在多数环境中,在任意时刻都会有多个程序正在被执行或等待被执行。由于处理器,内存等资源有限,操作系统必须决定哪个程序使用哪个处理器,使用时间和调度策略。操作系统为进程分配硬件资源,并且避免进程间的相互侵犯。
1-3 开发人员与操作系统的交互
操作系统为多线程或多处理的应用程序提供了不同层次的支持,层次越低开发人员需要掌握的技巧和知识就越复杂。