1.1 什么是操作系统
- 操作系统的目的:方便用户,提高资源利用程度
- 操作系统所在层次:硬件——操作系统——应用
- 操作系统:是软硬资源的控制中心,它以尽量合理有效的方法组织多个任务共享使用计算机的各种资源并提供编程接口和使用接口。
1.1.1 计算机系统软件构成
狭义操作系统包含程序:操作系统内核
广义操作系统包含程序:除上述外,用户态运行的命令解释器(程序管理器)和系统调用库,及许多提供系统常用功能的实用程序,库程序。
操作系统及其他软件放在磁盘上,要运行的时候放到内存里。
三角度看操作系统:操作系统作为特殊子程序;操作系统作为资源管理者;操作系统组织用户的多任务(以进程方式)使用计算机。
1.1.2 操作系统作为特殊子程序
- 操作系统内核为用户层的程序提供了系统调用接口
- 系统调用是特殊的公共子程序调用,用户不需要重复编写实现公共功能的程序,而只要调用相应系统调用即可
1.1.3 操作系统作为资源管理者
- 让计算机资源被多任务同时使用:为了使硬件资源充分发挥它们的作用,必须允许多用户任务同时使用计算机,以便让不同的资源由不同的用户任务尽可能的同时使用
- 举例:当一个用户任务将文件数据从磁盘读出送往内存缓冲区,另一个 序在处理机上运行。这样处理机、内存、磁盘都忙起来了
两种资源共享使用的方法:
空分:针对存储资源而言,存储资源的空间可以被多个用户(进程)以分割的方式占用。
时分:由多个用户任务分时地用该资源,除了处理机资源外,还有很多其它的资源也必须分时地使用,如输入输出控制器、网卡等。时分又区分独占式和分时式。
时分共享两种不同的使用方法
1、独占式共享。独占表示某用户任务占用该资源后,执行了对资源的多个操作,使用了一个逻辑完整的周期。
举例:多用户任务独占式共享使用打印机,是指多用户任务分时段共享使用该打印机,但某用户任务使用打印机时,执行了多条打印指令,打印了一个逻辑完整的对象(如完整的文件)。用户任务需要在执行打印指令前申请独占该打印资源,执行完打印指令后释放。
2、分时式共享。用户任务占用该资源无需使用一个逻辑上的完整周期;或者说一次使用就是一个完整周期。
举例:
①对处理机CPU的使用,只要运行现场保存好了,用户程序随时都可以被剥夺CPU,下次该用户程序再次占用CPU时恢复现场就可以继续运行。
②磁盘的输入输出,当一个用户任务让磁盘控制器执行了一条输入输出请求后,其他用户任务也可向磁盘控制器发输入输出请求,系统并不要求某个用户任务的几个输入输出请求之间不能插入其他任务的输入输出。
1.1.4 提供程序运行机制
引入并发概念
- 程序执行,操作系统需给程序及程序数据安排存放空间
- 为了能提高资源利用率,增加并发度,还必须能让多个程序能分时占用处理机
- 要能够让一个程序还没运行完就让另一个程序占用CPU运行,就必须保存上一个程序的运行现场(切换速度够快,让人察觉不出)
提供进程机制
- 因此必须要对各个程序的执行进行描述和控制
- 描述程序执行的状态、现场、标识等各种信息,能调度某个程序占用CPU运行,这就是进程机制