大学操作系统课本操作系统知识点Word下载.docx

上传人:b****6 文档编号:17185358 上传时间:2022-11-28 格式:DOCX 页数:17 大小:27.05KB
下载 相关 举报
大学操作系统课本操作系统知识点Word下载.docx_第1页
第1页 / 共17页
大学操作系统课本操作系统知识点Word下载.docx_第2页
第2页 / 共17页
大学操作系统课本操作系统知识点Word下载.docx_第3页
第3页 / 共17页
大学操作系统课本操作系统知识点Word下载.docx_第4页
第4页 / 共17页
大学操作系统课本操作系统知识点Word下载.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

大学操作系统课本操作系统知识点Word下载.docx

《大学操作系统课本操作系统知识点Word下载.docx》由会员分享,可在线阅读,更多相关《大学操作系统课本操作系统知识点Word下载.docx(17页珍藏版)》请在冰豆网上搜索。

大学操作系统课本操作系统知识点Word下载.docx

静止阻塞

执行--(挂起)-->

进程的激活(active原语)

静止就绪--(激活)-->

活动就绪

静止阻塞--(激活)-->

活动阻塞

6.PCB中的信息:

P41

PCB组织方式:

线性方式、链接方式、索引方式

(三)

1.OS内核:

常驻内存

OS状态:

系统态(管态、内核态)用户态(目态)

2.父进程创建子进程:

3种返回值

进程图:

描述进程家族关系的一棵树

3.进程的创建(Creat原语)

引起进程创建的事件:

用户登录、作业调度、提供服务(创建打印进程)、应用请求(用户创建)

创建过程:

分配资源(从系统或父进程)-->

初始化进程控制块(初始化内容见P45)-->

插入就绪队列

4.进程的终止

引起进程终止的事件:

正常结束、异常结束、外界干预

终止过程:

P46

5.进程的阻塞(block原语)

引起事件:

请求共享资源失败、等待某种操作的完成(I/O操作)、新数据未到达(合作进程中)、等待新任务的到来(发送进程,没有信息可发送)

阻塞过程:

状态:

执行变为阻塞-->

PCB挂到阻塞队列-->

调度其他进程

6.进程的唤醒(wakeup原语)

唤醒过程:

移除阻塞队列-->

(四)

1.进程的同步

(1)同步:

即某件事要等待另一件事完成才可以开始

(2)2种相互制约关系:

间接相互制约关系(进程互斥访问资源)、直接相互制约关系(进程合作)

2.临界资源、临界区(进入区、退出区、剩余区)

3.同步机制遵循的规则:

空闲让进、忙则等待、有限等待、让权等待(请求资源失败应释放CPU)

4.3种信号量:

互斥信号量(初值为1)、资源信号量(初值可为n)、同步信号量(初值为0)

P(wait)原语:

减1V(signal)原语:

加1

(五)

1.进程的互斥和同步称为低级进程通信,还有基于共享数据结构的通信方式也是

2.进程通信方式

(1)直接通信方式(基于共享存储区)

申请一个缓冲区-->

将进程A发送区的内容复制给缓冲区-->

将缓冲区挂到进程B的消息队列-->

进程B将缓冲区复制到自己的接收区

(2)管道通信方式(对管道的write和read)

管道是一个pipe文件,作为一个中介

(3)消息传递方式(封装):

直接和间接(有中间实体:

邮箱)

(六)

进程和线程的区别重

第三章

1.三大调度:

高级调度(作业调度):

调度作业(外存-->

内存),只用于多道批处理系统

低级调度(进程调度):

调度进程(就绪-->

获得CPU)

中级调度(内存调度):

挂起(内存-->

外存-->

重入内存)

2.CPU利用率:

CPU有效工作时间/(CPU有效工作时间+CPU空闲等待时间)

1.作业:

包含程序和数据,还有作业说明书。

批处理系统中,是以作业为基本单位从外存调入内存的。

2.作业控制块(JCB):

作业在系统中存在的标志。

包含:

作业标识、...P88

3.作业进入系统时-->

“作业注册”程序为其建立作业控制块-->

放到作业后备队列(外存)-->

调度作业进入内存

4.作业的4种状态:

提交状态、后备状态、运行状态(对应的进程有3种状态)、完成状态

5.作业调度的任务:

(1)接纳多少个作业:

取决于多道程序度

(2)接纳哪些作业:

取决于调度算法

调度时机:

内存中的进程数小于多道度

6.进程的响应时间(作业的周转时间):

完成时间-到达时间或服务时间+等待时间

平均周转时间:

N个的和除以N

带权周转时间:

(服务时间+等待时间)/服务时间或1+等待时间/服务时间

平均带权周转时间:

7.调度算法(4种都可用于作业调度或进程调度)

(1)先来先服务(FCFS)只能非抢占式

(2)短进程优先(SJF):

有效降低作业的平均周转时间;

对长作业不利

(3)优先级调度算法(PSA)

(4)高响应比优先调度算法(HRRN):

优先级随等待时间延长而增加

优先权=(服务时间+等待时间)/服务时间或1+等待时间/服务时间

必须等某个进程完成时,才重新计算优先权,即运行某进程过程中有新进程到达也不会重新调度

后面3个对于作业只能非抢占式;

对于进程,可抢占式或非抢占式

8.题目未说明时,默认是非抢占式。

1.非抢占式:

调度时机为

(1)进程运行完毕

(2)进程I/O请求(3)执行Block原语

抢占式:

抢占原则

(1)优先权

(2)短进程优先(3)时间片

2.调度算法

(1)轮转调度算法:

基于时间片

(2)优先级调度算法

(3)多队列调度算法:

多个就绪队列,不同队列采用不同的调度算法

(4)多级反馈队列调度算法:

对于长作业,往后时间片越长,得到的处理时间越长

(5)最低松弛度优先算法:

松弛度=必须完成时间-需要服务时间

1.可重用性资源(打印机):

请求资源-->

获得资源-->

释放资源

可消耗性资源(通信中的消息):

进程运行期间动态创建和消耗的,不再返回

可抢占性资源(CPU、内存)

不可抢占性资源(打印机):

可能引起死锁

2.引起死锁的3个原因:

(1)竞争不可抢占性资源

(2)竞争可消耗性资源(3)进程推进顺序不当(不安全区D)

3.产生死锁的必要条件:

(1)互斥条件

(2)请求和保持条件(3)不可抢占条件(4)循环等待条件(产生回路)

4.处理死锁的方法:

(1)预防死锁

(2)避免死锁(3)检测死锁(4)解除死锁

5.预防死锁:

破坏其中一个条件

(1)互斥条件不能破坏还应保持

(2)破坏请求和保持条件:

A.一次性申请所需全部资源B.申请部分资源,用完释放,然后继续申请(资源静态分配)

(3)破坏不可抢占条件:

提出新的资源请求时,必须释放自己已保持的所有资源(好像被抢占了)

(4)破坏循环等待条件:

每个进程按序号递增的顺序请求资源(资源有序分配)

6.避免死锁:

防止系统进入不安全状态

(1)系统安全状态:

分配资源后,系统能按一安全序列推进

(2)银行家算法:

二维数组A.表示每个进程对每个资源的最大需求量

B.表示每个进程对每个资源已分配到的

C.表示每个进程对每个资源还需要的

一维数组A.表示每类资源的可分配数available

B.表示每个资源当前可分配数(即加上某个进程运行完,释放后的资源数)work

C.表示每个进程能否获得足够资源而运行finish

算法思路:

P112-114

7.检测死锁:

(1)资源分配图

(2)死锁定理:

S为死锁的充分条件:

当且仅当S状态的资源分配图是不可完全简化的

8.解除死锁:

(1)抢占资源

(2)终止(撤销)进程

方法:

A.终止所有进程

B.逐个终止进程:

付出代价最小的死锁解除算法P117-118

第四章存储器管理

均称为传统存储器管理方式,具有2个特点:

一次性和驻留性P153

1.存储系统至少3级:

最高层为CPU寄存器,内存,最底层为辅存。

2.可执行存储器:

寄存器和内存。

3.进程访问可执行存储器:

使用一条load或store指令即可

访问辅存:

需通过I/O设备

4.程序的装入方式

(1)绝对装入方式:

单道环境程序的相对地址(逻辑地址)与内存地址完全相同

(2)静态可重定位装入方式:

多道环境在装入时对目标程序中指令和数据地址进行修改,以后不再改变。

(3)动态运行时的装入方式:

程序运行过程在内存的位置经常会改变装入内存,地址转换推迟到程序运行时才进行。

A.工作原理:

增设一个重定位寄存器,存放程序在内存中的起始地址-->

真正访问内存地址=相对地址+寄存器中的地址

-->

程序移动时,只需修改寄存器中的起始地址

B.在“紧凑(拼接)”时,要用到。

(二)连续分配存储管理方式

1.单一连续分配:

单道环境内存分为系统区(多放在低址)和用户区

2.固定分区分配:

多道环境内存划分为若干个固定大小的区域,一个区域装入一道作业

(1)a.分区大小相等b.分区大小不等

(2)地址映射:

采用静态重定位

(3)缺点:

造成大量的内部碎片

(4)数据结构:

分区使用表包括分区号、大小、起址、状态。

3.动态分区分配(可变分区分配):

(1)分区分配:

按需划分分区回收:

合并回收

(2)数据结构:

空闲分区表包括分区号、大小、起址、状态(全都是未分配)

空闲分区链双向的

(3)分配:

P128下面

回收:

P129注意不同合并方式会对空闲分区表的修改不同

(4)基于顺序搜索的动态分区分配算法

A.首次适应算法:

每次分配从头顺序查找,找到大小可以满足为止

特点:

优先利用内存地址空闲区,保留了高址的大空闲区

低址不断被划分,产生许多碎片;

查找效率低

对固定分区:

整体分配,易形成内碎片

对可变分区:

按需划分,易形成外碎片

B.循环首次适应算法:

循环的,从上次找到的位置往下查找

使内存的空闲分区分布得更均匀

缺乏大的空闲分区

C.最佳适应算法:

所有空闲分区从小到大形成空闲分区链

留下许多碎片

内碎片小

易形成外碎片

D.最坏适应算法:

所有空闲分区从大到小形成空闲分区链

产生碎片的可能性最小;

查找效率高

内碎片大

剩余分区可再次利用

(5)基于索引搜索的动态分区分配算法

A.快速适应算法:

相同容量的空闲分区形成一个空闲分区链设置索引表查找

不会对任何分区产生分割,不会产生内存碎片

在分配分区时,以进程为单位,一个分区只属于一个进程,或多或少存在浪费

B.伙伴系统:

原理、分配、回收、计算伙伴地址P132

C.哈希算法:

建立哈希函数,构造哈希表

4.动态重定位分区分配算法:

与3(3)基本相同,差别仅在于增加了紧凑的功能

(三)对换

1.对换:

进程或程序和数据:

内存<

-->

外存

2.对换的类型:

(1)整体对换(进程对换):

整个进程为单位对换

(2)页面/分段对换(部分对换):

以进程的一个页面或分段为单位对换

目的:

支持虚拟存储系统

3.磁盘空间分为文件区和对换区(对换空间)

文件区:

离散分配

对换区:

按需分配(分配算法上面4种都可以)、合并回收

4.进程的换进换出的选择标准P137

换出:

换到无阻塞进程为止

换入:

第一个换“就绪”且换出时间最久的进程,继续换到无处于“就绪且换出”状态的进程为止

(四)分页存储管理方式:

提高内存利用率

1.程序分为若干固定大小的页面,内存同样称为物理块(页框)

2.页面大小应为2的幂,通常为1KB-8KB

3.地址结构:

页号P+页内地址W(一维的)

若页面的大小为L,则逻辑地址LA=P*L+W

4.每个进程一张页面映像表(页表):

存放在内存里,实现从页号到物理块号的地址映射

页表大小=表项数*表项大小P139

5.地址变换机构:

实现从逻辑地址到物理地址的转换

6.页表寄存器:

存放页表始址+页表长度

进程未执行时,页表始址+页表长度放在本进程PCB中-->

执行时,装入页表寄存器

7.查找过程(2次访问内存):

页表寄存器-->

页表(内存里)-->

得到内存物理地址,到内存取指令

8.具有快表(联想寄存器):

先查快表看能否命中,未能命中则查完页表后还要修改快表

9.查快表t1,查页表和取指令t2:

若同时查块表和页表:

命中:

t1+t2

未命中:

t2+t1(修改快表)+t2

若命中率为h,可得有效访问内存的时间:

h*t1+(1-h)*(t2+t1)+t2

(五)分段存储管理方式:

满足用户编程和使用的要求

1.作业分为若干个大小不同的段

2.一个作业最多64K个段,每个段最大长度为64KB

段号+段内地址(二维的)

段号太大,段表中找不到则表示越界;

段内地址太大,超过段表中目的段的大小,则表示段内越界。

4.每个进程一张段映射表(段表):

存放在内存里,每个表项包含一个段的起始地址(基址)+该段的长度

段表寄存器,存放段表始址+段表长度

6.查找过程(2次访问内存):

段表寄存器-->

段表(内存里)-->

7.具有联想寄存器的:

与分页式相同

8.分页与分段的区别:

P148(重)

(六)段页式存储管理方式

1.程序分成若干段,每个段再分成若干页

2.地址结构:

段号+段内页号+页内地址(二维的)

3.需要段表寄存器、段表、页表:

每个进程一张段表,段表包含页表始址+页表大小

4.查找过程(3次访问内存):

找段表(内存里),得到该段对应的页表起始地址-->

找页表(内存里),得到该页的物里块号-->

形成物理地址,到内存取指令

5.具有联想寄存器的:

第五章虚拟储存器

原理:

局部性原理(时间局部性、空间局部性)

(一)概述

1.虚拟储存器:

具有请求调入功能和置换功能,从逻辑上对内存容量扩充

2.特征:

多次性、对换性、虚拟性

3.实现虚拟储存器的基础:

离散存放、多次装入

(二)请求分页存储管理方式

1.页表增加4个字段:

状态位(该页是否已调入内存)、访问位(访问次数或多久未访问)、

修改位(有被修改的置换时要写回外存)、外存地址

2.缺页中断机构:

指令执行期间,发现要访问的指令或数据不在内存,马上发出中断

这种属于陷进(软中断),之前打印机那些是硬中断

3.地址变换过程P158(重)注意最后必有“修改访问位和修改位”这一步骤

4.最小物理块数:

进程能正常运行的最小物理块数

5.内存分配策略:

(1)固定分配局部置换

固定分配:

为每个进程分配固定数目的物理块,不再改变

局部置换:

只能从分配给该进程的页面中选一页换出

(2)可变分配全局置换

(3)可变分配局部置换

一进程运行时缺页率很低,可以减少分配给该进程的物理块数

6.物理块分配算法

(1)平均分配算法:

平均分配给各个进程

(2)按比例分配算法:

按进程大小

(3)考虑优先级的分配算法

7.页面调入策略

(1)何时调入

A.预调页策略:

将预计不久后会被访问的页面预先调入内存,可用于首次调入时

B.请求调页策略:

缺页请求时再调入,一次只调入一页

(2)何处调入

UNIX方式:

从未运行过的,从文件区调入

置换在对换区的,从对换区调入

8.缺页率:

访问页面失败的次数F/访问页面总次数A

(三)页面置换算法

1.最佳置换算法(无法实现的):

换出未来最迟被访问的页面

2.先进先出置换算法:

可能产生Belady异常,即分配的页面数越多,缺页率反而越多

原因:

先进的一般都是经常被访问的

3.最近最久未使用置换算法(LRU):

需要移位寄存器或栈两个硬件之一的支持

移位寄存器:

每个在内存的页面配置一个R=Rn-1Rn-2...R1R0

进程访问某物理块时,将相应的寄存器的Rn-1位置1。

每隔一段时间寄存器右移一位。

最小数值那个就是最近最久未使用的页面。

栈:

栈顶总是最近访问的页面号(命中时调到栈顶),栈低总是最久的(置换时从栈底淘汰)

4.最少使用置换算法(LFU):

即看访问次数最少的

采用移位寄存器方式:

每次访问某页,将该寄存器最高位置1,每隔一段时间右移一位。

最小数值那个就是最少使用的页面。

5.简单的Clock置换算法(最近未用算法NRL):

每页设置访问位(A),将内存中所有页面构成循环队列。

某页被访问时,访问位置1

置换时,若访问位为0则换出,为1则改为0

改进的Clock置换算法:

多了修改位(W),修改为为1表示修改过

第一步:

优先置换“A=0,W=0”的页面,不改变访问位A

第二步:

找“A=0,W=1”的页面,同时将A=1的改为A=0

第三步:

重复第一步

6.页面缓冲算法(PBA):

(1)影响页面换进换出效率的因素

A.页面置换算法B.写回磁盘的频率C.读入内存的频率

(2)算法原理:

A.空闲页面链表:

用于分配给频繁缺页的进程、一个未被修改的页面(有数据)要换出时,不换出,接到该链末尾

B.修改页面链表:

一个已修改的页面要换出时,不换出,接到该链末尾,方便集中写回磁盘

(四)抖动与工作集

1.工作集:

某段时间内,进程实际所要访问页面的集合

不同时间的工作集大小不同,所含的页面数也不同P171

2.抖动

(1)产生原因:

进程太多,缺页频繁,CPU效率急剧下降(进程处于“抖动”状态)

(2)产生前提:

采取可变分配+全局置换

(3)预防方法:

A.采取局部置换策略

B.把工作集算法融入到处理机调度中

调入作业之前,检查每个进程在内存的驻留页面是否足够多。

C.利用“L=S”准则调节缺页率P172

D.选择暂停的进程:

挂起若干进程

第六章

(一)I/O系统

1.I/O系统的层次结构:

从下往上:

硬件-->

中断处理程序-->

设备驱动程序-->

设备独立性软件-->

用户层软件

2.I/O系统的上、下接口:

I/O系统接口、软件/硬件接口(下面就是硬件部分了)

3.I/O系统的分层:

设备独立性软件

4.I/O系统接口:

有3种

(1)块设备接口

A.块设备:

以数据块为单位(磁盘)特点:

传输速率高;

可寻址;

磁盘设备的I/O常采用DMA方式

B.块设备接口特征:

隐藏了磁盘的二维结构(磁道号+扇区);

将抽象的命令映射为底层操作

(2)流设备接口

A.流设备:

以字符为单位(键盘、打印机)特点:

传输速率低;

不可寻址;

流设备的I/O常采用中断驱动方式

B.程序用get和put操作,只能顺序存取

C.大多数流设备属于独占设备(互斥方式),要提供打开/关闭操作。

(3)网络通信接口

(二)硬件部分

1.I/O设备的类型:

存储设备和I/O设备、低速设备(键盘、鼠标)和中速设备(打印机)和高速设备(磁盘、光盘)

2.设备控制器(控制一个或多个I/O设备)

(1)三部分组成:

A.设备控制器与CPU的接口(并行):

数据总线-->

DR:

设备

C/S:

设备-->

CPU

启动:

CPU-->

地址总线:

设备名-->

译码电路(I/O逻辑)-->

接口

控制总线:

操作码-->

译码电路-->

CR

B.设备控制器与设备的接口(串行):

数据线:

设备<

DR

状态线:

C/S

控制线:

C/S-->

C.译码电路(I/O逻辑):

实现对设备的控制

上面2个译码功能+并行--(分解)-->

<

--(组装)--串行

(2)CPU启动一个设备的过程:

启动命令-->

设备控制器

地址(即要选哪个设备)--地址线-->

设备控制器-->

I/O逻辑进行译码-->

选中设备

(3)设备-->

数据准备;

DR-->

内存:

数据传送

(4)设备控制器的功能:

A.接收和识别命令

B.数据交换

C.标识和报告设备的状态

D.地址识别(设备控制器可连接多个设备、其里面也有很大寄存器,都需要地址)

E.数据缓冲区

F.差错控制

3.I/O通道(特殊处理机)

(1)在CPU与设备控制器之间目的:

建立独立的I/O操作

(2)过程:

CPU发I/O指令-->

通道-->

内存中取对应的通道程序并执行-->

完成后,向CPU发中断信号

(3)通道与CPU共享内存(其通道程序放在内存)

(4)通道的类型:

A.字节多路通道:

每个字通道连接一个设备,按时间片轮转共享主通道适合低速设备

B.数组选择通道:

每次只允许一个设备传输数据

C.数组多路通道

(三)设备驱动程序

1.设备驱动程序的功能:

A.将命令中的抽象要求转换为与设备相关的底层操作

B.检查I/O请求的合法性,设置设备的工作方式

C.启动I/O设备

D.及时响应设备控制器发来的中断请求,调用相应的中断处理程序

2.设备驱动程序的特点:

A.用汇编语言编写

B.允许可重入

3.设备处理方式:

A.每类设备一个进程来控制

B.整个系统一个进程或一个输入一个输出共2个进程

C.不设置进程(常用)

4.设备驱动程序的处理过程:

将抽象要求转换为具体要求-->

对服务请求进行校验-->

检查设备的状态-->

传送必要的参数

启动I/O设备

启动后,驱动程序把控制返回给I/O系统,自己阻塞起来,直到中断到来被唤醒

I/O操作是在设备控制器的控制下进行,实现处理机与I/O设备的并行操作

5.对I/O设备的控制方式

(1)轮询的可编程I/O方式:

数据传送过程中,CPU一直查询

CPU与设备、设备之间只能串行工作

(2)中断的可编程I/O方式(以字节为单位传送数据):

数据传送过程中,CPU干别的事,传送好控制器通过控制线发中断给CPU,CPU取走数据写入内存

能并行工作

(3)直接储存器访问方式(DMA方式):

A.以数据块为单位、直接从设备到内存、在控制器的控制下不用经过CPU

B.DMA控制器:

三部分组成:

DMA控制器与主机的接口、与设备的接口、I/O控制逻辑

含有4个寄存器:

数据寄存器DR、控制/状态寄存器CR、数据计数器DC、内存地址寄存器MAR

C.工作过程:

CPU要读磁盘-->

发命令给磁盘控制器-->

设置CR、DC、MAR,磁盘源地址送至DMA控制器的I/O控制逻辑-->

启动DMA控制器,进行数据传送-->

读一个字节送至DR后,挪用一个存储器周期,送至内存,MAR+1,DC-1-->

传送完,DMA控制器发中断请求-->

CPU处理中断-->

以后调度到进程

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 实习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1