绪论
什么是操作系统
An operating system is the layer of software that manages a computer's resources for its users and their applications. (OSPP)
操作系统是对硬件进行管理和抽象并为应用提供服务并进行管理的程序。——《现代操作系统》
没有操作系统,程序将直面底层硬件,这非统一接口,含有大量细节,有限制且不安全:
- 操作系统提供简洁、易用的物理层抽象
- 拥有无限的内存,专属的机器
- 高级的对象:文件、进程、信号……
- 屏蔽限制
对程序而言的世界:
程序的「机器」就是操作系统提供的进程这个抽象,每个程序运行在自己的进程上,进程提供了比原始硬件机器更加优美的接口。
对操作系统而言的世界:
操作系统把「难看」的硬件接口翻译成了友好易用的接口,为每个程序提供他们的进程。
- 资源的管理
- 分配
- 保护
- 分享
操作系统将进程彼此隔离,操作系统将自己和其余程序隔离:
- 性能优化员
- 操作系统的底线是支持应用程序的运行
- 自身反而次要
- 理想情况下操作系统自身的资源开支(overhead)应该不大
- 应用程序运行应该尽可能快
其他任务:
- 可靠性:尽可能不崩溃,即使崩溃,尽可能不损坏业务逻辑
- 安全:对抗恶意的程序
- 能源:尽可能省电
- ……