【OS】期末总结复习
文章目录
- 操作系统复习
- 1. 知识点概念梳理:
- 期末总复习
- 第一章 操作系统引论
- 第二章 进程和线程
- 进程的状态
- 第三章 死锁
- 第四章 调度
- 第五章 存储管理
- 第五章 文件系统
- 第七章 IO输入输出管理
- 进程状态的转换
- 题目
- 置换算法
操作系统复习
1. 知识点概念梳理:
在单处理机系统中,多道程序运行的特点:多道程序运行,宏观上并行,微观上串行。
信号量大小表示可用资源数,如果为负数表示当前等待的进程数;
OS为用户提供两个接口界面:命令接口,程序接口。
多道程序设计出现是由于硬件上有:中断,管道的支持。
提高内存使用效率,解决小内存运行大作用的问题:覆盖技术,交换技术,虚拟存储技术。
文件的物理结构:
- 连续文件 2.串联文件,3.索引文件。
Spooling技术:
主要思想是在联机的条件下,进行两个方向的操作,在数据输入时,将数据从输入设备传送到磁盘或磁带(块设备),然后把这些块设备与主机相连;反过来,在数据输出时,将输出数据传送到磁盘或磁带上,再从磁盘或磁带传送到输出设备。
输出井,输入井;最常见的是共享打印机; 一项是由输出进程SPO在输出井中为之申请一个空闲的存储空间,并将要打印的数据传送其中存放;另一项工作就是由输出进程SPO再为用户进程申请一张空白的用户请求打印表,并将用户的打印请求填入其中,然后将该表挂到打印机的请求队列上。这时,如果还有另一个进程请求打印机时,则系统仍同意为该进程执行打印输出,当然,系统所做的工作仍是以上两项内容。CPU执行操作系统代码时,处理机处于:
管态;管态又叫特权态,系统态或核心态,是操作系统管理的程序执行时,机器所处的状态。大多数计算机系统都将CPU执行状态分为目态与管态;根据PSW程序状态字来控制,0表示系统态,1表示目态:用户态;
分时系统的特性:
多路性,交互性,独占性;
死锁出现:
若干进程因竞争资源而无限等待其他进程释放已占有的资源;
仅一条指令只能在管态下运行,这条指令:
屏蔽中断指令;
虚存=min(内存+辅存,逻辑地址)
判断作业是否对主存空间的要求:
- 最先适应算法 2. 最佳适应算法 3. 最坏适应算法 4. 循环最先适应算法
系统“抖动”现象:
在请求分页存储管理中,从主存(DRAM)中刚刚换出(Swap Out)某一页面后(换出到Disk),根据请求马上又换入(Swap In)该页,这种反复换出换入的现象,称为系统颠簸,也叫系统抖动。
危害:系统时间消耗在低速的I/O上,大大降低系统效率。进程对当前换出页的每一次访问,与对RAM中页的访问相比,要慢几个数量级。
原因:调度算法不科学,交换算法不科学
解决:好的页替换算法减少运行的进程数请求分页管理,页面增大一倍,缺页中断次数不一定减小一半:
不一定是一半,这还得取决于操作系统内核的相关结构以及实际运行情况。因为系统中,缺页中断次数和页面大小有些关系,但并不只取决于页面大小,还跟系统总内存总量等很多因素有关,当系统内存不足时,会发生页面交换,此时也会产生很多次缺页中断,但与页面大小就没有太大关系了
’请求分页存储管理:
不同于基本分页存储管理
(1) 查到页表项时需要进行判断,判断页面是否在内存中。
(2) 当需要调入页面时,但有没有空闲内存时,需要进行页面置换。
(3) 当页面需要调入或调出,需要修改请求页表中新增的表项。(1) 根据逻辑地址得到页号和页内偏移量。
(2) 对页号进行越界判断。
(3) 访问页表判断页是否在内存中,如果在继续执行程序。
(4) 如果访问的页不在内存中,产生缺页中断请求,当前进程阻塞,缺页中断程序从根据页表从外存找到缺失的页。
(5) 判断内存空间是否已满,未满,将缺页调入内存,修改页表。如果已满,从内存中选择一个页面置换,如果页面发生修改,需要将修改写回外存,然后再将缺页调入内存,并修改页表。
(6) 页面调入后,阻塞的进程会处于就绪态等待处理机调度。
期末总复习
第一章 操作系统引论
操作系统的概念:
提供用户与硬件系统之间 的软件接口,使用户能通过操作系统方便的使用计算机。
- 控制和管理计算机系统软,硬件资源,使之得到有效的利用。
- 合理组织计算机系统的工作流程,增强系统的处理能力。
操作系统的功能
- 进程管理
- 存储管理
- 设备管理 : 为进程分配外设,启动外设进行数据传输,弥补CPU和外设之间的并行能力,采用中断,通道,缓冲,虚拟设备技术;为用户提供功能强大,界面友好的设备使用手段。
- 用户管理
- 文件管理
操作系统的分类:
批处理,分时系统,实时系统。网络操作系统,分布式操作系统,并行操作系统
操作系统的特征: 并发,共享,不确定,虚拟性。
作业调度:先来先服务,最短作业调度,时间片轮转,优先级,高响应比
程序顺序执行时的特征: 顺序性,封闭性,可再现性;
程序并发执行的特征:间断性,失去封闭性,不可再现性
进程:程序及其数据在计算机上的一次运行,是系统进行调度和资源分配的基本单位;
为什么引入进程
为了使程序在多道程序环境下能并发执行,并能对并发执行的程序加以控制和描述,从而在操作系统中引入了进程概念。引入进程的目的在于清晰地刻画动态系统的内在规律,有效管理和调度进入计算机系统主存储器运行的程序
进程的特征:动态性,并发性,独立性,异步性,交互性,结构性;
什么是单道系统
内存总是只保留一道作业,只有该作业完成之后才能进行下一个作业;
什么是多道系统
在内存存放多道作业,在管理出现的控制下交替执行;这些作业共享CPU和其他系统资源;
区别
多道程序的系统资源利用率提高,吞吐量也增加了;
实时系统:计算机能够及时响应外部事件的请求;有三种典型的应用:过程控制系统,信息查询系统,事物处理系统;
基本特点:交互性,实时性。可靠性;
分时系统:
一台主机连接多个终端,用户交互式向系统进行命令请求,系统接受请求,采用时间片轮转方式处理服务;
基本特征:同时性,交互性,独立性,及时性;区别:
第二章 进程和线程
进程:一个具有独立功能的出现关于某个数据集合的一次运行活动;进程就是并发环境中的执行过程;
- 动态性
- 并发性
- 非对应性
进程的基本特征:
- 动态性
- 并发性
- 调度性
- 异步性
- 结构性
进程的基本状态
- 运行状态
- 就绪状态
- 阻塞状态
状态转换表
进程控制块(PCB)
进程描述表,是进程组成最关键的部分,含有进程的描述信息和控制信息,是进程动态特性的集中反映,是系统对进程施行识别和控制的依据
组成
- 进程名
- 特征信息
- 进程状态信息
- 调度优先级
- 通信信息
- 现场保护区
- 资源需求,分配和控制方面的学习
- 进程实体信息
- 族系关系 10.其他信息
进程的创建
- 申请一个空闲的PCB
- 为新进程分配资源
- 将新进程的PCB初始化,若是处于正常的运行状态,则立即
- 将新进程加到就绪队列中
进程的终止
终止原因:正常终止,异常终止,外部干扰
- 从系统的PCB表中找到指定进程的PCB ,若处于正常运行,则终止该进程的执行
- 回收该进程所占有的的全部资源
- 若该进程有子进程,还要终止其所有子孙进程,回收他们所占有的全部资源
- 将被终止的PCB从原来的对列中摘走,以后有父进程从中获取数据,并释放他
什么是线程:线程是进程中实施调度和分派的基本单位
线程的状态
- 运行状态
2. 阻塞状态
3. 就绪状态
4. 终止状态
- 运行状态
线程和进程的基本关系
- 一个进程可以有多个线程,但至少要有一个线程,一个线程只能在一个进程的地址空间内活动
2. 资源分配个进程,同一个进程的所有线程共享该进程的所有资源;
3. 处理机分配给线程,真正在处理机上运行的是线程
4. 线程在执行过程中需要协作同步,不同进程的线程间要利用消息通信的办法实现同步;
- 一个进程可以有多个线程,但至少要有一个线程,一个线程只能在一个进程的地址空间内活动
引入现成的好处
- 易于调度
·2. 提高并发性
3.开销少,创建线程比创建进程要快,所以开销少
4.利于充分发挥多处理器的功能
- 易于调度
进程间的相互关系
互斥:各个进程彼此不知道对方的存在,逻辑上没有关系,由于竞争同一资源而发生相互制约;
同步:各个进程不知道对方的名字,单通过某些对象(IO缓冲区)的共同存取来协同完成某一项任务
通信:进程间可以通过名字彼此间进行通信,交换信息,合作完成一项任务;进入临界区的调度原则:
1单个进入
- 独自占用
- 尽快退出
- 落败让权
进程的状态
- 进程是程序的一次执行。在这个执行过程中,有时进程正在被CPU处理,有时又需要等待CPU服务,可见,进程的状态是会有各种变化。为了方便对各个进程的管理,操作系统需要将进程合理地划分为几种状态;进程的状态—三种基本状态
运行态:占有CPU,在CPU上运行;
就绪态: 已经具备运行条件,由于没有空闲的CPU,暂时不能运行;
阻塞态:因等待某一事件而暂时不能运行;例如等待系统分配打印机,等待磁盘操作等等;
注意:单核处理机环境,每个时刻最多只有一个进程处于运行态,(多核另外说)。
另外两种状态:
- 创建态:进程正在被创建,操作系统为进程分配资源,初始化PCB
- 终止态:进程正在被系统撤销,操作系统回收进程拥有的资源,撤销PCB;
PV操作
原语:扩充的机器语言,不允许中断;
P操作
V操作
生成者和消费者
读者和写者
管程
高级进程通信
作业调度和进程调度
调度的时间
调度算法
- FCFS
- SJF
- 优先级
- RR时间片轮转
- SRTF
- 高响应比优先
- 中断
- 中断的处理过程
第三章 死锁
- 死锁
- 条件
- 策略
- 银行家算法
- 饥饿
第四章 调度
第五章 存储管理
重定位:逻辑地址转变为内存物理地址
逻辑地址空间:由逻辑地址组成的地址范围
物理空间:内存中一系列存储单元所限定的地址范围;静态重地位:有目标程序装入内存时,有装入程序对目标程序中的指令和数据的地址进行修改,即把程序的逻辑地址改成物理地址;
动态重定位:程序执行期间,每次访问内存之前进行重定位;
静态重定位 | 动态重定位 |
---|---|
地址变换在装入时一次完成 | 将程序原本装入内存调度时候才进行地址转换 |
优点:无需增加硬件地址转换机构 便于实现静态连接, | 优点:程序占用内存空间动态可变,不必连续存放,比较容易实现几个进程对同一个程序的共享使用 |
缺点:程序的存储空间只能是连续的一片地址空间,重定位之后就不能再继续移动,不利于内存空间的有效利用 | 缺点:附加硬件支持,增加机器成本,存储管理的软件比较复杂; |
- 对换技术:除操作系统占用的内存,其余的全部内存只供一个进程用户使用,其余进程都存放于外存上,每次只调入一个进程,时间片用完调出到外存上
- 内存管理技术
分区 | 分页 | 分段 |
---|---|---|
内存空间进行分区 | 程序大小进行分页,内存大小相等分块 | |
页面大小是有硬件决定 |
- 分段分页的区别:
分页 | 分段 | |
---|---|---|
目的 | 分页是为了实现离散分配,削减内存的外外部碎片,提高内存的利用率,出于系统管理需要,非用户需要 | 更好满足用户需要 |
长度 | 大小有系统决定,系统把逻辑地址划分成页号和页内地址 | |
地址空间 | 一维 | 二维,标识地址时需要给出段名和段内地址 |
碎片 | 有内部碎片,无外部碎片 | 有外部碎片无内部碎片 |
绝对地址 | 页号和偏移量 | 段号和偏移量 |
管理方式 | 对于分页,操作系统必须为每个进程维护一个页表,以说明每个页对应的的页框。当进程运行时,它的所有页都必须在内存中,除非使用覆盖技术或虚拟技术,另外操作系统需要维护一个空闲页框列表。 | 对于分段,操作系统必须为每个进程维护一个段表,以说明每个段的加载地址和长度。当进程运行时,它的所有短都必须在内存中,除非使用覆盖技术或虚拟技术,另外操作系统需要维护一个内存中的空闲的空洞列表。 |
共享和动态链接 | 不容易实现 | 容易实现 |
页是物理信息的物理单位 | 段是信息的逻辑单位 |
页表:实现从页号到物理块号的地址映射;
快表:高速小容量的联想寄存器;
由键号和值两部分(项:64~1024)
键号:当前正在使用的某个页号
值:页号对应的物理号
不在快表内就要访问页表,访问页表需要两次访问内存,先访问一次页表再访问物理块号;分页产生碎片
紧缩方案
方案1 | 方案2 |
---|---|
释放进程时候,如果不与空闲区相连,立即进行紧缩,空闲区保持连续 | 分配进程空间时候,各个空闲区都不能满足才进行紧缩,也就是说回收空间的时候和有足够大的空闲区的时候不进行紧缩 |
管理容易,紧缩画时间 | 紧缩的次数减少,管理比较复杂 |
虚拟存储器:用户能作为可编址内存对待的虚拟存储空间,使得用户啰存储器与物理存储器分离,是操作系统给用户提供的一个比真实的空间还要打的地址空间,
特征:
虚拟扩充,部分装入,离散分配,多次对换请求分页技术
置换过程
- 找出所需页面在磁盘的位置
- 找出一个内存空闲块,有则用,没有需置换;把给该置换的也写到磁盘上,修改相应的表项
- 把所需的页面读入内存
- 重新启动该进程
第五章 文件系统
文件系统的功能:
- 文件管理
- 目录管理
- 文件存储空间管理
- 文件共享和保护
- 提供方便的接口实现“按名存取”
文件的逻辑形式
- 无结构文件:文件内部不在划分记录,由一组相关信息组成的有序字节流,流式文件;
- 有结构文件:记录式文件;
- 树形文件:也是有结构文件
文件的存储分配
连续分配 | 链接分配 | 索引分配 | 多重索引 |
---|---|---|---|
一组连续盘块分给一个文件 | 逻辑上连续的分配在离散的物理块 | 非连续分配,为每个文件建立一个索引表 | |
优点:顺序存储使速度快,可以存取多个盘符,改进IO性能常用于存放系统文件 | 优点:不会产生碎片,可以动态扩充,不用紧缩内存 | 优点:多了随机存取 | |
缺点:建立文件时就要确定长度,不便文件的动态扩充,出现外部碎片 | 缺点:只适合顺序访问,不适合随机存取,增加链接字信息管理添加麻烦,指针丢失会产生不可靠 | 缺点:开销增加,降低存储文件的速度 |
目录的存储
FCB :
文件存储空间管理的方法
- 空闲空间表法
- 空闲块链接法
- 位示图法:
- 空闲块成组链接法:
第七章 IO输入输出管理
设备分类:
- 存储设备:块设备
- 输入输出设备:字符设备
设备标识:设备类型号为主设备号;同类设备的相对序号为次设备号;
通道:使得CPU摆脱繁忙的IO事务,减少中断次数,设置专门处理IO操作的机构
总线:组成计算机各部件间进行信息传送的一组公共通路;
IO系统的控制方式:
- 程序控制直接传递
- 程序查询方式
- 中断控制方式
- 直接存储器访问方式
DMA特点:
- 数据是在内存与设备之间直接传送,传送过程不需CPU
- 仅在一个数据块传送结束后,DMA控制器才向CPU发中断请求
- 数据的传输控制完全由DMA控制
- 数据传输过程中,CPU与外设并行工作,提高系统效率
缓冲:缓冲区又称为缓存,它是内存空间的一部分。也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区;
解决的问题:解决到达速率和离去速率不同
引入缓冲技术的主要目的:
- 缓解CPU和IO设备之间速度不匹配的矛盾
- 提高并行性
- 减少CPU中断次数,放宽CPU对中断响应时间的要求
SPOOling 技术
四个部分:存输入,取输入,存输出,取输出
IO 软件的组成层次
- 中断处理程序
- 设备驱动程序
- 与设备无关的操作系统IO软件
- 用户级IO软件
进程状态的转换
运行态到阻塞态是一个主动过程
阻塞态到就绪态是一个被动过程
王道考研图
注意:不能由阻塞态直接转换为运行态,也不能由就绪态直接转换为阻塞态(因为进入阻塞态是进程主动请求的,必然需要进程在运行时才能发出这种请求)
进程和程序的区别:
1、进程是动态的,而程序是静态的;
2、进程有一定的生命期,而程序是指令的集合,程序本身没有生命期。
联系:进程是计算机中的程序关于某数据集合上的一次运行活动
临界资源:操作系统中一次只允许一个进程使用的资源
临界区:进程互斥执行的程序段
临界区的调用原则:用空让进,忙则等待,有限等待,让权等待
题目
置换算法
FIFO 算法
LRU 算法
最近最久未使用算法
【OS】期末总结复习相关推荐
- 嵌入式系统设计与开发期末考试复习
嵌入式系统设计与开发期末考试复习 STM32学习笔记 第一章:嵌入式系统概述 1.嵌入式系统概念,应用与特点 2.嵌入式系统的硬件(CPU,外设) 3.主要嵌入式软件系统(应用及OS) 4.嵌入式系统 ...
- 天津理工大学计算机操作系统期末知识点复习
天理计算机中加专业期末操作系统复习 文章目录 天理计算机中加专业期末操作系统复习 第一章(操作系统导论) 第二章(进程管理) 第三章(处理机调度) 第四章(存储器系统) 第五章(设备管理) 学弟学妹们 ...
- 2018人工智能期末考试复习资料(一):学术篇
机器之心知识委员会 机心通知函[2018]002号 2018 年人工智能专业期末考试复习资料:学术篇 各人工智能研究者.工程师.从业人: 2018 年是人工智能迅猛发展的一年,从技术研究到产业应用都取 ...
- 大学不挂科c语言题库及答案,C语言期末总复习,保你不挂科!
C语言期末总复习 总体上必须清楚的:- 1)程序结构是三种: 顺序结构 , 循环结构(三个循环结构), 选择结构(if 和 switch)- 2)读程序都要从main()入口, 然后从最上面顺序往下读 ...
- 我们身边的知识产权单元测试答案(期末考试复习)【湘潭大学】
我们身边的知识产权单元测试答案(期末考试复习)[湘潭大学] 第一章 第二章 第三章 第四章 第五章 第六章 第一章 我国历史上第一部以著作权为保护中心的法律是1910年清政府制定颁布的<大清著作 ...
- 大学一年级计算机教程视频教程,大学一年级公开课《计算机基础教程》期末试题复习.doc...
大学一年级公开课<计算机基础教程>期末试题复习 1.在Windows启动后,要执行某个应用程序,下列方法中,___ D __是错误的. A.在资源管理器中,用鼠标双击应用程序名 B.利用& ...
- c语言期末考试复习题,C语言期末考试复习资料 计算机等级考试复习题目
C语言期末考试复习资料 计算机等级考试复习题目 国二国三资料题目 1 C 语言复习题 @复刻回忆 新浪微博账号:http://doc.xuehai.net/panhe14 个人主页 http://do ...
- 河北工程大学c语言期末考试及答案,河北工程大学之数据结构c语言版期末考试复习试题...
河北工程大学之数据结构c语言版期末考试复习试题 <数据结构与算法>复习题 一.选择题. 1.在数据结构中,从逻辑上可以把数据结构分为 C . A.动态结构和静态结构 B.紧凑结构和非紧凑结 ...
- 大学操作系统期末考试复习经典计算题快速回顾
操作系统期末考试复习经典计算题 1.银行家算法 2.计算周转时间 2.1 先来先服务(FCFS) 2.2 短作业优先调度算法(SJF) 2.3 优先级调度算法和高响应比优先调度算法 3.页面置换算法( ...
最新文章
- 小程序云开发,判断数据库表的两个字段匹配 云开发数据库匹配之 and 和 or 的配合使用
- 20162329 2017-2018-2《程序设计与数据结构》课程总结
- 轻用其芒,动即有伤,是为凶器;深藏若拙,临机取决,是为利器!
- java报错怎么看_IGV 哐当就不能用了,除了换台电脑还能怎么办?
- (Python的)__ name__中包含什么?
- java中的原子操作_[Java并发系列] 2.Java中的原子操作类
- TCC-Transaction TCC 实现
- 泽元网站内容管理系统 (简称ZCMS)
- Android中如何做到Service被关闭后又自动启动
- three轨迹线在mapbox地图上显示
- 汽车故障诊断方法及注意事项
- 黄金面试技巧|应届生求职必备
- 饿了么Redis Cluster集群化演进
- VS2017 创建安装项目模板
- [论文阅读] 基于辅助函数的IVA(使用源先验的四阶关系)
- 如何配置tomcat服务
- 那些表面光鲜的成功人士背后
- Python爬虫案例:批量下载超清画质手机壁纸
- 子曾经说过,在有些问题上,我们决不能退步
- 计算机应用对教学的影响,计算机应用教学存在的主要问题及对策
热门文章
- mysql 不停机_mysql之 mysql 5.6不停机主从搭建(一主一从基于日志点复制)
- Win32字符串处理函数
- Windows消息:如何自定义窗口消息与线程消息
- 语音增强效果的测试方法
- erlang精要(22)-归集器、记录
- 【Python】20个Pandas数据实战案例,干货多多
- 【Python】简约而不简单|值得收藏的Numpy小抄表(含主要语法、代码)
- 一款霸榜 GitHub 的开源 Linux 资源监视器!
- 直播 NO.5 | Facebook 田渊栋:用深度(强化)学习为组合优化寻找更好的启发式搜索策略...
- DNN中多任务学习概述