操作系统 13180
2024-04-03 22:57:15 1 举报
AI智能生成
操作系统13180是一种高效、稳定的操作系统,专为商业和企业环境设计。它提供了强大的安全性、可靠性和可扩展性,以及高度优化的性能,满足不同用户的需求。此外,操作系统13180还支持多种硬件平台,包括x86、ARM和PowerPC等,使其广泛应用于各种设备和设备中。该操作系统的文件类型丰富,包括图片、文档、视频等多种格式,方便了用户的数据管理和共享。同时,它还支持各种网络协议,如TCP/IP、FTP等,实现了数据的高效传输。
作者其他创作
大纲/内容
第五章 存储管理
1、概述
存储体系
若干兆字节、中等速度、中等价格、内容易变的内存RAM,通常是GB的数量级
低速、价廉、内容不易变的磁盘,通常是TB的数量级
少量的、非常快速、昂贵、内容易变的高速缓存Cache,通常是MB的数量级
存储管理的任务
内存空间分为两部分
系统区
用户区
内存管理的要求
充分利用内存,为多道程序并发执行提供存储基础。
尽可能方便用户使用
系统能够解决程序空间比实际内存空间大的问题
程序的长度在执行时可以动态伸缩。
内存存取速度快
存储保护与安全。
共享与通信。
及时了解有关资源的使用状况。
实现的性能和代价合理。
内存分配和回收
功能
记住每个存储区域的状态
实施分配(静态和动态)
回收
方法
内存分配表
位示图表示法
链表法
内存分配有两种方式
静态分配
动态分配
优势
动态存储分配具有较大的灵活性。
对提高内存的利用率大有好处。
反映了程序的动态性,较之静态存储分配更为合理。
内存共享
目的
通过代码共享节省内存空间,提高内存利用率
通过数据共享实现进程通信
保护策略
地址越界保护
权限保护
“扩充”内存容量
地址转换
地址重定位
静态重定位
动态重定位
2、分区管理方案
固定分区
基本思想
内存分配表与分区的分配、回收
总结
可以使多个程序共存于内存中
不管采用哪种分配策略,都不能充分利用内存。一个程序的大小,不可能刚好等于某个分区 的大小
固定分区方案灵活性差,可接纳程序的大小受到了分区大小的严格限制
可变分区
基本思想
优点
可变分区有较大的灵活性
较之固定分区能获得较好的内存利用率
紧缩技术
优点
集中分散的空闲区
提高内存的利用率
便于进程动态扩充内存
注意问题
紧缩技术会增加系统的开销
移动是有条件的
可变分区的实现
采用可变分区方式管理时,要有硬件的地址转换机构作支持
空闲分区的分配策略
最先适应算法
最优适应算法
优点
最节约空间
缺点
可能会形成碎片
最坏适应算法
优点
可以避免形成碎片
缺点
分割了大的空闲区后,如果再遇到较大的程序申请内存时,无法满足要求的可能性较大
分区的回收
分区保护
一种是系统设置界限寄存器
保护键方法
分区管理方案的优缺点
优点
算法比较简单
实现起来比较容易
内存额外开销较少
存储保护措施也很简单
在内存利用率方面,可变分区的内存利用率比固定分区高
缺点
内存使用仍不充分,并且存在着较为严重的碎片问题
浪费了处理器时间
不能为用户提供“虚存”,即不能实现对内存的“扩充”,受到物理存储器实际存储容量的限制
内存中可能包含有一些实际不使用的信息
3、覆盖与交换技术
覆盖技术
交换技术
相关问题
换出进程的选择
交换时机的确定
交换空间的分配
换入进程换回内存时位置的确定
缺点
交换时需要大量的处理器时间,影响对用户的响应时间。减少交换的信息量是交换技术的 关键问题
主要特点
打破了一个程序一旦进入内存便一直运行到结束的限制
与覆盖技术相比
4、虚拟页式存储管理方案
虚拟存储技术
基本思想
硬件支持
系统有容量足够大的外存
系统有一定容量的内存
最主要的是,硬件提供实现虚-实地址映射的机制
工作原理
交换技术
虚拟页式存储管理
虚拟页号
页内地址
页式存储管理中物理内存的分配与回收
三种标识
已分配
未分配
剩余空闲物理页面数
内存分配方案
查看空闲物理页面数是否能满足程序要求
若能满足,则根据需求从位示图中找出一些为0的位,把这些位置成1。
从空闲页面数中减去本次分配的页面数。
按照找到的位计算出对应的物理页面号。
内存的归还
根据归还的物理页面号计算出该物理页面在位示图中对应的位置。
将占用标志修改成0。
再把回收的物理页面数加入到空闲物理页面数中。
虚拟页式存储地址转换过程
页式存储管理的地址转换
存储器的支持
页表始址寄存器
页表长度寄存器
页表
指出该程序虚拟地址中的页号与所占用的物理页面号之间的对应关系。
页表又是硬件进行地址转换的依据,每执行一条指令时按虚拟地址中的页号查页表。
页表项
页表
多级页表
散列页表
虚拟页号
所映射的页框号
指向链表中下一个元素的指针
反置页表
特点
整个系统中只存在一个页表,并且每个页框对应其中一个表项。
需要在反置页表中存放地址空间标志符。
转换检测缓冲区(TLB)
为了提高存取速度,有两种方法
在地址映射机制中增加一组高速寄存器保存页表。需要硬件支持,经济上不可行。
在地址映射机制中增加一个小容量的联想寄存器(相联存储器),它由高速缓冲存储器组成。
缺页异常处理
产生缺页异常
操作系统必须在内存中选择一个页面将其移出内存。
页面在内存期间已经被修改过,就必须把它写回磁盘。
该页没有被修改过,不需要写回,调入的页直接覆盖被淘汰的页。
整个缺页处理过程
1)根据当前执行指令中的逻辑地址查页表的有效位,判断该页是否在内存。
2)该页标志为“0”,形成缺页异常。保留现场。
3)操作系统处理缺页异常,寻找一个空闲的页面。
4)若有空闲页,则把磁盘上读出的信息装入该页面中。
5)修改页表及内存分配表,表示该页已在内存。
6)如果内存中无空闲页,则按某种算法选择一个已在内存的页面,把它暂时调出内存。
7)恢复现场,重新执行被中断的指令。
页面调度策略
调入策略
请求调页(Demand Paging)
预调页(Prepaging)
优点
提高了调页的I/O效率,减少了I/O次数。
缺点
造成浪费。
置页策略
置换策略
页面置换算法
常用的页面置换算法
理想页面置换算法(Optimal replacement,OPT)
先进先出页面置换算法(First-In First-Out,FIFO)
第二次机会页面置换算法
时钟页面置换算法(Clock)
最近最少使用页面置换算法(Least Recently Used,LRU)
缺页率
影响缺页率的因素
分配给程序的物理页面多
页面的大小
程序编制方法
页面调度算法
虚拟页式存储管理的优缺点
优点
由于它不要求进程的程序段和数据在内存中连续存放,从而有效地解决了碎片问题。这既提高 了内存的利用率,又有利于组织多道程序执行。
缺点
存在页面空间的浪费问题。这是由于各种程序代码的长度是各不相同的,但页面的大小是固定 的,所以在每个程序的最后一页内总有一部分空间得不到利用。如果页面较大,则由此引起的存储空 间的损失仍然较大。
虚拟页式存储管理的性能问题
抖动或颠簸的原因
颠簸是由于缺页率高而引起的
分配给一个进程的内存物理页面数太少
工采用作集模型,可以解决颠簸的问题
第六章 文件系统
1、文件管理的基本概念
文件管理任务
文件的定义
文件:文件可以被解释为一组带标识的、在逻辑上有完整意义的信息项的序列
文件系统
文件的存储介质及存取方式
外存储设备的特点
外存储设备的存储介质
磁带
磁盘
光盘
闪存
文件的分类
按文件的用途分类
系统文件
库函数文件
用户文件
按文件的组织形式分类
普通文件
目录文件
特殊文件
一些常见的文件分类方式
UNIX类操作系统中文件的分类
普通文件
目录文件
特殊文件
2、文件的逻辑结构和物理结构
文件的逻辑结构
设计文件逻辑结构的原则
易于操作
查找快捷
修改方便
空间紧凑
文件的逻辑结构
流式文件
记录式文件
文件的物理结构
顺序结构
顺序结构原理
顺序结构的优缺点
链接结构原理
链接结构原理
链接结构的优缺点
优点
缺点
索引结构
索引结构原理
索引文件结构的优缺点
优点
缺点
种类
索引表的链接模式
多级索引
UNIX的三级索引结构
3、文件目录
文件控制块
文件目录和当前目录
目录结构
一级目录结构
二级目录结构
多级目录
当前目录与目录检索
目录项和目录文件
目录项
目录文件
目录项分解法
UNIX的文件目录实现
FAT文件系统的实现
4、文件存储空间管理
磁盘空间管理
磁盘空间的分配与回收算法
位示图
空闲块表
空闲块链表
UNIX系统的空闲块成组成表
分配和回收的算法
分配一个空闲块
归还一个空闲
5、实现文件系统的表目
系统打开文件表
用户打开文件表
6、文件和目录的操作
典型的文件操作
建立文件
打开文件
读文件
写文件
关闭文件
删除文件
指针定位
典型的目录操作
7、文件系统的性能
磁盘高速缓存
记录的成组
记录的分解
RAID技术
解决两个问题
磁盘速度慢
容易出现故障
几种常见的组成RAID结构
8、文件共享、保护
文件共享
共享文件的使用
文件可以同时使用
文件不允许同时使用
共享形式
文件被多个用户使用,由存取权限控制
文件被多个程序使用,但分别用自己的读写指针
文件被多个程序使用,但共享读写指针
文件存取控制
建立副本
定时转储
UNIX的文件使用权限管理方案
存取控制矩阵
二级存取控制
UNIX中的文件存取权限
第七章 设备管理
1、设备管理的基本概念
设备管理的任务
解决I/O设备性能同CPU性能不匹配
对多种I/O设备实现统一的管理
如何保证用户安全正确的使用I/O设备
输入输出设备的分类
按设备的使用特性分类
输入设备
输出设备
交互式设备
存储设备等
按设备的信息组织方式分类
字符设备(Character Device)
块设备(Block Device)
按设备使用可共享性分类
独占设备
共享设备
虚拟设备
设备管理与文件管理的关系
区别
联系
2、设备硬件和设备管理软件的组成
设备硬件的组成
写入控制寄存器
读取状态寄存器
数据寄存器
内存映射编址
I/O独立编址
设备软件的组成
一般的I/O软件结构
中断处理程序
设备驱动程序
设备独立的操作系统软件
用户级软件
设备独立性
设备命名
设备保护
提供一个与设备无关的逻辑块
缓冲
存储设备的块分配
独占设备的分配和释放
打印机驱动器
错误处理
3、I/O设备的控制方式
程序直接控制方式
优点
处理器和外设的操作能通过状态信息得到同步
硬件结构比较简单
缺点
1)处理器效率较低
2)对外部出现的异常事件无实时响应能力。 程序直接控制方式适合处理器执行速度较慢,而且外围设备较少的系统,如单片机系统。
中断控制方式
过程
内容
DMA控制方式
传送前预处理
数据传送
传送后处理
通道控制方式
选择通道
数组多路通道
字节多路通道
4、设备的分配与回收
设备分配的相关数据结构和策略
数据结构
分配原则
静态分配
动态分配
分配策略
独占设备的分配
设备的绝对号和相对号
设备的指定方式
指定设备的绝对号
用户程序中通过“设备类、相对号”
独占型设备的分配和释放
共享设备分配
申请设备
启动设备
释放设备
5、磁盘驱动调度
磁盘有三个主要的优点
可用的存储容量非常大
每位的价格非常低
电源关掉后信息不会丢失
信息传输时间
执行一次输入输出所花的时间
寻找时间
延迟时间
传送时间
b=k+s×(j+i×t)
移臂调度及调度算法
先来先服务算法
最短寻找时间优先调度算法
电梯调度算法
磁臂由里向外移动
磁臂由外向里移动
单向扫描调度算法
调度算法比较
除了“先来先服务”调度算法外,其余三种调度算法都是根据欲访问的柱面位置来进行调度的
旋转调度优化
信息的优化分布
6、缓冲技术
作用
解决I/O设备与处理机速度不匹配的问题
减少中断次数
根据I/O控制方式的不同,实现缓冲区的方法有两种
采用专用的硬件设置数据缓冲区
在内存划出一定容量的专用数据缓冲区,以便存储输入/输出的数据,这种设置在 内存的缓冲区又称为“软件缓冲”
缓冲的种类
单缓冲
双缓冲区
多缓冲
缓冲池
缓冲池管理
缓冲区由两部分组成
用来标识和管理该缓冲器的缓冲首部
用于存储数据的缓冲体
三种队列
空闲缓冲队列em,其队首指针为F(em),队尾指针为L(em)
装满输入数据的输入缓冲队列in,其队首指针为F(in),队尾指针为L(in)
装满输出数据的输出缓冲队列out,其队首指针为F(out),队尾指针为L(out)
四种工作缓冲区
用于收容设备输入数据的收容输入缓冲区hin
用于提取设备输入数据的提取输入缓冲区sin
用于收容处理器输出数据的收容输出缓冲区hout
用于提取处理器输出数据的提取输出缓冲区sout
操作组成
7、虚拟设备技术
SPOOLing技术
输入程序模块
输出程序模块
作业调度程序
工作原理
打印机的值班进程
第八章 进程同步机制与死锁
1、进程的同步与互斥
与时间有关的错误
根本原因在于:在并发程序中共享了公共变量,使得程序的计算结果与并发程序执行的速度 有关
进程的同步与互斥
解决进程同步与互斥的做法有两种:一是由竞争各方平等协商;二是引入进程管理者
资源共享的程度分成 三个层次:互斥(mutual exclusion)、死锁(deadlock)和饥饿(starvation)
临界资源的正确访问过程
进入区(entry section)
临界区(critical section)
退出区(exit section)
剩余区(remainder section)
同步机制应遵循4条准则
空闲则入
忙则等待
有限等待
让权等待
进程互斥的软件方法
彼得松算法
基本思想
进程互斥的硬件方法
Test-and-Set指令
Swap指令(或Exchange指令)
信号量(semaphore)和P、V原语
2、经典的进程同步问题
简单生产者—消费者问题
多个生产者—消费者问题
同步问题
互斥问题
读者—写者问题
3、死锁
死锁的定义
死锁产生的原因
竞争资源
永久性资源(可重用资源)
临时性资源(消耗性资源)
调度不当
死锁产生的必要条件
互斥条件
不可剥夺条件
请求和保持条件
循环等待条件
死锁发生后的处理方法
死锁预防
死锁避免
银行家算法规定
不安全状态并非是死锁状态,只是有死锁的可能性
死锁的检测与解除
死锁检测的算法过程
剥夺资源法解除死锁
进程重新运行的代价包括
撤销进程
忽略死锁
4、哲学家就餐问题及其他实例
第一章 操作系统概论
1、操作系统的概念
计算机系统
计算机硬件系统
中央处理器(CPU=运算器+控制器)
内存储器(又称主存)
外存储器(磁盘、磁带等)
输入输出设备(键盘、鼠标、显示器、打印机等)
软件系统
程序
数据
操作系统的定义
操作系统的特征
并发性
用户程序与用户程序之间并发执行
用户程序与操作系统程序之间并发执行
共享性
资源
中央处理器
内存储器
外存储器
外部设备
形式
互斥共享
同时共享
虚拟性
异步性
研究操作系统的观点
软件的观点
特性
外在特性
操作系统是一种软件,它的外部表现形式。
内在特性
操作系统既然是一种软件,它就具有一般软件的结构特点。
资源管理的观点
进程的观点
虚机器的观点
服务提供者的观点
操作系统的功能
进程管理(处理器管理)
内容
进程控制
进程同步
进程间通信
调度
存储管理
任务
内存的分配与回收
存储保护
内存扩充
文件管理
文件存储空间管理
目录管理
文件系统的安全性
设备管理
用户接口
命令接口
应用程序接口
2、操作系统的发展
操作系统的发展历史
电子管
晶体管
集成电路
超大规模集成电路
不同时期的操作系统
手工操作
监控程序(早期批处理)
多道批处理
分时与实时系统
UNIX通用操作系统
个人计算机操作系统
当代操作系统两大发展方向——宏观应用与微观应用
大型系统
微型系统
3、操作系统分类
批处理操作系统
基本工作方式
特点与分类
优点
缺点
用户不能直接与计算机交互,不适合调试程序
分类
简单批处理系统和多道批处理系统
设计思想
作业控制说明书
SPOOLing技术
分时操作系统
基本工作方式
设计思想
特点
多路性
交互性
独占性
及时性
分类
硬实时
软实时
能力
实时时钟管理
过载防护
高可靠性
个人计算机操作系统
特点
计算机在某一时间内为单个用户服务
采用图形界面人机交互的工作方式,界面友好
使用简单方便
网络操作系统
模式
集中式模式
分布式模式
分布式操作系统
特征
系统中的所有主机使用统一的操作系统
资源深度共享
透明性
自治性
优点
分布式
可靠性
嵌入式操作系统
特点
系统内核小
专业性强
系统精简
高实时性
多任务的操作系统
其他类型操作系统
大型机操作系统
服务器操作系统
多处理操作系统
移动计算操作系统
传感器节点操作系统
传感器节点操作系统
4、操作系统设计
操作系统设计难点
设计复杂程度高
正确性难以保证
研制周期长
操作系统的设计过程
功能设计
算法设计
结构设计
操作系统设计目标
可靠性
高效性
易维护性
易维护性
安全性
操作系统结构设计
操作系统结构设计的重要性
操作系统结构研究的目标
系统模块化
模块标准化
模块标准化
操作系统结构的体系结构
整体式结构
优点
缺点
层次式结构
优点
微内核(客户/服务器)结构
特点
运行在内核态的内核
运行在用户态的并以客户/服务器方式运行的进程层
优点
可靠
灵活
适于分布式处理环境
外核结构
典型实例
Unix
Linux
Windows
Android
鸿蒙操作系统
OpenEuler操作系统
银河麒麟操作系统
5、操作系统启动
引导方式
BIOS引导
UEIF引导
操作系统的引导过程
计算机开机,BIOS自检并检测第一个能够引导系统的设备,如硬盘或光驱
运行MBR扇区的启动程序,如GRUB引导程序
GRUB引导程序读取配置文件获取内核和镜像文件系统的设置以及路径位置
内核和镜像文件系统加载到内存
加载硬件驱动程序,初始化进程
操作系统的启动机制
典型程序执行流程
第二章 操作系统运行环境与运行机制
1、计算机系统的层次结构
硬件(子)系统
软件(子)系统
2、中央处理器
CPU的构成与基本工作方式
处理器中的寄存器
分类
用户可见寄存器
数据寄存器
子主题
地址寄存器
条件码寄存器
控制和状态寄存器
程序计数器(Program Counter,PC)
指令寄存器(Instruction Register,IR)
程序状态字(Program Status Word,PSW)
指令执行的过程
一个指令周期=取指令+执行指令
指令大致分成五类
访问存储器指令
I/O指令
算术逻辑指令
控制转移指令
处理器控制指令
特权指令和非特权指令
特权指令
非特权指令
处理器的状态
内核态和用户态
内核态
用户态
内核态与用户态的差别
当处理器处于内核态时
全部指令(包括特权指令)可以执行
可使用所有资源
具有改变处理器状态的能力
当处理器处于用户态时
只有非特权指令能执行
特权级别不同,可以运行的指令集合也不相同
特权级别越高,可以运行的指令集合也越大
高特权级别对应的可运行指令集合包含低特权级
CPU状态的转换
用户态到内核态的转换
其转换的唯一途径是通过中断
内核态到用户态的转换
可通过设置PSW指令(修改程序状态字)实现
限制用户程序执行特权指令
用户程序中不能使用特权指令
程序状态字
CPU的工作状态代码
条件码
中断屏蔽码
3、存储系统
存储器的类型
类型
读写型的存储器
只读型的存储器
PROM
EPROM
存储分块
存储器的层次结构
容量、速度和成本的匹配
存储访问局部性原理
存储器保护
界地址寄存器(界限寄存器)
存储保护键
4、中断机制
什么是中断
中断是CPU对系统中或系统外发生的异步事件的响应
中断的作用
解决了主机和外设并行工作的问题
消除了因外设的慢速而使得主机等待的现象
为多机操作和实时处理提供了硬件基础
充分发挥处理器的使用效率
提高系统的实时能力
中断的分类
强迫性中断
程序性中断
输入输出(I/O)中断
控制台中断
硬件故障中断
自愿性中断
中断系统
组成部分
中断系统的硬件中断装置
软件中断处理程序
中断请求的接收
中断响应
何时响应
如何响应
中断处理
典型中断的处理
I/O中断
时钟中断
硬件故障中断
系统服务请求-自愿性中断
中断优先级、中断屏蔽与中断嵌套
多级中断与中断优先级
中断屏蔽
禁止其他中断可以允许或者禁止中断系统对某些类别中断的响应
中断嵌套
禁止其他中断
中断嵌套
5、I/O技术
I/O结构
通道
直接存储访问技术
处理器和DMA传送也不是完全并行
缓冲技术
多缓冲区(Cache)技术可提高设备利用率
6、时钟
时钟可以为计算机完成的工作
在多道程序运行,时钟可以发现死循环,防止机时的浪费
在分时系统中,用时钟实现时间片轮转运行
在实时系统中,按要求的时间间隔输出信号控制设备
定时唤醒外部事件
记录用户和系统所需要的绝对时间,即年、月、日
分类
硬件时钟
软件时钟
7、系统调用
系统调用的概念与分类
什么是系统调用
系统调用的分类
进程控制类系统调用文件操作类系统调用
进程通信类系统调用
设备管理类系统调用
信息维护类系统调用
系统调用与一般过程调用的关系
运行在不同的系统状态
状态的转换
返回问题
嵌套调用
系统调用处理过程
第三章 进程/线程模型
1、进程的基本概念
进程的定义
进程与程序的联系和区别
进程和程序的联系
进程和程序的区别
可再入程序
进程的两个基本属性
进程是一个可拥有资源的独立单位
进程同时又是一个可以独立调度和分派的基本单位
进程的特征
并发性:一个进程可以同其他进程一道向前推进
动态性:进程有其生命周期,且进程的状态是不断变化的
独立性:一个进程是一个相对完整的资源分配单位
交往性:一个进程在运行过程中可能会与其他进程发生直接的或间接的相互作用
异步性:每个进程按照各自独立的、不可预知的速度向前推进
结构性:一个进程由程序、数据和进程控制块三部分组成
进程状态及状态转换
三状态进程模型
运行状态(Running)
就绪状态(Ready)
阻塞状态(Blocked)
五状态进程模型
运行状态(Running)
就绪状态(Ready)
阻塞状态(Blocked)
创建状态(New)
结束状态(Exit)
七状态进程模型
七状态模型引入原因
五状态进程模型没有区分进程地址空间位于内存还是外存
好处
提高处理机效率
可为运行进程提供足够内存
有利于调试
比五状态增加了
阻塞挂起状态(Blocked,suspend)
就绪挂起状态(Ready,suspend)
七状态模型状态转换条件
挂起(Suspend)
激活(Activate)
事件出现(Event Occurs)
提交(Admit)
进程控制块
PCB的内容
调度信息
现场信息
进程的组成
程序
数据
进程控制
PCB组织
线性方式
索引方式
链接方式
进程的队列
就绪队列
等待队列
运行队列
进程队列的组成
单向链接
双向链接
2、进程控制
进程控制基本概念
进程控制
原语
创建原语
撤消原语
阻塞原语
唤醒原语
Linux操作系统有关进程控制的系统调用
3、线程的引入及基本概念
线程的引入
什么是线程
线程是进程中的一个实体,是CPU调度和分派的基本单位,只拥有少量在运行中必不可少的 资源
线程的属性
唯一的标识符和一张线程描述表
不同的线程可以执行相同的程序
同一个进程中的各个线程共享该进程的内存地址空间
线程是处理器的独立调度单位,多个线程是可以并发执行的
线程在生命周期内会经历等待状态、就绪态和运行态等各种状态变化
引入线程的好处
创建一个新线程花费时间少
线程之间的切换花费时间少
同一个进程内的线程共享内存和文件,通信更简便,信息传送速度也快
线程能独立执行,充分利用和发挥处理器与外部设备并行工作能力
线程的组成
一个唯一的线程标识符
描述处理器工作情况的一组寄存器的内容
两个栈指针
一个私有存储区
线程与进程的关系
调度
并发性
拥有资源
系统开销
4、线程的实现和实例
线程的实现方式
用户级线程
优点
线程的切换速度快
允许采用适合自己要求的不同调度算法
可以运行在任何操作系统上
缺点
当一个线程执行系统调用时,在同一个进程内的所有线程都被阻塞
多线程应用程序不具有多处理器的优点
核心级线程
优点
核心可以同时调度同一进程中的多个线程,真正实现并行操作
如果一个进程的某个线程阻塞了,核心可以调度同一个进程中的另一个线程
核心线程本身也可以是多线程的
缺点
控制转移开销大
应用进程无法影响线程的切换
混合方式
线程实现方式的比较
线程的调度与切换速度
用户级线程的切换速度更加快
系统调用
用户级线程调用一个系统调用时,把系统调用看作是整个进程的行为
内核支持线程,则调度是以线程为单位
线程执行时间
用户级线程,调度是以进程为单位进行的
核心级线程,调度是以线程为单位进行的
Pthread线程库
Pthread 线程共有特性
一个标识符
一组寄存器(包括程序计数器)
一组存储在结构中的属性,包括栈大小、调度参数以及其它线程需要的项目
协程
提出原因
当线程数量非常多的时候,系统线程会占用非常多的内存空间
过多的线程切换会占用大量的系统时间
解决方法
协程机制
第四章 进程/线程调度
1、进程调度的基本概念
进程调度的主要功能
保存现场
挑选进程
恢复现场
进程调度的时机
创建进程
任务完成
等待资源
中断发生
运行到时
两级调度模型
三级调度模型
2、进程调度算法的设计思路
进程调度的主要功能
设计目标
公平性
均衡性
统筹兼顾
优先级
开销
性能评价标准
CPU利用率
吞吐量
周转时间
就绪等待时间
响应时间
3、经典进程调度算法
先来先服务法
先来先服务(First-Come,First-Served,FCFS)法是最简单的一种调度算法
时间片轮转法
时间片轮转法(Round-Robin,RR)主要用于分时系统中的进程调度
时间片的长短通常由四个因素来确定
系统的响应时间
就绪队列进程的数目
进程的转换时间
CPU运行指令速度
优先级法
如果在就绪队列中出现优先级更高的进程时
非抢占式优先级法
抢占式优先级法
两种确定进程优先级的方式
静态优先级是在创建进程时就确定下来的,而且在进程的整个运行期间保持不变
动态优先级是随着进程的推进而不断改变的
短作业优先法
最短剩余时间优先法
多级队列法
多级反馈队列法
4、其他进程调度算法
公平共享调度
术语“公平共享”表明了这类调度器的基本原则
保证调度
彩票调度
彩票调度算法是一种概率调度算法
5、操作系统调度算法实例
BSD多级反馈队列法
CPUj(i):进程j在区间i中处理器使用情况的度量
Pj(i):进程j在区间i开始处的优先级;值越小表示的优先级最高
Basej:进程j的基本优先级
nicej:用户可控制的调节因子
UNIX SVR4 调度
增加了可抢占的静态优先级调度器,引进了160种优先级,并划分到三个优先级类中。
插入了可抢占点
Linux抢占式调度
调度方式
调度策略
调度时机
调度算法
Windows调度
6、多处理器调度算法
粒度
无约束并行性
粗粒度和非常粗粒度并行性
中等粒度并行性
细粒度的并行性
设计问题
把进程分配到处理器
在单个处理器上使用多道程序设计
一个进程的实际分派
进程调度
线程调度
加载共享
组调度
专用处理器分配
动态调度
7、实时调度算法
实时调度算法概述
一个系统是否执行可调度性分析
如果执行,它是静态的还是动态的
分析结果自身是否根据在运行时分派的任务产生一个调度或计划
限期调度
速率单调调度
优先级逆转
收藏
收藏
0 条评论
下一页