操作系统教程 ——第二章

操作系统

——第二章 处理器管理


参考书:操作系统教程 (第五版)


前言

提示:这里大概就是学习信息安全的课程内容了,部分图片来源于老师上课的课件。这一章的重点在于进程状态和转换(三态模型)、主要调度算法


提示:以下是本篇文章正文内容,下面案例可供参考

一、处理器状态

1.1处理器

  • 什么是处理器管理?
    -是操作系统的重要组成部分,负责管理、调度和分派计算机系统的重要资源——处理器,并控制程序执行。

  • 寄存器
    (1)处理器包括一组寄存器,其个数根据机型的不同而不同,它们构成了一级存储,比主存容量小,但访问速度快;
    (2)这组寄存器所存储的信息与程序的执行有很大关系,构成了处理器现场。
    (3)进程是在其处理器现场环境中执行的。

  • 指令系统(按功能划分)
    (1)数据处理类指令;
    (2)转移类指令;
    (3)数据传送类指令;
    (4)移位与字符串指令;
    (5)I/O类指令
    (按使用者分:特权指令和非特权指令)

  • 特权指令:特权指令是指仅提供给操作系统核心程序使用的指令(仅在内核态下执行),这些指令设计改变机器状态、修改寄存器内容、启动I/O设备等。

  • 非特权指令:普通应用程序可以使用的指令。若执行特权指令会导致非法执行而产生保护中断。

  • 处理器状态(模式):
    -内核态和用户态
    -管理状态(特权状态、系统状态、特态、管态,核心态),能执行所有机器指令
    -用户状态(目标状态、用户模式、常态、目态),只能执行非特权指令

  • 中断和异常时用户态到内核态转换的仅有途径。

二、中断技术

2.1中断概念

  • 中断定义:是指程序执行过程中,遇到急需处理的事件时,暂时中止CPU上现行程序的运行,转去执行相应的事件处理程序,待处理完成后再返回原程序被中断处或调度其他程序执行的过程。

2.2中断源分类

在这里插入图片描述

2.3中断和异常的响应及服务

  • 中断/异常的响应步骤:
    (1)发现中断源
    (2)保护现场
    (3)转向中断/异常事件处理程序执行
    (4)恢复现场

三、进程及其实现

3.1进程及其状态

  • 能够反映进程实质的定义有:
    (1)进程是程序的一次执行。
    (2)进程是可以和别的计算并发执行的计算。
    (3)进程是定义在一个数据结构上并能在其上进行操作的一个程序。
    (4)进程(process)是一个可并发执行的具有独立功能的程序关于某个数据集合的一次执行过程,也是操作系统进行资源分配和保护的基本单位。
  • 进程具有一下属性:
    动态性、共享性、独立性、制约性、并发性

3.2进程状态和转换

  • 三态模型
    在这里插入图片描述

  • 运行态:进程占有处理器正在运行的状态

  • 就绪态:进程具备运行条件,等待系统分配处理以便运行的状态

  • 等待态:又称阻塞态或睡眠态,指进程不具备运行条件,正在等待某个事件完成的状态

  • 五态模型:
    在这里插入图片描述
    在这里插入图片描述

四、进程调度

4.1处理器调度层次

  • 高级调度(又称作业调度、长程调度)
    多道批处理系统中的主要内容:后备作业→进程;作业准备→启动→善后工作
    作用:选择外存上处于后备队列的一个或几个作业调入内存、分配必要资源 ,并将新创建的进程排在就绪队列中。
    作业调度要决定:
    (1)一次选择多少作业进内存 ,取决于多道程序的道数
    (2)选择哪些作业,取决于调度算法
    何时执行作业调度:
    (1)有作业退出系统时
    (2)系统负荷不足时
    执行频率:几分钟或几秒种一次
  • 中级调度(又称平衡负载调度、中程调度)
    主要内容:
    (1)控制主存储器中能容纳的进程数
    (2)保证在合理数目的进程间竞争处理器及相关资源
    作用:负责进程在内存和外存对换区之间换进换出,是内存对换功能的一部分。
    目的:提高内存利用率和系统吞吐量
    执行频率:介于进程调度和作业调度之间
    注意:具有“挂起”功能的操作系统,“挂起”状态的进程不参与低级调度
  • 低级调度(又称(进)线程调度、短程调度)
    两类低级调度方式:
    1、剥夺方式 1)优先级剥夺; 2)限时剥夺
    2、非剥夺方式
    剥夺方式开销通常大于非剥夺方式,但可避免一个进程或线程长时间独占处理器、
    使用系统:所有操作系统
    进程调度要决定:选择哪个就绪进程,取决于调度算法
    何时执行进程调度
    在这里插入图片描述

4.2选择调度算法原则

  • 周转时间ti:作业从提交到完成(得到结果)所经历的时间
    (1)ti=tf(完成时刻)- ts(到达时刻)
    (2)平均周转时间 T = (Σti) / n
    (3)带权周转时间 Wi =(周转时间)/(CPU执行时间)
    (4)平均带权周转时间 W = (Σwi) / n
    (5)周转时间和平均周转时间越小越好
  • 响应时间:用户输入一个请求(如击键)到系统给出首次响应(如屏幕显示)的时间(分时系统、实时系统)
  • 处理机利用率:
    (1) CPU利用率=CPU有效工作时间/CPU总的运行时间
    (2)CPU总的运行时间=CPU有效工作时间+CPU空闲等待时间。

4.3主要调度算法

  • 先来先服务算法 FCFS 都适用
    -按照作业进入系统的作业后备队列的先后次序挑选作业,先进入系统的作业优先
    -优点:实现简单
    -缺点:不利于短作业而优待长作业

  • 最短作业/进程优先算法 SJF/SPF
    -以进入系统的作业所要求的CPU时间长短为标准,总是选取时间最短的作业投入运行
    -缺点:实际系统中,往往很难预测作业的运行时间;导致长作业等待时间过长,甚至出现“饥饿”现象

  • 最短剩余时间优先算法 SRTF
    -每次调度时,总选择预测剩余运行时间最短的作业优先运行
    -优点:效率相对较高
    -缺点:调度频繁;与最短作业优先类似

  • 最高响应比优先算法 HRRF
    -在FCFS和SJF之间的折中,既考虑作业的等待时间,而考虑作业的运行时间
    -响应比=(作业等待时间+作业估计计算时间)/作业估计计算时间
    -周转时间 = 作业结束时间 – 作业到达时间
    -优点:防止了饥饿发生

  • 高优先权优先算法 HPF

  • 时间片轮转 RR
    -抢占调度方式
    -实现:中断、时钟
    -分类:
    (1)基本时间片轮转法,时间片相同
    (2)动态时间片轮转法,时间片不同
    -时间片的选取
    (1)时间片太长 = FCFS
    (2)时间片太短,调度频繁

  • 彩票调度算法

  • 多级反馈队列调度算法 MLFQ

我们考试考的比较多的是前面六个


总结

以上大概就是本章我觉得重要的知识点了,还有一些重要的就是考试要考到的计算题了,这章的计算题会和第一章的在一起单独写一篇。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值