没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
作用
操作系统
概述
小知识点
驱动程序与操作系统与硬件的关系?
目标
对软硬件进行控制
根据不同场景选择不同的策略
硬件通过适配程序来适配操作系统
冷补丁需要重启,热补丁不用
进程管理
存储管理
设备管理
文件系统
发展史
主要成就
基本特征
体系特征
体系结构
主流操作系统
方便:便于计算机使用
有效:更有效的使用计算机系统资源
扩展能力:便于引入新系统功能
提供服务
程序开发:编辑器和调试器
程序运行:加载到内存、初始化I/O设备
I/O设备访问:隐藏具体的I/O操作指令
文件访问控制:屏蔽存储介质细节
系统访问:提供接口,防止未授权访问行为
错误检测和响应:软硬件错误
记账:收集资源的利用率信息、监控性能特性
作为资源器的操作系统,会经常对硬件进行控制和释放操作
串行处理
课程目标
CO1:能对操作系统主流架构特点进行分析;能从系统级角度掌握分析和设计计算
机操作系统的基本思路,对操作系统核心管理功能具有全面的认识与理解。
CO2:理解操作系统的设计原理、框架、目标、各部分工作原理;具备理解、分析
特定功能在实际操作系统中的展现形式和实现方式。
CO3:深刻理解操作系统中的经典问题和典型应用,具备搭建实验环境,编写程序
代码,分析和研究经典问题在实际操作系统中的解决方案。
CO4:具备将操作系统设计思想、核心组件应用于系统设计和应用优化中,培养从
系统级选择研究路线和设计方案的能力。
简单批处理系统
多道批处理系统
分时系统
实时系统
处理机制
- 无操作系统
- 程序员 通过控制台来运行程序(显示灯、触发器、输入设备、打印机)
- 程序 通过输入设备载入计算机(卡片阅读器)
问题
- 调度:使用硬拷贝登记来预订机器时间
- 准备时间:加载编译器、源程序、保存目标程序、加载目标程序、链接公用函数
如何理解硬拷贝?
处理机制
操作员将若干个作业合成一批,并将其安装在输入设备上,开启监控程序,其自动
将一个个作业放到内存中运行,全部结束后将结果给到用户
- 作业的自动续接
- 内存保护:保护监控程序所在的内存区域
- 定时器:防止某个作业独占系统
- 特权指令:只能由监控程序执行的指令
- 中断:早期计算机模型无此能力
监控程序
功能
运行模式
用户模式:不允许执行特权指令
内核模式:可执行特权,可执行和访问受保护的内存区域
处理机制
内存中保存多个作业,处理器交替处理这些作业
特点
- 内存中同时存放多个作业
- 多个作业可并发执行
- 作业调度程序负责作业的调度
硬件支持
中断
DMA
特征 多道性、调度性、无序性、无交互能力
问题
产生原因:人机交互、共享主机、方便上机 (第一个分时系统CTSS)
特点
- 采用多道程序设计技术处理多个交互作业
- 多个用户共享处理器
- 多个用户通过不同终端同时访问系统
特征 多路性、独立性、及时性、交互性
比较
机制
多台终端使用一台主机的资源
处理机制
系统可及时响应外部事件请求,在规定时间内完成对该事件的处理,并控制所有实
时任务协调一致地运行
特征
确定性、响应性、用户控制、可靠性、故障弱化能力
操作系统的主要功能
进程
内存管理
信息保护和安全
调度和资源管理
概念 一个正在执行的程序
设计协调不同活动的系统软件非常困难
- 不正确的同步
- 失败的互斥
- 不确定的程序操作
- 死锁
组成
一段可执行程序 + 程序需要的数据(变量、工作空间、缓冲区) + 程序的执行上下文
(进程状态、操作系统用来管理和控制进程所需的所有数据)
任务
- 进程隔离:每个进程拥有独立的地址空间,互不干扰
- 自动分配和管理:动态分配,对程序员透明
- 支持模块化程序设计:能够动态加载、销毁程序员定义的模块
- 保护和访问控制:一个应用程序不能任意访问其他程序的存储空间
- 长期存储:关机后仍能长时间存储信息
实现方式 文件系统 + 虚拟存储
操作系统通过驱动程序控制硬件接口
一般不和人,人反应时间长
硬实时:一般为控制类
软实时:一般为服务类,影响较小
概念 是程序的集合
文件系统
虚拟存储
作用 实现了长期存储
文件
- 一个有名称的对象
- 访问控制和保护的基本单元
- 程序以逻辑方式访问存储器
- 多个作业同时驻留内存
- 每个作业部分驻留
- 换入、换出机制
什么是逻辑方式?操作系统满足一些逻辑功能
换入、换出?
分页机制
- 进程由若干个固定大小的块组成一页
- 虚地址由页号+页内偏移量组成
- 进程中的每一页均可置于内存中任何位置
- 提供虚地址和实地址之间的动态映射机制
四大安全问题
- 可用性:保护系统不被中断
- 机密性:保证用户不能读取未授权的数据
- 完整性:保护数据不被未授权修改
- 认证:涉及用户身份的正确性和消息数据的合法性
考虑因素
- 公平性:所有进程享有同等公平访问资源的机会
- 有差别的响应性:区分进程类型且可动态调整
- 有效性:折中处理矛盾需求
*并发
共享
不确定性(异步性)
虚拟
- 并发:两个或多个事件在同一时间间隔内发生
- 并行:两个或多个事件在同一时刻发生
- 程序:静态实体,无法并发
- 进程:动态实体,可并发执行
- 单处理机系统:进程可并发执行,无法并行执行
- 多处理机系统:进程既可并发又可并行
并发性:在多道程序环境下,在一段时间内,有多个任务同时运行
优点:让CPU、I/O设备并行工作,提高效率
概念 系统中的资源可供内存中多个并发执行的进程共同使用
共享资源类型
- 临界资源:在一段时间内,只允许一个进程访问
- 非临界资源:在一段时间内,允许多个进程访问
共享方式
- 互斥共享方式:对临界资源的访问,打印机
- 同时访问方式:对非临界资源的访问,磁盘
概念 通过某种技术把一个物理实体转变为若干个逻辑上的对应物
实现方式
- 时分复用技术:虚拟处理机、打印机
- 空分复用技术:虚拟磁盘、虚拟内存
空分如何理解?
场景 多道程序环境下,程序的执行过程
无结构
模块化结构
分层式结构
微内核结构
重点
- 功能的实现
- 效率的提高
- 服务于调度
系统结构(整体式系统)
- 过程的集合
- 过程之间相互调用
缺点
- 难以调试与维护
- 扩展性很差
定义 按功能划分成多个模块,模块之间通过接口实现交互
模块独立性衡量标准
- 内聚性:模块内部各部分间联系紧密程度
- 耦合度:模块间相互联系和影响程度
优点 OS设计正确性高,易于理解和维护
缺点
- 接口难定义
- 模块之间存在复杂的依赖关系
定义
按功能调用顺序划分成若干层
- 每层只能使用直接下层提供的服务
- 每层对其上层隐藏其下各层的存在
(单向依赖关系)
优点
- 易保证系统的正确性
- 易于理解和维护
- 易于扩充
缺点 - 系统效率较低
思考
进程调度程序、时钟中断处理程序、命令解释程序在哪种模式下执行?
系统调用时的模式切换过程?
进程调度:内核模式
时钟中断:内核模式
命令解释:用户模式
定义 将操作系统内核分为 基本功能内核+其他功能 实现客户/服务器模式
机制与策略
机制:实现某一功能的具体执行机构
策略:方法或原则,用于优化功能实现
基本功能
- 进程管理
- 低级存储器管理
- 中断和陷入处理
陷入处理?
优点
缺点
- 运行效率有所降低
- 消息传递开销+模切换开销
- 提高系统的可扩展性
- 增强了系统的可靠性
- 可移植性好(代码少)
- 提供对分布式系统的支持
UNIX
Linux
Windows
思考
总结操作系统基本功能
理解操作系统为什么引入进程、进程的概念、进程上下文含义? 进程上下文:可执行程序代码
当进程是固定执行的时候才可以固定分配内存地址
目的是提高程序的利用率,外设和CPU可以并发是前提
目的 方便管理
定义 是程序执行的顺序不确定,而不是结果的不确定性
也就是按重要性划分的分层结构
进程的描述与控制
代码段+数据段+PCB+栈
调度
同步
死锁
目标
1. 理解进程、线程,及其区别
2. 理解进程结构、PCB
3. 理解进程的基本状态及转换规则与原因
4. 理解进程挂起与阻塞状态的区别
5. 理解OS内核模式及其主要功能
6. 理解进程控制原语
7. 理解进程切换与模式切换
什么是进程
进程的状态
进程描述
进程控制
Unix SVR4 进程管理
线程
并发基于进程(为了控制多道程序能够正确的并发执行)
进程
并发
类型
顺序执行程序的特征
- 顺序性
- 封闭性
- 可再现性
并发执行程序的特征
- 间断性
- 无封闭性
- 不可再现性
特征
- 动态性:本质特性(存在生命周期)
- 并发性:重要特征
- 独立性
- 异步性
进程与程序比较
- 程序是静态实体,进程是动态的
- 两者间不是一一对应关系
引入进程的挑战
- 空间开销:为进程建立的数据结构
- 时间开销:管理进程
- 控制复杂性:进程对资源的竞争
五状态模型
- 就绪状态:分配到除CPU以外所有必要资源
- 执行状态:获得CPU,程序正在执行
- 阻塞状态:正在执行的进程由于等待发生某事件而暂停的状态
- 新建状态:OS构造了进程标识符、管理进程所需的表格
- 终止状态:不再有执行资格,表格和其他信息暂时保留
挂起状态
将内存中处于阻塞、就绪、执行状态的进程放到外存,不再参与CPU的竞争的状态
原因
- 进程全部阻塞,处理机空闲
- 交换,如系统负荷过重,内存空间紧张
- OS需要
- 终端用户的请求
- 父进程请求
特征
- 不能立即执行
- 挂起条件独立于阻塞条件
- 自身、父进程、OS
阻塞与否:进程是否等待事件
挂起与否:进程是否被换出内存
就绪:进程在内存,准备执行
阻塞:进程在内存,等待事件
就绪/挂起:进程在外存,只要调入内存并获得CPU即可执行
阻塞/挂起:进程在外存,等待事件
操作系统是资源的管理者
进程属性
ID、状态、内存中的位置
进程映像 程序段+数据段+进程控制块(PCB)+栈
PCB
进程标识
处理机状态
进程控制信息
- 进程标识符
- 内部标识符
- 父进程标识符
- 用户标识符
- 通用寄存器
- 控制和状态寄存器
- 栈指针
- 调度和状态信息
- 链接指针
- 进程间通信
- 程序和数据的地址
- 资源所有权和使用情况
组织方式
索引:系统根据所有进程的状态建立几张索引表
链接:通过链接指针将PCB块链接起来,形成队列
调度程序往往有很多调度策略
内核
理解
功能
- 操作系统中包含重要系统功能的部分
- 常驻内存
资源管理
支撑功能
- 进程管理
- 存储管理
- I/O设备管理
- 中断处理
- 时钟管理
- 监测
执行模式
模式
内核模式:与操作系统相关的处理器模式
用户模式:与用户程序相关的处理器执行模式
采用两种模式的原因 保护操作系统和操作系统表(如PCB)不受程序干扰
处理器怎么知道它在哪个模式下 程序状态字PSR寄存器中存在指示执行模式的位
模式切换一定会导致进程切换? 不一定(如IO中断不一定伴随进程切换)
进程创建与撤销
进程阻塞与唤醒
挂起与激活
进程切换
实现方式
由原语实现
- 原语:用于完成一定功能过程的原子操作,其不允许被打断
创建进程步骤
1. 给新进程分配一个唯一的进程标识符
2. 为进程分配空间
3. 初始化进程控制块
4. 建立链接
5. 建立或扩充其他数据结构
进程终止过程
1. 根据被终止进程的标识符找到其PCB,读出该进程的状态
2. 若该进程为执行状态,则终止其执行,调度下一个就绪进程执行
3. 若该进程还有子孙进程,还应将其所有子孙进程终止,以防他们成为不可控进程
4. 将该进程所拥有的全部资源,归还给其父进程或系统
5. 将被终止进程从所在队列中移除,等待其他程序来搜集信息
但是管理不了事件
不用IO的事件很少
体系结构限制了CPU使用方式
引起阻塞事件
- 请求系统服务而得不到满足
- 启动某种操作而需要同步时,而临界区暂时被锁定
- 新数据未到达时
- 无新工作可做
阻塞过程
1. 使用block()把自身阻塞
2. 把进程控制块状态改为阻塞态,并将其插入阻塞队列
3. 调度程序把处理器分给另一个就绪进程
唤醒过程
1. 使用wakeup(),将进程从阻塞队列中移出
2. 把程序控制块状态改为就绪态,并将其插入就绪队列
进程挂起 使用suspend()将指定进程挂起
进程激活 使用active()将进程从外存调入内存
理解 调度另一个就绪进程占用处理器执行
发生场景
- 时钟中断
- IO中断
- 内存失效
- 陷阱
- 系统调用
步骤
处理器:移出移入进程的上下文
进程:更新进程控制块的状态,将其移入移出队列
- 拥有资源的独立单位- 调度 / 执行的基本单位
理解 一堆堆小弟
目的 增强程序的并发执行
特征 - 不具有挂起状态
基本操作
- 派生
- 阻塞
- 解除阻塞
- 结束
类型
用户级
内核级
混合
特征 操作系统内核仍然以进程为调度单位操作
优点
特征 操作系统内核以线程为调度单位操作
- 开销小
- 调度灵活
- 线程库独立于系统内核
缺点
- 容易引起阻塞,削弱了并发性
- 无法利用多处理器技术
优点
- 将同一个进程中的线程调度到多个处理器中
- 一个线程阻塞,内核可以调度其他线程
- 内核例程可以是多线程的
缺点 - 开销大
特征
问答
1.论述程序、进程、线程的区别与联系。
2.论述进程控制块(PCB)的作用、存储内容。
3.论述进程的基本特征。
4.以图为例,分析五状态进程模型。
5.为什么引入挂起状态,其与阻塞状态的本质区别是什么?
6.论述进程切换与模式切换的区别。什么情况下会发生进程 切换,什么情况下会
发生模式切换。
7.什么是中断?中断的处理过程如何?
8.什么是系统调用?
9.比较不同类型线程的优缺点。
1. 程序拥有资源和执行代码,而将其放在内存中执行叫进程,而线程就是给进程打
工的小弟,它们利用进程的资源并发的执行进程
2. 作用:使多程序环境下,每个程序成为一个能独立运行的基本单位
存储内容:进程标识、处理机状态、进程控制信息、组织方式
3. 动态性、并发性、独立性、 异步性
4.
- 就绪状态:分配到除CPU以外所有必要资源
- 执行状态:获得CPU,程序正在执行
- 阻塞状态:正在执行的进程由于等待发生某事件而暂停的状态
- 新建状态:OS构造了进程标识符、管理进程所需的表格
- 终止状态:不再有执行资格,表格和其他信息暂时保留
5. 引入原因:内存空间有限
挂起是将进程放到外存上,而阻塞只是进程暂停执行其还在内存当中
6. 进程切换是调度另一个进程占用CPU,模式切换是用户态和内核态的切换
进程切换场景: 时钟中断、O中断、内存失效、陷阱、系统调用
模式切换场景:要执行些特别的指令
7. 中断:系统用来响应硬件设备请求的一种机制
中断处理过程:获取中断请求,暂停正在执行的程序,处理中断响应,关中断返回
正在执行的程序
8. 系统调用:一组用于实现各种系统功能的子程序
9. 用户级线程:灵活开销小线程库独立于系统内核,容易阻塞无法利用多处理器技
术
内核级线程:将同一个进程中的线程调度到多个处理器中、不怕阻塞、内核例程可
以是多线程,开销大
混合模式:
类型
规则
决策模式
算法
实时系统和实时调度
概述 多个进程竞争CPU,OS确定下一个运行的进程
目标 满足系统目标的方式,将进程分配到一个或多个处理器上执行
长程调度
中程调度
短程调度
周转时间可以反应系统性能,响应时间不能
响应时间
周转时间
截止时间
系统吞吐量
分类
面向用户的规则
面向系统的规则
响应时间
周转时间
截止时间
吞吐量
利用率
公平性
优先级
从用户提交请求开始,到系统首次产生响应为止 输入传送时间 + 处理时间 + 响应传送时间
从交给系统到完成这段时间 驻外存等待调度时间 + 驻内存等待时间 + 执行时间 + 阻塞时间
开始/完成的最迟时间
单位时间内系统完成的任务数
非剥夺方式 只在执行完毕或申请IO阻塞自己才会停
剥夺方式
先来先服务(FCFS)
时间片轮转(RR)
短作业优先(SJF)
剩于时间最短优先
响应比高优先(HRRN)
按进入就绪队列的顺序来使用CPU
- 平均周期长
- 不利于IO繁忙性进程
- 不能直接用于分时系统,通常与其它调度算法混合使用
公平分配时间片给进程使用 - 综合考虑 最大用户数目 + 响应时间 + 系统效率
前提是已知执行时间
反馈调度 多个队列,每个队优先级不同,时间片不同
- 有利于终端型作业用户
- 利于短作业用户
- 长批处理作业用户
主题
实时系统
概述
系统能及时响应外部事件的请求,在规定时间内完成对该事件的处理,并控制所有
实时任务协调运行
构成 实时控制系统 + 实时信息处理系统
注意 对于实时系统而言,系统的正确性取决于 计算结果和产生结果的时间
实时任务
概述 在实时系统中具有及时性要求并且常被重复执行的进程
分类
截止时间
周期性
硬实时任务
软实时任务
周期性实时任务
非周期实时任务
实时操作系统 特点
- 可确定性
- 可响应性
- 用户控制
- 可靠性
- 失效弱化
实时进程 调度方式
基于时间片的轮转抢占式调度
基于优先级的非抢占式调度
基于优先级的抢占点抢占调度
立即抢占调度
实时调度方法分类
静态表驱动调度法
静态优先级抢占调度法
基于动态规划的调度法
动态尽力调度法
作业
高响应比优先调度算法的主要优点是什么?
为什么说多级反馈队列调度算法能较好地满足各种用户需求?
理解算法 是把CPU分配给就绪队列中响应比最高的进程
优点 兼顾长短作业
分配的时间片长度都相同,对于终端型作业用户在第一级队列规定的时间片完成,
对于短批处理作业用户,最多在第二三级队列完成响应时间也短,对于长批处理作
业用户则使用时间片轮转方式
基础概念
- 临界资源:一次仅允许一个进程访问的资源为临界资源
- 临界区:每个进程中访问临界资源的那段代码称为临界区,代码作为一个共享资
源一次只允许一个进程访问
- 死锁:两个或两个以上的进程相互等待导致都不能执行
- 互斥:当一个进程在临界区访问临界资源时,其他进程不能进入该临界区访问共
享资源
- 竞争:多个进程读写一个共享数据时依赖它们执行的相对时间
- 饥饿:一个进程已经具备执行条件,但没得到CPU资源
进程的并发会导致程序执行结果不封闭
- 全局资源:对全局资源的访问秩序非常重要
- 资源分配:不好的分配算法可能导致死锁
同步与互斥
主题
同步机制遵循的准则
- 空闲让进
- 忙则等待
- 有限等待
- 让权等待
如何实现互斥访问
- 严格轮换
- 屏蔽中断
- 专用机器指令
- 软件方法
- 信号量
硬件解决同步互斥方法
中断屏蔽方法
TestAndSet(TS指令/TSL指令)
Swap指令(XCHG指令)
优点 简单高效
缺点
- 不适合用于多处理机
- 只适用于操作系统内核进程,不适用于用户进程
优点 实现简单,适用于多处理机环境
缺点
不满足让权等待原则,无法进入临界区的进程会占用CPU并循环TSL指令,从而导
致忙等
优点 实现简单,适用于多处理机环境
缺点 不满足让权等待原则
管程 特点
- 局部数据变量只能被管程的过程访问,任何外部过程都不能访问
- 一个进程通过调用管程的一个过程进入管程
- 在任何时候,只能有一个进程在管程中执行,调用管程的任何其他进程都被挂
起,以等待管程变成可用的
关于P、V操作 解决P、V操作问题的关键
理解临界资源与临界区的概念
准确理解问题的同步互斥过程与要求
建立信号量,准确定义信号量的意义和初始值
同步:多个进程在执行顺序上的协调,相互等待消息
互斥:对临界资源的使用
信号量的定义根据同步和互斥要求来定
临界资源:一次仅允许一个进程访问的资源
临界区:每个进程中访问临界资源的那段代码
产生的原因
竞争资源
进程间推进顺序不当
- 可剥夺和非剥夺性资源
- 竞争非剥夺性资源
- 竞争临时性资源
产生死锁的必要条件
- 互斥条件
- 请求和保持条件
- 不剥夺条件
- 环路等待条件
处理死锁的基本方法
- 预防死锁
- 避免死锁
- 检测死锁
- 解除死锁
进程间通信
问题
P、V操作可否用于进程通信?
P、V操作对于哪些进程通信不适用?
PV操作用于进程的同步与互斥,是低级进程通信
- 网络进程通信
- 数据交换量较大的单机进程通信
解决办法
共享存储器
消息传递
管道
- 公用某个数据结构实现信息交换(难、低效、数据量少)
- 划分一块存储空间作为公用
- 直接消息传递
- 间接消息传递
weixin_46981554
- 粉丝: 2
- 资源: 9
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论10