OS02-4 处理器管理
今天复习了2-4章,知识点太多了,我直接把考点提出来了,每一条都出过选择或填空题,有什么问题还请大家指正!写博客是真累 写博客真是复习的好方法!
1.处理器管理之中断处理
-
特权指令:仅在内核态下才能使用的指令,这些指令可能涉及到改变处理器状态等的敏感操作。
-
非特权指令:在内核态和用户态下都能使用的指令。如应用程序只能使用非特权指令。
-
中断,是多道程序得以实现以及设备管理的基础。
-
中断处理程序是I/O系统最低层,是整个I/O系统的基础。
-
中断和陷入:
- 中断由CPU外部引起,陷入由CPU内部引起
- 中断与正在执行的指令无关,可以屏蔽;而陷入与正在执行的指令有关,不可屏蔽
-
中断响应:CPU在每条指令执行周期的最后时刻扫描中断寄存器,询问是否有中断信号
-
中断处理程序步骤:
- (1)测定是否有未响应的中断信号
- (2)保护被中断进程的CPU环境
- (3)转入相应的设备处理程序
- (4)进行中断处理
- (5)恢复CPU的现场并退出中断
-
程序顺序执行特点:顺序性、封闭性、可再现性、可读性
程序并发执行特点:间断性、失去封闭性、不可再现性、可读性
2.处理器管理之进程管理
-
- 程序是所有指令的有序集合,是静态概念,由程序段和数据组成。程序是永久的
- 进程是程序在处理机上一次执行过程,是动态概念,由程序段、数据和进程控制块PCB组成,进程是暂时的
- 同一程序可以对应多个进程
- 创建进程实质就是创建程序的PCB
- 进程创建的唯一标志是进程控制块PCB
- 进程是系统进行资源分配和调度的一个独立单位。
-
创建进程的步骤
- 申请一个空白PCB
- 为进程分配资源,如内存
- 将进程插入就绪队列
-
进程的基本状态:运行态、就绪态、阻塞态(等待态)、创建态、终止态
-
进程的挂起:当内存所有进程阻塞时,操作系统可将一进程置为挂起状态并交换到磁盘,再调入另一进程执行。
-
具有单CPU的系统中,如果系统中有n处理器管理之处理机调度,运行的进程最多1个,最少0个,就绪的进程最多n-1个,最少0个,阻塞的进程最多n个,最少0个
-
PCB表的大小决定了系统中最多可同时存在的进程个数,称为系统的并发度
-
操作系统内核
- 负责控制和管理进程的产生、执行和消亡的整个过程,这主要通过对它们的控制操作实现。
- 内核是操作系统中最核心功能的集合
-
原语
- 进程控制一般由原语实现,其特点是原语执行时不可被中断
- 进程的唤醒:必须由它的合作进程用唤醒原语唤醒它。
- 进程阻塞是进程的自身的一种主动行为,由进程本身调用原语
-
在批处理、分时和实时这三种基本类型的操作系统中,都设置了的调度类型是:进程调度,进程调度负责的工作是选进程占CPU
-
子进程和父进程
-
在OS中,允许一个进程创建另一个进程,通常把创建进程的进程称为父进程,而把被创建的进程称为子进程
-
父进程和子进程可以并发执行,子进程创建后,撤销一个另一个人能运行
-
- “可重入“程序是指能够被多个进程共享的程序
- 一个可共享的程序在执行过程中是不能被修改的,这样的程序代码应该是可重入代码
-
进程和线程
-
进程既是资源分配的基本单位,又是独立调度的基本单位(没有线程的系统)
-
线程是独立调度和分配的基本单位,拥有系统资源,只拥有少许运行中必不可少的私有资源,但可以共享所属进程的资源
-
同属于一个进程的多个线程可以并发执行
-
线程运行的三种状态:就绪、执行和阻塞,一般不具有挂起状态
-
对线程的操作:派生、阻塞、解除阻塞、结束
-
线程的实现方式:
- 用户级线程,由进程管理
- 内核级线程,由操作系统管理。W2k、Linux和OS/2等操作系统
- 混合模式,Solaris操作系统
进程是在CPU上实现并发,进程的实现只能由操作系统内核进行
-
线程控制块:TCB
-
3.处理器管理之处理机调度
-
分配处理机的任务由进程调度程序完成,处理机调度是操作系统设计的核心问题之一
-
调度层次:
- 高级调度:对外存的作业调度
- 中级调度:在内存和外存空间换进换出
- 低级调度:低级调度是由每秒可操作许多次的处理机调度程序执行,处理机调度程序应常驻内存。
-
进程调度方式
- 非抢占方式:进程占有CPU后一直运行到结束或阻塞。不允许其它进程抢占已分配出去的CPU
- 抢占方式:当一个进程正在运行时,系统可以基于某种原则,剥夺已分配给它的处理机,将之分配给其它进程
- 抢占原则:时间片原则、优先权原则、短作业优先原则
-
调度算法目标—基本指标
-
CPU利用率
-
吞吐量:单位时间运行完成的进程数
-
周转时间:进程从提交道运行结束的全部时间。(包括在后备队列上等待作业调度的时间、在就绪队列上等待进程调度的时间、在CPU上执行时间、等待I/O操作完成时间)
-
响应时间:从进程提交道首次运行的时间,即第一段等待时间
-
周转时间=等待时间+运行时间
响应时间<=等待时间
-
-
作业调度算法性能评价指标
-
周转时间:作业 i 提交时刻tsi到完成时刻tei称作业的周转时间
-
作业平均周转时间
-
一个作业的周转时间Ti说明了该作业在系统内停留的时间,包含两部分:一是等待时间Twi ;二为执行时间Tri。
-
带权周转时间
-
平均带权周转时间
-
-
调度算法
-
先来先服务算法(FCFS):每次调度总是选择最先进入队列的作业。是一种非抢占调度算法,有利于长作业
-
短作业优先调度算法(SJF、SPF):从队列中选择估计运行时间最短的作业
-
例子
n有五个进程ABCDE,它们到达时间分别是0,1,2,3,4,所要求的服务时间分别是4,3,5,2,4。请计算在单处理机环境下,采用FCFS和SJF(非抢占式)算法各进程的周转时间和带权周转时间,并求两算法各自的平均周转时间和带权周转时间。
-
-
高响应比优先调度算法HRRN(动态优先权)
令w表示等待时间,s表示执行时间,则响应比Rp为:
-
时间片轮转调度算法
五个进程A、B、C、D、E,它们到达时间和预计执行时间如下表所示,采用基于时间片轮转调度算法调度这5个进程,并分别按照两种时间片大小轮转调度(1个单位时间和4个单位时间),分析该算法的性能。
-
-
实时调度
-
条件要求:提供必要调度信息、系统处理能力强、采用抢占式调度机制、具有快速切换机制
假定系统中有m个周期性的硬实时任务HRT,它们的处理时间可表示为Ci,周期时间表示为Pi,则在单处理机情况下,必须满足下面的限制条件系统才是可调度的:
- 例子
在单处理机情况下,如果有6个实时进程,周期时间都是30ms,系统为每个进程分配6ms的处理时间,则:系统处理能力为6*6/30=1.2>1,不满足限制条件,所以不能在截止时间内完成
- 例子
-
实时调度算法:
-
最早截止时间优先EDF:根据任务开始截止时间确定优先级
进程 到达时间 执行时间 开始截止时间 A 10 20 110 B 20 20 20 C 40 20 50 D 50 20 90 E 60 20 70 进程 到达时间 执行时间 开始截止时间 A 10 20 110 B 20 20 20 C 40 20 50 D 50 20 90 E 60 20 70 -
最低松弛度优先LLF算法
-
松弛度=必须完成时间-本身运行时间-当前时间
-
例:假如在一个实时系统中,有两个周期性实时任务A和B,任务A要求每 20 ms执行一次,执行时间为 10 ms;任务B只要求每50 ms执行一次,执行时间为 25 ms,则任务A和B每次必须完成的时间分别为:A1、A2、A3、…和B1、B2、B3、…,
-
-
-