操作系统
操作系统功能
操作系统就是提供一个幻象(抽象),让你乐在其中。
抽象来源于现实,操作系统的抽象来源于计算机的硬件:CPU、内存、磁盘、外设、用户接口。
CPU –> 进程管理
内存 –> 内存管理
磁盘 –> 文件系统
外设 –> 驱动
接口 –> 系统调用
进程管理
进程让每个用户感觉到自己独占 CPU。进程就是为了在 CPU 上实现多道编程而出现的概念。
进程状态:
内存管理
内存管理让用户感觉到内存容量增大、速度提升。实际上并不是那么回事,但用户感觉到是真的,这就是魔术,操作系统的角色之一就是魔术师。
文件系统
磁盘的抽象就是文件系统。文件系统本是个子虚乌有的东西,看不见、摸不着,但却可以使用。文件系统令磁盘变得容易使用,从而将用户从数据存取的细节中解放出来。程序员可以利用相同的系统调用 open、read、write …对不同介质上的不同文件系统进行读写操作。
驱动
应用程序员,对任何设备只需要 open、read、write、ioctl … 就可以了,无须关心外设的复杂操作时序。
用户接口
系统调用