操作系统最重要的功能是进程或任务的调度和存储管理!
操作系统最重要的功能是进程或任务的调度和存储管理!
操作系统最重要的功能是进程或任务的调度和存储管理!
本节要点:
- 任务调度
- 进程
- 虚拟存储器
1 操作系统的类型
最早的计算机出现在20世纪40年代末到50年代中期,那时没有操作系统,程序员直接与计算机硬件交互:)
- 交互式
- 批处理
需要系统操作员统一执行程序,程序执行完毕后将结果反馈给用户。
另一种分类方法是看系统是否采用了多道程序设计。多道程序设计系统通过让处理器一次处理多个程序,使处理器尽可能地忙碌。将多个程序同时装入主存,处理器迅速在它们中间进行切换。另一种是单道程序设计,处理器一次只运行一个程序。
- 多道程序设计
- 单道程序设计
2 调度
多道程序的关键是调度,事实上,调度有4种经典的类型。首先介绍一个概念:进程。这个术语在1960s提出,在某种程度上讲,它是比“作业”更通用的术语。它指一个运行的程序、程序的“活灵魂”、处理器分配的实体。
调度类型 | 作用 |
---|---|
长期调度 | 决定添加到待执行进程池中的进程数 |
中期调度 | 决定添加到主存的进程数 |
短期调度 | 决定处理器将执行哪个进程 |
I/O调度 | 决定哪个进程未决的I/O请求将被I/O设备处理 |
2.1 进程状态
如下图,进程分类5个状态。
- 新建:由操作系统为此程序创建一个进程,并将它移入就绪状态。
- 就绪:等待处理器执行。
- 运行:进程正被处理器执行。
- 等待:进程为等待一些系统资源(如I/O),由运行状态挂起。
- 终止:进程结束,将由操作系统撤销。
2.2 进程控制块(PCB)
对于系统中的每个进程,操作系统必须保存进程状态信息和进程执行所需的其他信息。为此,每个进程在操作系统中用一个进程控制块来表示。
- 状态:进程的当前状态(新建、就绪等)。
- 程序计数器:要执行的程序的下一条指令的地址。
- 存储器指针:进程在存储器中的起始位置和结束位置。
2.3 调度技术
当出现一个中断时,操作系统接收处理器的控制权,执行中断处理程序;当出现一个服务调用时,执行服务调用处理程序。一旦中断或服务调用处理完毕,短期调度立即调度某个进程进入运行状态。
3 存储器管理
细分存储器的任务由操作系统动态地执行,并称为存储器管理。
Q:存储器为什么需要管理呢?
A:是为了更好地利用处理器的速度。通过管理存储器,减少I/O等待时处理器的空闲。因此,存储器需要合理地分配,尽可能让更多的进程进入存储器。
3.1 分区
- 等长分区
- 不等长分区
- 动态分区
动态分区在后期会有碎片问题,导致存储器的利用率下降。
3.2 分页
不等的固定长度分区和可变长度分区,其存储的使用效率很低。假设把存储器分成相当小的、相等的固定长度的存储块,将每个进程也划分成固定长的程序块,那么程序的每个程序块(称为页)能分配到存储器中的可用的每个存储块(称为帧或页帧)中,于是存储器分配进程后浪费的空间最多只是最后一页的一小部分。
Q:没有连续的空闲帧存储这个进程,这回妨碍操作系统装入进程A吗?
A:不会妨碍。操作系统为每个进程保存一个页表,页表记录了进程每页的帧地址。
从图中可以看出,由逻辑地址和帧号,可以计算得到进程该页所在的物理地址。
网友评论