操作系统复习Word文件下载.docx
- 文档编号:22198972
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:29
- 大小:122.68KB
操作系统复习Word文件下载.docx
《操作系统复习Word文件下载.docx》由会员分享,可在线阅读,更多相关《操作系统复习Word文件下载.docx(29页珍藏版)》请在冰豆网上搜索。
(6)单道批处理系统和多道批处理系统以及多道程序设计技术
单道批处理系统:
计算机自动的一个作业一个作业地进行处理,直到磁盘上的所有作业全部完成。
由于系统对作业的处理是成批进行的,且内存中始终只保持一道作业。
特征:
自动性,顺序性,单道性
缺点:
对某些作业来说,当它发出输入/输出请求后,CPU必须等待I/O的完成,特别因为I/O设备的低速性,从而使机器的利用率很低。
多道批处理系统:
主存中同时放多道作业,若作业搭配适当,即计算量大的与I/O大的搭配,则一道程序在I/O时,主机可去处理另一道作业,从而能充分利用CPU及其它资源。
1、调度性2、无序性3、多道性
1、资源的利用率高2、系统吞吐量大
缺点:
1、平均周转周期长2、无交互能力
多道程序设计技术:
同时把多个作业(程序)放入内存并允许它们交替执行,共享系统中各种资源,当一道程序程序由于某种原因暂停执行时,CPU可以立即转去执行另一道程序。
好处:
提高CPU利用率;
提高内存和I/o设备利用率;
增加系统吞吐量。
(7)分时&
实时操作系统
分时系统的特征:
人机交互性好、共享主机(多路性、同时性)、用户独立性、及时性
实时操作系统:
指系统能及时(或即时)响应外部事件的请求,并控制所有实时任务协调一致地运行。
特征:
实时性和可靠性;
多路性、独立性、交互性
三种基本的操作系统:
批处理操作系统、分时操作系统和实时操作系统
通用操作系统:
如果一个操作系统兼有批处理、分时和实时系统三者或二者的功能,则称该操作系统为通用操作系统。
第二章进程管理
2.1重点内容
1)前趋图及其描述
前趋图:
一个有向无环图,描述进程之间执行的前后关系。
2)程序并发执行的条件以及程序并发执行的特征
条件:
不存在前趋关系
间断性:
具有“走走停停”的规律,原因:
缺乏共享资源,可能要等。
几个程序合作完成一项任务时的相互间的制约。
失去封闭性:
程序并发执行,共享系统中的各个资源,
资源的状态由多个程序来改变,致使程序运行失去封闭性。
不可再现性:
程序在并发执行由于失去了封闭性所以失去了可再现性。
3)进程的定义
ppt:
可并发执行的程序再一个数据集合上的运行过程。
书上:
进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。
特性:
结构特征:
程序段 数据段 PCB
动态性:
程序静态,进程实体有生命期
并发性:
进程可并发,程序不可
独立性:
独立运行 独立分配资源 独立接受调度的基本单位
各自独立不可预知的速度向前推进,异步方式运行
4)进程与程序的比较
•进程和程序是两个截然不同的概念。
进程具有五个基本特征,而程序则不具备这些特征。
(1)动态性
•进程是程序的一次执行过程,因此,属于动态概念,是进程的最重要的特征。
动态性还表现为:
“它由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤消而消亡”。
可见,进程有一定的生命期。
而程序只是一组有序指令的集合,并长期存放在某种介质上,本身并无运动的含义,因此,程序是个静态实体。
另外,进程和程序不是一一对应的,如几个进程可同时执行一个程序。
(2)并发性
•这是指多个进程实体,同存于内存中,能在一段时间内同时运行。
并发性是进程的第二个最重要特征。
引人进程的目的也正是为了使其程序能并发执行,而程序是不能并发执行的。
(3)独立性
•这是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位。
凡未建立进程的程序,都不能作为一个独立的单位参加运行。
(4)异步性
•这是指进程按各自独立的、不可预知的速度向前推进;
而程序无此特征。
(5)结构特征
•从结构上看,进程实体是由程序段、数据段及进程控制块三部分组成,而程序不具有进程控制块的概念。
5)进程的状态及其转换(包括基本的状态转换和带有挂起状态的转换),PCB及其作用
PCB:
记录OS所需的、用于描述进程当前情况以及控制进程运行的全部信息。
作用:
使一个在多道程序环境下不能独立运行的程序(含数据),成为一个独立运行的基本单位,一个能与其他进程并发执行的进程。
(OS根据PCB来对并发执行的进程进行控制和管理。
)
(每种状态的定义及转换条件见王道书P25-27)
引起挂起状态的原因:
终端用户的需要:
终端用户在自己程序运行中发现问题要求使正在
执行的进程暂停执行而使进程处于挂起状态。
父进程的需要:
父进程为了考查和修改某个子进程,或者协调各子进
程间的活动,需要将该子进程挂起。
操作系统的需要:
操作系统为了检查运行中的资源使用情况或进行记
帐,而将某些进程挂起。
对换的需要:
为了提高内存的利用率,而将内存中某些进程挂起,以
调进其它程序运行。
负荷调节的需要:
由于工作负荷较重,而将一些不重要的进程挂起,
以保证系统能正常运行(实时操作系统)
6)进程同步
主要任务:
对多个相关进程在执行次序上进行协调,以使并发执行的各个进程能有效地共享资源和相互合作,从而使程序的执行具有可再现性。
7)临界资源和临界区
临界资源:
每次只能由一个进程访问的资源
临界区:
进程重访问临界资源的那段代码
8)同步机制应该遵循的原则
空闲让进
忙则等待
有限等待
让权等待
9)信号量机制和P、V操作
信号量是表示资源的物理量,并且与队列有关,其值只能由P、V操作原语改变,系统可以利用信号量对进程进行控制和管理,即控制进程对临界资源或公共变量的访问,以实现进程的同步与互斥。
10)记录型信号量的物理意义
S.Value>
0表示某类可用资源的数量
<
=0表示其绝对值为因请求该资源而被阻塞的进程数
S.Value的初值为1时,表示只允许一个进程访问临界资源,此时的信号量转化为互斥信号量。
11)信号量的应用:
进程互斥、前驱关系
互斥使诸进程互斥地进入临界区
同步使相互合作的进程协调运行
前趋关系处理程序或语句间的前趋关系
12)经典同步问题
读者-写者、生产者-消费者
13)进程通信的类型
共享存储器系统:
共享数据结构、共享存储区
消息传递系统:
直接通信、间接通信
管道通信
14)消息缓冲队列通信机制
15)线程的概念及其与进程的异同
线程是进程内的一个相对独立的可执行单元,是操作系统中的基本调度单位,一个线程与同属于一个进程的其它线程共享进程拥有的全部资源,其也具有生命周期。
线程与进程的异同主要体现在以下一个方面:
(1)调度,线程是调度的单位,进程是资源分配的单位,并且在同一个进程中的线程切换不会引起进程的切换,在不同进程之间的线程切换则会引起进程的切换,
(2)资源拥有,进程是资源的拥有者,而线程共享进程的资源,本身除了运行需要的少量资源外不拥有资源。
(3)并发性,引入线程后,不仅进程之间可以并发执行,进程内的各线程之间也可以并发执行,从而提高了OS的并发程度,也就提高了程序的执行效率。
(4)系统开销,撤销进程的开销比撤销线程的开销要大得多。
另外,线程之间同步与通信可以在进程内部实现,可以不需要OS的干预。
第三章处理机调度与死锁
1)高级调度、中级调度和低级调度(作业调度、进程调度和对换)
高级调度:
又称为作业调度或长程调度(Long-teamScheduling),决定把外存上处于后备队列中的哪些作业调入内存,并为它们创建进程、分配必要的资源,然后,再将新创建的进程排在就绪队列上,准备执行。
作业调度也称为接纳调度(AdmissionScheduling)。
适合批处理系统。
分时直接送入内存。
中级调度:
中级调度又称为中程调度(Medium-TermScheduling)
目的:
为了提高内存的利用率和系统吞吐量。
中级调度实际上就是存储器管理中的对换功能
低级调度:
低级调度通常又称为进程调度、短程调度(Short-TermScheduling)。
它决定就绪队列中的哪个进程将获得处理机、然后由分派程序(Dispatcher)执行把处理机分配给该进程的操作。
2)基本调度算法(FCFS、SJF、高优先权优先和响应比高者优先)
3)产生死锁的的必要条件
原因:
竞争资源引起进程死锁;
进程推进顺序不当
必要条件:
互斥条件;
请求和保持条件;
不剥夺条件;
环路等待条件。
4)处理死锁的基本方法(预防、避免、检测和解除)
预防:
实现采取各种限制措施破换必要条件。
避免:
在运行过程中,防止系统进入不安全状态。
检测:
允许发生死锁。
通过检测机构及时地检测出死锁的发生。
精确锁定,清除死锁。
解除:
撤销或挂起一些进程。
5)安全序列和系统安全状态
系统安全状态:
是指在某时刻,系统能按某种进程顺序,如<
P1,P2,P3,……,Pn>
来为每个进程进行资源分配,并且使每个进程都能得到其所需资源直至顺利运行完毕,则把此时的系统状态称为安全状态,此时的进程序列就称为安全序列。
6)银行家算法
7)资源分配图及其简化和死锁定理
S为死锁状态的充分条件为:
当S的资源分配是不可完全简化的。
第四章存储器管理
1.源程序到可在内存中执行的程序的三个步骤:
编译->
链接->
装入
(1)绝对装入方式
指程序经编译后产生的是绝对地址的目标代码,运行这种程序时按照程序中指定的绝对地址装入内存
(2)(静态)可重定位装入方式
指程序经编译后产生的是以0开始的逻辑地址的目标代码,在装入这种目标代码时,实际的物理内存地址与逻辑地址是不一致的,要进行目标程序中的指令和数据中地址修改,既重定位,而且这种重定位的地址变换是在程序装入时一次完成。
(3)动态运行时装入方式
指装入程序在把装入模块装入内存后并不立即进行相对地址到绝对地址的转换,而是推迟到程序指令正真执行时才进行。
2.程序的链接方式
链接程序的功能,是将经过编译或汇编后所得到的一组目标模块以及它们所需要的库函数,装配成一个完整的装入模块。
实现链接的方法有三种:
静态链接、装入时动态链接和运行时动态链接。
静态链接:
链接时,把各目标模块的相对地址修改为统一的以0为始址的线性地址或多维地址空间,外部调用变为相对地址
装入时动态链接:
是在目标模块装入内存时,边装入边链接,即在装入一个目标模块时若发生一个外部模块调用事件,将引起装入程序去查找相应的外部目标模块,将其装入内存并修改目标模块中的相对地址。
运行时动态链接:
指将运行程序的某些模块推迟到执行时才进行,在执行过程中,当发现一个被调用模块尚未装入内存则立即由OS去找该模块并装入内存,然后将其链接到调用模块上。
4.内存连续分配方式
单一连续分配(单用户、单任务操作系统)
系统区、用户区。
简单易行
内存利用率低、CPU利用率低、只支持单道程序运行,需等I/o地址空间>用户区,要用覆盖技术。
固定分区分配(可运行多道程序)
内存固定划分为若干固定大小的区域,分区可相同也可不同。
OS占一区,其余每分区装一道作业。
建立一张分区使用表,起始地址、大小、状态。
简单易行(静态重定位)不需硬件支持,用重定位装配程序一次修改地址,将作业装入。
内外零头都有。
动态分区分配
可解决内零头问题。
空闲分区表或空闲分区链
可重定位分区分配
可解决外零头问题
方法:
紧凑,移动内存中的作业,使分散的小分区拼接成一个大分区。
5.对换的概念及方法
提高内存利用率的有效措施。
概念:
把内存中暂时不能运行的进程或者暂时不用的程序和数据调出到外存上,以便腾出足够的内存空间,再把已具备运行条件的进程或进程所需要的程序和数据调入内存。
整体对换(进程对换)、部分对换(页面对换、分段对换)
外存分为文件区(离散存放)和对换区(连续存放)
6.基本离散分配方法
(1)基本分页方法
页面、物理块、地址结构、页表
页面:
进程的逻辑地址空间分成大小相等的片
物理块:
内存空间分成与页相同大小的物理块(页框),以块为单位将进程中的若干页分别装入可以不相邻接的块中,(最后一页装不满,形成碎片)。
地址变换机构、快表
快表:
一个具有并行查询能力的特殊高速缓冲存储器,联想存储器。
TLB
目的:
为了提高地质变换速度
设置在地址变换机构中,用以存放当前访问的那些页表项。
特点:
查快表与页表可以并行工作.
快表是在访问内存过程中动态形成,由硬件自动生成。
在Intel80486CPU中有32个联想寄存器,命中率约98%.
两级页表
(2)基本分段方法
为什么要分段
满足用户(程序员)在编程和使用上多方面的要求。
方便编程、信息共享、信息保护、动态增长、动态链接。
段、地址结构、段表
段:
作业的地址空间被划分为若干个段,每个段定义了一组逻辑信息。
每个段都从0开始编址,并采用一段连续的地址空间,各段长度可不等
整个作业的地址空间是二维的,其逻辑地址由段号(段名)和段内地址所组成。
段表:
为能从物理内存中找出每个逻辑段所对应的位置,系统为每个进程建立的一张段映射表。
段和页的主要区别
(1)页是信息的物理单位,分页是为实现离散分配方式,以消减内存外零头,由机器硬件机械划分,对用户透明;
段是信息的逻辑单位,含有一组意义相对完整的信息。
分段的目的是为了能更好地满足用户的需要,用户“可见”、可控制。
(2)页的大小固定且由系统确定;
段的长度却不固定,通常由编译程序在对源程序进行编译时,根据信息的性质来划分。
(3)分页的作业地址空间是一维的,分段的作业地址空间是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址。
段和页的共享信息方式
(3)段页式
基本原理和地址变换过程
原理:
分段和分页的结合。
先将用户程序分成若干个段,再把每个段分成若干个页,并未每一个段赋予一个段名。
分段方法分配虚存,分页方法管理实存。
7.虚拟存储管理(以CPU时间和外存空间换取昂贵的内存空间)
了解局部性原理
即在一较短时间内,程序的执行仅局限于某个部分;
相应地他所访问的存储空间也局限于某个区域。
1.大多数情况下顺序执行,
2.过程调用深度不超过5,在一段时间内局限在这些过程范围内。
3.循环结构,将多次执行。
4.对数据结构的处理,局限于小的范围内。
还体现在两个方面:
时间局限性(不久再次执行,原因:
大量循环)和空间局限性(附近也将被访问,典型状况:
顺序执行)
虚拟存储器的定义(P126)
具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。
主要技术:
部分装入,部分对换
请求分页中的硬件支持
1.页表机制,在页表中加入请求分页的数据结构。
2.缺页中断机构。
3.地址变换机构。
为实现请求调页还须得到OS的支持。
软硬结合。
各种页面置换算法
最佳置换算法
可保证获得最低的缺页率。
问题:
无法实现
课利用该算法评价其他算法
FIFO:
实现简单
会淘汰频繁重复被访问的页面。
为分配给进程的页框先后次序建成一个先进先出队列即可。
LRU:
例题:
有人说,对换扩充了内存,因此对换也实现了虚拟内存,这句话是否正确,并说明理由。
答:
不正确,对换是指把内存中暂不能运行或暂不用的程序和数据,换出到外存上,以腾出足够的内存空间,把已具备运行条件的进程,或进程所需要的程序和数据,换入内存。
对换是提高内存利用率的有效措施。
而虚拟存储器是基于把程序的一部分装入内存便可以运行的原理,以离散内存分配方法为基础,具有请求调入和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统。
对换虽然提高了内存的利用率,但对换技术,并没有实现程序部分装入就能运行,也没有相应请求调入和置换功能支持,是不能实现虚拟存储器的。
第五章设备管理
1.I/O系统(了解)
直接用于I/O和存储信息的设备:
设备控制器和I/O通道
由这些设备以及相应的总线构成了I/O系统
两类:
微机I/O系统和主机I/O系统
微机:
总线I/O系统结构,CPU和内存直接连接到总线上,I/O设备通过设备控制器连接到总线。
Cpu与设备控制器通信,并通过设备控制器去控制相应设备。
ISA,EISA,VESA,PCI
主机:
I/O通道代替CPU与设备控制器进行通信
2.主要I/O控制方式
程序I/O方式(忙则等待,使CPU绝大多时间都在等待,无中断,不断测试)
中断驱动I/O控制方式(以字节进行干预,效率低)
直接存储器访问DMA控制方式(基本单位是数据块,从设备直接到内存,开始和结束时需要CPU干预)一次读一个块,一次读多个块分别送到不同的内存,需要CPU发出多条I/O指令进行多次中断
I/O通道控制方式(进一步减少CPU干涉,对一组数据块的读写及相关控制和管理为单位的干预,实现CPU、通道、和I/O设备三者并行操作。
)只需发一套I/O指令,和所要执行的通道程序首地址和要访问的I/O设备,通道接到该指令后,通过执行通道程序便可完成。
3.缓冲管理
工作方式
相同类型的缓冲区链成队列:
空缓冲队列emq,输入队列inq,输出队列outq。
收容输入、提取输入、收容输出、提取输出四个工作缓冲区
收容输入:
在输入进程需要输入数据时,调用getbuf(emq),从emq队列的队首摘下一空缓冲区,把它作为hin,输入数据到hin,装满后,调用putbuf(inq,hin),将其挂入imq队尾。
提取输入:
当计算进程需要输入数据时,调用getbuf(inq),从inq队列的队首摘下一缓冲区,把他作为sin,提取数据,用完后,调用putbuf(emq,sin),将其挂入emq队尾。
收容输出:
当计算进程需要输出数据时,调用getbuf(emq),从emq队列的队首摘下一空缓冲区,把它作为hout,输入数据到hout,装满后,调用putbuf(outq,hout),将其挂入outq队尾
提取输出:
由输出进程调用getbuf(outq),从outq队列的队首摘下一缓冲区,把它作为sout,提取数据,用完后,调用putbuf(emq,sout),将其挂入emq队尾
缓冲的使用(互斥与同步)
为每一个队列设置一个互斥信号量MS(type),为每个缓冲队列设置一个资源信号量RS(type)
ProcedureGetBuf(type)
Begin
Wait(RS(type));
Wait(MS(type))
Buffer=takebuf(type);
Signal(MS(type)):
End
ProcedurePutBuf(type,number)
AddBuf(type,number);
Signal(MS(type));
Signal(RS(type));
4.设备分配
设备分配中的数据结构及其关系
设备控制表DCT每一个设备一张,用于记录本设备情况
控制器控制表COCT为每一个控制器都设置了一张记录本控制器情况的控制器控制表。
通道控制表CHCT每个通道都配有一张通道控制表
系统设备表SDT系统范围的数据结构,记录了系统中全部设备的情况。
每个设备占一个表目。
关系:
SDT->
DCT->
COCT->
CHCT
设备独立性的概念(P163)
也称设备无关性,应用程序独立于具体使用的物理设备。
逻辑设备和物理设备,在应用程序中,使用逻辑设备名称来请求使用某类设备;
在系统实际执行时,使用物理设备名称。
设备分配时的灵活性;
易于实现I/O重定向。
虚拟设备与SPOOLing系统
虚拟设备:
通过对设备的分时使用,使得一个物理设备虚拟为多个逻辑上的对应物,便于用户共享使用。
SPOOLing系统:
将一台独占设备改造成共享设备的一种行之有效的技术。
一道程序(进程)来模拟脱机输入时的外围控制机功能:
把低速I/O设备上的数据传送到高速磁盘上。
另一道程序来模拟脱机输出时的外围控制机的功能:
把数据从磁盘传送到低速设备上。
是在主机的直接控制下,实现脱机输入输出功能,此时外围操作和CPU对数据的处理同时进行,把这种在联机情况下实现的同时外围操作称为SPOOLing,或者为假脱机操作。
组成:
1.输入井,输出井。
在磁盘上开辟两大存储空间。
输入井模拟脱机输入时的磁盘,用于收容I/O设备输入的数据。
输出井模拟脱机输出时的磁盘,用于收容用户程序输出的数据。
2.输入缓冲区和输出缓冲区。
在内存上开辟两个大的存储空间。
输入缓冲区用于暂存由输入设备送来的数据,再传送给输入井。
输出缓冲区用于暂存从输出井来的数据,再传给输出设备。
3.输入进程SPi和输出进程SPo
SPi模拟脱机输入时的外围控制机,将用户要求的数据从输入机,通过输入缓冲区到输入井。
当CPU需要输入数据的时候,直接从输入井读入内存。
SPo模拟脱机输出时的外围控制机,将用户要求输出的数据先从内存送到输出井,再将输出井中的数据经过输出缓冲去送至输出设备。
提高I/O速度;
将独占设备改为共享设备;
实现了虚拟设备的功能
5.设备驱动程序和中断处理程序的处理过程
是I/O进程与设备控制器之间的通信程序,常以进程形式存在,简称设备驱动进程。
接受上层软件发来的抽象
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 复习