西北工业大学考研操作系统背诵.docx
《西北工业大学考研操作系统背诵.docx》由会员分享,可在线阅读,更多相关《西北工业大学考研操作系统背诵.docx(15页珍藏版)》请在冰豆网上搜索。
西北工业大学考研操作系统背诵
名词解释
操作系统:
1.OS是计算机硬件与软件资源的管理者(进程管理,存储管理,文件管理等)
2.OS是用户使用系统硬件,软件的接口(用户接口包括:
程序接口,命令接口[也称系统调用])
3.OS是扩展机(裸机+OS)
4.计算机操作系统是指控制和管理计算机软硬件资源,合理组织计算机工作流程,方便用户使用的程序集合。
临界资源:
一次仅允许一个进程使用的资源称为临界资源
地址映射:
将逻辑地址转换为物理地址(P148)
缺页中断:
在请求分页存储管理中,当所访问的页面不在内存时,便产生缺页中断,请求操作系统将所缺页面调入内存,在一条指令执行的过程中可能产生多次缺页中断。
系统调用:
操作系统为编程人员提供的接口,用户可以通过系统调用请求操作系统为其提供服务(P4)
多道程序设计:
多道程序设计允许多个进程同时进入内存并允许他们在CPU中交替的运行,这些程序共享系统中各种软硬件资源。
(P9)
进程和程序:
进程的定义:
1.进程是程序的一次执行
2.进程是一个程序及其数据在处理机上顺序执行时发生的活动。
3.进程是具有独立功能的程序在一个数据集合上的运行过程,他是系统进行资源分配和调度的独立单位。
程序与之区别:
程序是永存的,进程是暂时的。
程序是静态观点,进程是动态观点
进程具有并发性,程序没有。
临界资源与临界区:
临界资源是一次仅允许一个进程是使用的共享资源
临界区:
每个进程中访问临界资源的那段代码,每次仅允许一个进程进入临界区,之后不允许其他进程再进入。
静态,动态重定位:
重定位的定义:
程序在装入内存时将逻辑地址转换为物理地址
静态重定位:
在目标程序(.obj)装入内存时,由转入程序对其指令和数据地址进行修改,即把程序中的逻辑地址修改为内存的物理地址。
对每个进程来说着这种地址变换只是在装入时一次完成的,程序运行期间不在进行动态重定位。
动态重定位:
在程序执行期间每次访问内存之前进行重定位。
通常采用重定位寄存器实现,其中有当前正在执行的程序在内存空间中的其实地址,而地址空间在装入过程中不发生变化。
虚拟设备:
通过虚拟技术将一台独占设备虚拟成多台逻辑设备,供多个用户同时使用,通常把这种经过虚拟的设备成为独占设备。
原语:
有若干条机器指令构成,完成一定功能的一段程序。
为保证其操作的正确性,它应当是原子操作,即一个不可分割的操作。
设备驱动程序:
与硬件直接相关,负责具体实现系统对设备发出的操作指令,驱动I/O设备工作的驱动程序。
它是I/O进程与设备控制器之间的通信程序,常以进程形式存在。
虚拟机:
通过软件模拟的具有完整硬件系统功能的,运行在一个完全隔离环境中的完整的计算机系统。
覆盖和交换:
覆盖:
将一个程序分为一系列功能相对独立的程序单元(称为覆盖),让其执行时并不要求同时装入内存的覆盖组成一组(称为覆盖段),共享一个存储区域。
这中内存扩充技术称为覆盖。
交换:
把暂时不用的某个程序及其数据部分或全部从内存转移到外存中去,以便腾出必要的内存空间,把准备好的竞争CPU的程序从外存调入内存。
这一过程称为换入。
索引文件:
索引文件由数据文件组成,他是带有索引的顺序文件。
动态链接:
即不对哪些组成程序目标文件进行链接,等到程序要执行时才进行链接。
特权指令:
特权指定指具有特殊权限的指令。
这类指令只用于操作系统或者其他系统软件,一般不直接提供给用户使用。
基础概念块:
1.什么是系统调用?
操作系统为什么要提供系统调用?
系统调用:
操作系统为编程人员提供的接口,用户可以通过系统调用请求操作系统为其提供服务(P4)
目的:
使得应用程序可以通过它间接调用OS中的相关进程,取得相应的服务。
2.多道批处理系统的出现是为了解决什么问题,分时系统又是为了解决什么问题?
多道批处理系统:
解决多个进程共享CPU并发执行的问题,进一步提高CPU的利用率和系统吞吐量。
(多个进程共享CPU并发执行的过程)
分时系统:
解决多道批处理系统不能很好的提供人机交互问题,让多个用户共享主机,提高资源利用率。
(人机交互问题)
3.操作系统的基本特征是什么?
并发性:
同一时间间隔内多个进程并发执行(最基本特征)
共享性:
系统内资源可够并发执行的进程共享(最基本特征)
虚拟性:
将一个物理实体变为若干逻辑上的对应物(虚拟内存,虚拟设备)
异步性:
进程以不可预知的速度向前推进。
4.一般从哪些方面对操作系统进行性能评价?
1.系统效率
2.响应时间
3.可靠性
4.健壮性
5.系统开销
6.地址和其他资源
7.通信
5.什么是多道程序设计技术?
多道程序设计技术的主要优点是什么?
为什么说直到中断和通道技术的出现后,多道程序概念才变得更为有用?
多道程序设计技术:
多道程序设计允许多个进程同时进入内存并允许他们在CPU中交替的运行,这些程序共享系统中各种软硬件资源。
(P9)
主要优点:
资源利用率高,系统吞吐量大。
为什么其之后才有用?
1.通道技术是控制一台或者多台外部设备的硬件结构,它做到了输入输出操作与CPU并行工作。
避免传统的轮询方式,极大的提供CPU的利用率。
2.中断技术:
中断技术的引入是的在输入输出结束时,或硬件发生某种故障时,由响应的硬件向CPU发出中断请求。
让CPU暂时停下手中的事情转而处理中断事件。
中断技术和通道技术的引入真正的做到了CPU与I/O设备的并行(注意时把并行不适并发)工作。
6.现代操作系统有哪些基本的功能?
进程管理
内存管理
文件管理
设备管理
7.分时操作系统和实时操作系统有什么区别?
设计适用于实时环境的操作系统的主要困难是什么?
区别:
设计目标:
分时操作系统设计目标是提供一种可供多个用户使用的通用性很强的操作系统。
实时操作系统有特殊用途,是一种专用系统。
差异:
分时系统交互性强实时系统交互性相对较差
响应时间差异:
实时操作系统的响应时间比分时操作系统的响应时间短。
主要困难:
实时操作系统要求在规定时间内完成规定任务。
8.请说明C程序和Shell程序的区别
1.Shell变量没有固定类型;C程序变量需要定义时明确指定类型,不同类型间需要做类型转换。
2.Shell程序逐行解释执行,函数需定义在函数调用前
C程序只需要在文件开头加上文件声明即可。
3相同点:
都有逻辑控制结构如ifswitch等语句都具有退出状态返回值。
9.什么是微内核技术?
他有什么特点?
进程管理块:
1.用户级线程与内核级线程的区别是什么?
是否依赖于内核:
内核级线程依赖于内核用户级线程不依赖于内核
内核级线程中,线程管理所有工作都由内核完成
用户级线程中,线程管理所有工作都由应用程序完成
线程切换区别:
内核维护进程和线程上下文切换信息并完成切换工作
用户级线程切换不需要内核特权
一个线程阻塞是否引起其他线程阻塞:
用户级线程一个线程阻塞时,整个进程都必须等待。
内核级线程一个线程阻塞时,其他线程的执行不受影响
执行速度差别:
内核级线程执行速度慢,用户及线程执行速度快(可以从线程切换需要内核支持)
2.Dijkstra于1965年提出银行家算法,其主要思想是什么?
它能够用来解决实际中的问题吗?
为什么?
思想:
允许进程动态的申请资源,系统在每次实施资源分配之前,先计算资源分配的安全性,若此次资源分配安全,便将资源分配给进程,否则不予分配。
不能解决实际问题,因为难以获知进程申请的最大资源数,运行中进程的个数是不断变化的。
3.试说明多级反馈队列调度算法
4.何谓系统的安全状态?
请说明银行家避免死锁原理?
安全状态:
若在某个状态下存在一个安全序列,只要按此序列分配资源每个进程都可以顺序执行,不会发生死锁的状况,称为安全状态。
原理:
银行家算法的原理就是穷举系统所有可能的资源分配序列,判断是否存在一个可能的资源分配的安全序列。
5.简述什么是死锁与饿死
死锁:
一组进程中,每个进程都无限等待该组中另一进程所占有的资源,因而无法得到资源,这种现象称为进程死锁。
饥饿:
饥饿是指系统不能保证某个进程的等待时间上届,从而使进程长时间等待,当等待时间给进程的推进和响应带来明显的影响时,称为发生了饥饿。
饿死:
当饥饿到了一定的程度,进程所赋予的任务即使完成也不再具有实际意义时称为该进程被饿死。
6.何为作业调度?
基本的作业调度算法有哪些?
作业调度又称为高级调度,其主要任务是按一定的原则从外存上处于后备状态的作业中挑选一个或者多个作业,给他们分配内存,输入/输出设备等必要的资源,并建立相应的进程,以使它们获得竞争处理机的权利。
(内存与外存的调度)
常见调度算法:
先来先服务算法,最短作业优先算法,高响应比优先算法
中级调度:
又称为内存调度,即将暂时不能允许的进程调出,可以运行的调入。
交换技术就是一种中级调度。
低级调度:
即分配处理机的调度——进程调度
7.进程和线程的主要区别是什么?
1.基本单位角度:
进程时独立拥有资源的基本单位,线程CPU调度的基本单位。
2.包含与被包含角度:
一个进程可以拥有多个线程,线程共享进程的全部资源
3.结束角度:
一个进程的结束,其所包含的全部线程都将结束。
进程中一个线程的结束并不会影响同一个进程中其他进程的结束。
8.什么是死锁?
产生死锁的四个必要条件
死锁的四个必要条件:
互斥条件:
一般不可破坏
不可剥夺条件:
拿到苹果后,其他人不能抢占
请求并保持条件:
拿到苹果后,继续申请苹果,申请不到原来苹果也不释放
循环等待条件:
顺序资源分配法
死锁的定义:
一组进程中,每个进程都无限等待该组中另一进程所占有的资源,因而无法得到资源,这种现象称为进程死锁。
9.什么是临界区?
什么是进程的优先级反转?
10.什么是作业说明书
11.请简要分析多级反馈队列调度对I/O密集型进程和CPU密集型进程的影响有何不同?
12.什么是多线程?
多线程与多进程有什么区别?
内存管理块:
1.在请求分页存储管理中,页表要包含哪些内容?
叙述其地址映射过程。
页表中应该包含的内容:
页号:
不予解释
块号:
不与解释
状态位:
用于指示该页是否已经调入内存
访问位:
记录本页在一段时间内的访问次数(Clock算法使用,LRU算法)
修改位:
标识该页调入内存中是否被使用过(Clock算法使用)
外存地址:
指出该页在外存上的地址,通常是物理块号,供调入页面时参考。
地址映射过程:
访问快表,查询对应的页号,若查找到则将块号与页内偏移地址形成物理地址。
访问页表,查询对应的页号,若查找到则将块号与页内偏移地址形成物理地址。
同时更新快表。
若不在页表中,则产生缺页中断,请求操作系统通过页面调度算法将页面调入内存,同时更新快表。
重复查询快表操作。
2.在操作系统中引起系统抖动的主要因素有哪些?
1.页面置换算法不合理
2.系统分配的页框数远小于进程或者作业运行的工作集大小
3.什么是抖动?
产生抖动的原因?
系统抖动:
由于操作系统分配给进程的页框数小于进程的工作集时,由于内存与外存交换频繁,访问外存时间和输入输出时间大大增加。
造成了CPU因等待数据而空转,使整个系统的性能大大下降,这就造成了系统抖动。
产生的原因:
页面置换算法不合理,系统分配的页框数远小于进程或作业运行的工作集大小。
4.分页存储管理机制有效的解决了什么问题,叙述其实现原理及动态地址重定位的实现方法(采用请求分页,设系统中有快表)
为了解决分区管理中存在的外碎片问题。
地址变换过程:
1.借助页表完成,CPU给出有效地址后,由地址变换机构将有效地址分为页号与页内地址两部分。
2.访问快表,在快表中查询对应的页号,若查询到对应的页号则与块号拼接形成物理地址。
3.若快表中不存在对应的页号则查询页表,若查询到页号,则与其对应的块号拼接形成物理地址,同时将对应的页号调入快表。
4.若当前页号不在页表中,则产生缺页中断请求操作系统通过页面调度算法将所缺的页面调入内存,同时更新快表,重复2操作。
5.在地址转换的过程中,为什么要引入动态重定位?
系统中空闲分区的总容量大于作业的要求,但又找不大的分区,利用动态重定位可以将内存中的碎片拼接成一个较大的连续的内存空间供作业使用。
6.存储管理中的Belady现象指什么?
系统抖动现象又指什么?
Belady现象:
指增加作业或者进程所分配的页框数,作业或进程的缺页次数出现不降反升的异常现象。
FIFO算法会产生此类现象。
系统抖动:
由于操作系统分配给进程的页框数小于进程的工作集时,由于内存与外存交换频繁,访问外存时间和输入输出时间大大增加。
造成了CPU因等待数据而空转,使整个系统的性能大大下降,这就造成了系统抖动。
7.试叙述为了支持虚拟存储管理,请求分页存储管理中对页表做了哪些改造,其原因是什么?
增加了请求调页功能与页面置换功能。
(为了实现请求分页,系统必须提供一定的硬件支持,除了需要一定的容量的内存以及外存的计算机系统,还需要有页表机制,缺页中断机构和地址变换机构)
8.什么叫重定位?
采用内存分区管理时,如何实现程序运行时的动态重定位?
重定位:
即将程序中指令数据的逻辑地址转换位内存中的物理地址。
(也称为地址映射)
动态重定位实现过程:
采用内存分区管理时可以设置重定位寄存器实现重定位的功能。
让程序中保存偏移地址而基址存放在重定位寄存器中,需要地址变换时将两者相加就得到了物理地址。
9.简述请求分页存储原理
地址变换过程:
1.借助页表完成,CPU给出有效地址后,由地址变换机构将有效地址分为页号与页内地址两部分。
2.访问快表,在快表中查询对应的页号,若查询到对应的页号则与块号拼接形成物理地址。
3.若快表中不存在对应的页号则查询页表,若查询到页号,则与其对应的块号拼接形成物理地址,同时将对应的页号调入快表。
4.若当前页号不在页表中,则产生缺页中断请求操作系统通过页面调度算法将所缺的页面调入内存,同时更新快表,重复2操作。
10.试说明内存管理的工作集模型
工作集的定义:
指在某段时间内,进程要访问页面的集合。
模型原理:
让操作系统跟踪每个进程的工作集,并为进程分配大于其工作集的物理块。
落在工作集的页面需要调入驻留集中,而落在工作集外的页面可以从驻留集中换出。
若还有可用的空闲物理块,则可以再调一个进程到内存以增加多道程序数。
若所有进程的工作集之和超过了可用物理块总数,则操作系统会暂停一个进程,将其页面调出并将其物理块分配给其他进程,防止出现抖动现象。
11.何谓程序的局部性
定义:
是指程序运行呈现局部性规律,即在一段时间内整个程序的执行仅限于程序中的某一部分。
程序的局部性包括两个方面:
时间局部性与空间的局部性。
时间局部性指:
当前所访问的指定数据在未来的一段时间内会被多次访问。
空间局部性指:
当前指令所在的物理空间在未来的一段时间内其附近的地址空间会被多次访问。
12.虚拟分页存储技术解决了什么问题?
叙述其实现原理
磁盘/文件管理块:
13.采用文件勾链实现文件的共享有哪几种方式?
分别说明各自的特点。
共有两种,一种是基于索引节点的文件别名,另一种是基于符合链接的文件别名。
基于索引节点的文件别名:
思想:
其将文件的信息分为文件名以及文件其他信息(存放其他信息的数据结构称为i节点,超级块是指Unix成组链接法中的第一个空闲盘块号栈,其常驻与内存。
而值得注意的是Unix的文件目录中存放的是文件名以及指向i节点的指针,通过让i节点指针指向同一个i节点实现文件共享,同时i节点的数据结构中设置有文件链接计数,指示文件系统中所有指向该文件名的指针计数)
参考:
也称为硬链接,通过多个文件名链接到同一个索引节点,可建立同一个文件多个彼此相等的别名。
别名的数目记录在索引节点的链接计数中,若其减至零,则文件被删除。
基于符号链接的文件别名:
思想:
创建一个链接文件,该文件中只包含指向对应文件的符号路径
参考:
也称为软链接,是一种特殊的文件,其内容是到另一个目录或者路径的链接。
建立符号链接并不影响源文件。
区别:
1.硬链接实现异名共享,存储空间最省,不能跨文件系统共享,不同用户共享同一文件时拥有相同的权限。
(硬链接角度)
2.软链接可以连接到世界上任何地方的计算机文件,克服基于索引节点链接的,但由于符号链接是一个文件,仍需要建立一个索引节点和存放文件的磁盘存储空间。
(Attention其还是建立了一个文件仍拥有索引节点,文件目录页也并未发生变化,变化的只是Link文件中存放的是指定文件的路径)
联系:
两种共享方式都存在优缺点,即一个文件都由多个文件名,当遍历整个文件系统中会多次遍历到该文件。
14.对磁盘空间空闲区的管理常采用哪几种方式?
空闲表法,空闲链表法,位示图法,成组链接法
15.简述文件系统中,连续分配,链接分配,索引分配这几种外存分配方式各自有什么主要的优缺点。
分配类型
简述
优点
缺点
连续分配
将逻辑上的连续的问数据依次存放在连续的磁盘块中,指明文件起始地址和文件长度即可访问整个文件
便于随机访问
不适于文件动态增长
链接分配
将逻辑上连续的数据分散存放在若干个不连续的物理块中,每个物理块中有指向下一个物理块的指针,获取第一个指针即可检索整个文件。
适合文件动态增长
不适合文件随机访问,指针损毁文件数据将丢失。
索引分配
将逻辑上连续的数据存放在若干个不连续的物理块中,系统为每个文件建立一张索引表,索引表上记录文件信息所在逻辑块号和物理块号。
索引表也以文件的形式存放在磁盘上,给出索引表的地址,即可查找与逻辑块号对应的物理块号。
访问速度快,文件长度可以动摇变化。
存储开销大,每个文件都需要一张索引表,在访问时需要将索引表调入内存,占用内存空间。
16.空闲磁盘管理方法中,那个方法占用的额外磁盘空间最少,哪种方法最最适合于连续结构文件?
为什么?
成组链接法(一个块中可以存放多个盘块的块号以及下一盘块组的起始盘块号),空闲文件表法,适用于连续文件,分配与回收都是连续的物理块。
17.Unix系统中文件有哪几种文件共享方式?
两种文件共享方式,基于索引节点的文件别名,基于符号链接的文件别名
18.文件目录和目录文件各起什么作用?
文件目录:
在文件系统中,文件控制块(FCB)用来存放控制文件需要的各种信息数据结构,一个FCB就是一个文件目录项。
文件目录由于对单个文件的控制,他记录文件的名字,文件的长度等信息,以实现文件的按名存取。
文件目录是文件控制块的集合。
目录文件:
文件系统把同一卷上的若干文件的文件目录组成一个独立的文件,称为目录文件。
目录文件是全部文件目录组成的文件,(即里面全部存放的是目录项)用于整个文件系统的管理。
将以目录文件的形式保存在外存中。
简单记为:
目录文件,文件目录,文件目录项=FCB
19.文件的物理结构有哪几种?
使用这些物理结构存放文件时,在文件控制块FCB中有关文件的物理位置信息应分别需包括什么?
物理结构包括:
连续结构,链接结构,索引结构
物理结构
FCB内容
连续结构
链接结构
索引结构
20.若文件被误删除,请说明在什么情况下可以恢复,恢复的原理是什么?
删除文件原理:
删除文件时一般不直接对文件删除,而是在在表格中标名此盘块为空,可以分配给其他文件使用。
恢复原理:
若当前文件的磁盘空间未分配给其他文件使用,则文件还可以恢复。
若其他文件占用了原被删除文件的磁盘空间是,此时就无法恢复了。
21.简要说明Unix如何把文件名转换为文件在磁盘上的位置。
为什么需要系统打开文件表?
Unix的文件目录项中包含两个数据项,一是文件名,一是指向索引节点(i节点)的指针。
打开文件时,系统通过检索文件目录中的文件名找到其对应的索引节点,而在索引节点中存放有文件的起始盘块号,通过对其访问即可打开文件。
为什么需要文件打开表?
(暂时未弄明白,文件打开表的定义也暂时未弄明白)
22.什么是文件的物理结构与逻辑结构?
文件的逻辑结构:
即一个文件在用户面前的呈现形式,分为有结构的记录式文件和无结构的流式文件。
文件的物理结构:
即文件在外存存储介质上的存储结构,他可分为连续结构,链接结构,索引结构三种。
23.什么是纯代码,有何用途?
定义:
纯代码又称位可重入码,是能被多个进程共享的程序段,代码不因程序的执行而改变。
作用:
可被多个程序共享,并不是所有的程序段都是可以被多个进程共享的,非可重入码可被多个进程共享时出现错误。
24.试说明文件的物理结构,请说明一种物理结构的构成。
文件的物理结构即文件在外存存储介质上的组织方式,可分为连续结构,链接结构和索引结构。
连续结构:
他把逻辑上连续的文件信息一次存放在连续编号的物理块中。
只要知道文件的起始盘块和文件长度就能很快的进行存取,优点是便于随机访问,缺点不适于文件动态增长。
25.软链接和硬链接
基于索引节点的文件别名:
思想:
其将文件的信息分为文件名以及文件其他信息(存放其他信息的数据结构称为i节点,超级块是指Unix成组链接法中的第一个空闲盘块号栈,其常驻与内存。
而值得注意的是Unix的文件目录中存放的是文件名以及指向i节点的指针,通过让i节点指针指向同一个i节点实现文件共享,同时i节点的数据结构中设置有文件链接计数,指示文件系统中所有指向该文件名的指针计数)
参考:
也称为硬链接,通过多个文件名链接到同一个索引节点,可建立同一个文件多个彼此相等的别名。
别名的数目记录在索引节点的链接计数中,若其减至零,则文件被删除。
基于符号链接的文件别名:
思想:
创建一个链接文件,该文件中只包含指向对应文件的符号路径
参考:
也称为软链接,是一种特殊的文件,其内容是到另一个目录或者路径的链接。
建立符号链接并不影响源文件。
区别:
1.硬链接实现异名共享,存储空间最省,不能跨文件系统共享,不同用户共享同一文件时拥有相同的权限。
(硬链接角度)
2.软链接可以连接到世界上任何地方的计算机文件,克服基于索引节点链接的,但由于符号链接是一个文件,仍需要建立一个索引节点和存放文件的磁盘存储空间。
(Attention其还是建立了一个文件仍拥有索引节点,文件目录页也并未发生变化,变化的只是Link文件中存放的是指定文件的路径)
联系:
两种共享方式都存在优缺点,即一个文件都由多个文件名,当遍历整个文件系统中会多次遍历到该文件。
26.文件目录和目录文件各起什么作用?
目前广泛采用的目录结构是哪种?
它有什么优点?
文件目录:
在文件系统中,文件控制块(FCB)用来存放控制文件需要的各种信息数据结构,一个FCB就是一个文件目录项。
文件目录由于对单个文件的控制,他记录文件的名字,文件的长度等信息,以实现文件的按名存取。
文件目录是文件控制块的集合。
目录文件:
文件系统把同一卷上的若干文件的文件目录组成一个独立的文件,称为目录文件。
目录文件是全部文件目录组成的文件,(即里面全部存放的是目录项)用于整个文件系统的管理。
将以目录文件的形式保存在外存中。
简单记为:
目录文件,文件目录,文件目录项=FCB
广泛采用的文件目录:
树型目录结构
优点:
检索效率高,允许文件重名,确切反映了信息的层次结构并可以利用层次结构实现文件共享和保护。
27.简述文件存储空间管理中的空闲块成组链接法对磁盘空间的管理方式?
(比较复杂注意用自己的话理解)
具体管理方式:
成组链接法将磁盘空间中的所有磁盘块按N块划分为一组,组的划分按从前向后的顺序划分。
每