操作系统复试



1.操作系统特征:并发(操作系统中同时存在多个运行的程序,并不是某一时刻,而是在某一时间间隔内有多个程序在运行)、共享(系统中的资源可供内存中的多个并发执行的程序进行共享)、异步、虚拟(把一个物理上的实体变为若干逻辑上的对应物,例如虚拟处理器)
2.操作系统的目标和功能:
计算机资源的管理者(处理机管理(进程控制、进程同步、进程通信、死锁管理、处理机调度)、存储器管理(内存分配、内存保护、地址映射、内存扩充)、文件管理、设备管理)、用户与计算机硬件系统之间的接口(接口分类:命令接口、程序接口)、操作系统用作扩充器
命令接口:用户使用其来组织和控制作业的执行,主要包括两类,联机命令接口、脱机命令接口
程序接口:用户在程序中使用这用这些系统调用来请求操作系统为其服务。
系统调用:操作系统内核为用户程序提供服务的接口
3.操作系统的分类:
批处理系统:用户脱机使用,作业成批处理,用户响应时间较长,不提供人机交互能力
分时操作系统:允许多个用户使用计算机,人机交互性强,响应及时,不区分任务紧急性
实时操作系统:能对控制对象做出及时反应,可靠性高,但系统资源利用率低
网络操作系统、分布式计算机系统
4.中断的引入:为了支持CPU和设备之间的并行工作。
中断执行的过程:(6)
中断源发出中断请求;
判断当前处理机是否允许中断和该中断源是否被屏蔽;
优先权排队;
处理机执行完当前指令或当前指令无法执行完,则立即停止当前程序,保护断点地址和当前处理机状态,转入相应的中断服务程序;
执行中断服务程序;
恢复被保护的状态,执行“中断返回”指令回到被中断的程序或转入其他程序
5.区分执行态和用户态的目的:保护系统程序,用户态到核心态的转变发生在中断产生时,核心态到用户态发生在中断返回程序时


1.进程的概念:进程是一个具有独立功能的程序关于某个数据集合的一次运行活动,是一个动态的概念,是系统进行资源分配和调度的一个独立单位。
引入进程的目的:在多道程序同时运行的背景下,只使用程序这个静态的概念已经不能如实反映程序并发执行过程的特征。为了描述程序动态执行的过程乃至管理和支持多道程序的并发执行,提高资源利用率和系统吞吐量,人们引入了进程的概念。
2.进程状态:运行态、就绪态、阻塞态(等待态)、创建态、结束态
就绪态:只缺少处理机资源,只要获得处理机资源就可以立刻运行。
阻塞态:进程需要其他资源或等待某一事件。
就绪→运行:被调度以后,获得处理机资源就可转变
运行→就绪:时间片到或者有更高优先级的进程到来
阻塞→就绪:等待的事件 到来或资源得到释放
运行→阻塞:进程请求某一资源或等待某一事件的发生
补充:进程由运行到阻塞是主动的行为,而从阻塞到就绪是被动的行为
3.进程通信:因为每个进程拥有独立的地址空间,一个进程是无法直接访问另一个进程的变量和数据结构的,如果想让一个进程访问另一个进程的资源的话,需要使用进程通信。
进程通信的分类:
低级通信方式:PV操作
高级通信方式:共享存储(建立共享存储区)、消息传递(不存在可直接访问的共享空间,分为直接通信和间接通信)、管道通信(共享存储的优化和发展)
4.线程:可以理解为“轻量级的进程”,是一个基本的CPU执行单元,是程序执行流的最小单位,包含在进程之中。(增加并发度,减少并发带来的开销)
5.进程与线程的区别:(7)
进程是系统进行资源分配和调度的基本单位,线程是处理机调度的单位。
线程依赖于进程存在,一个进程至少有一个线程。
进程有自己的独立地址空间,线程共享所属进程的地址空间
进程是拥有系统资源的一个独立单位,而线程自己基本上不拥有系统资源
进程切换的开销远大于线程切换的开销
线程之间的通信更方便,同一进程下的线程共享全局变量等数据
多进程程序相比于多线程来说更加健壮
6.
进程与程序的区别:(5)
进程是程序及其数据在计算机上的一次运行活动,是一个动态的概念。进程的运行实体是程序,离开程序的进程是没有意义的。从静态来看,程序是一组有序指令的集合,而进程是由程序、数据和PCB三部分构成的。
进程是程序的一次执行过程,具有一定的生命周期,是暂时存在的。而程序是永久存在的,可长期保存。
进程和程序不是一一对应的,多个进程可执行同一程序,一个进程也可执行一个或几个程序。
进程具有并发性,程序没有。
进程是竞争计算机资源的单位,而程序不是。
7.调度层次:作业调度(高级调度)、内存调度(中级调度)、进程调度(低级调度)
作业调度为进程活动做准备,把外存上处于后备队列的作业调入内存,为他们建立进程。
进程调度使进程正常活动起来。
中级调度的主要目的是为了提高内存利用率而将暂时不能运行的进程调至外存等待。
8.常用调度算法:先来先服务、短作业优先、优先级调度算法、高响应比优先调度算法、时间片轮转
9.不同进程之间存在的关系:
同步(为完成某种任务而建立的两个或多个进程因为工作次序而等待、传递信息产生的制约关系)
互斥(当一个进程进入临界区使用临界资源时,另一个进程必须等待,只有当使用临界资源的进程退出临界区后,另一个进程才允许去访问临界资源)
10.死锁:多个进程因竞争临界资源而造成的一种僵局(互相等待),若无外力作用,这些进程都无法向前推进。
产生死锁的原因:一是竞争资源,而是进程推进顺序非法。
产生死锁的必要条件:互斥条件(进程要求分配的资源是排他性的,最多同时给一个进程使用)、不剥夺条件(进程在使用完资源之前,资源不能被强制夺走)、请求并保持条件(占有本身拥有的资源并请求获得其他资源)、循环等待条件(存在一条进程资源的循环等待链)
11.死锁的处理策略:死锁预防(破坏产生死锁的四个必要条件之一或几个,防止发生死锁)、避免死锁(防止系统进入不安全状态,避免死锁,在运行时判断是否可能产生死锁)、死锁的检测及解除(允许发生死锁,检测死锁的发生,然后采取某种措施解除死锁)
预防死锁和避免死锁都属于事先预防策略
12.银行家算法:著名的死锁避免算法。思想:在每次进行资源分配时,首先检查系统是否有足够的资源满足要求,如果有的话,先试行分配,并对分配后的状态进行安全性检查。如果新状态安全,则正式分配资源,否则拒绝分配上述资源。

三 存储管理
1.动态重定位:在程序执行过程中,每当访问指令或数据时,将要访问的程序或数据的逻辑地址转换成物理地址。具体实现方法:在系统中加入一个重定位寄存器,用来装入程序在内存中的起始地址,程序执行时,真正访问的内存地址是相对地址与重定位寄存器中的地址相加之和,从而实现动态重定位。
2.动态分区分配常用分配策略:首次适应算法、最佳适应算法、最坏适应算法、邻近适应算法
3.*在具有快表的分页机制中,地址变换过程:
给出逻辑地址后,由硬件进行地址转换,将页号送入快表中,并与快表中的页号进行比较
若找到匹配的页号,说明要访问的页表项在快表中,直接从中取出该页对应的页框号,与页内偏移量拼接形成物理地址,直接一次访存就可。
若没有找到匹配的页号,则需要访问主存中的页表,在读出页表项之后,同时将其放入快表中,以便后续的访问。

4.分页和分段的异同:***
相同点:分页和分段都采用离散分配的方式,且都需要地址映射结构来实现地址转换。
不同点:5
页是信息的物理单位,段是信息的逻辑单位。
页的大小固定且由系统决定,段的长度不固定,决定于用户编写的程序。
分页的作业地址空间是一维的,而分段的作业地址空间是二维的。
分页有内部碎片,无外部碎片;分段无内部碎片,有外部碎片。
对于共享和动态链接,分页不容易实现,分段容易实现。
5.多级页表解决了当逻辑地址空间过大时,页表的长度会大大增加的问题。但是也面临着访问资源的时候,需要多次访存,增加时间。
6.局部性原理:
时间局部性:如果程序中的某条指令一旦被执行,不久后能回再次执行;如果某数据被访问过,不久后该数据可能会再次被访问,原因是程序中存在大量的循环操作。
空间局部性:一旦程序访问了某个存储单元,不久之后其附近的存储单元也会被访问。
7.常用页面置换算法:最佳置换算法、先入先出页面置换算法、最近最久未使用置换算法、时钟置换算法
抖动:在页面置换的过程中,一种最糟糕的情形是刚刚换出的页面马上又要换入主存,或是刚刚换入的页面又马上要换出主存,这种频繁的页面调度行为称为抖动。
8.虚拟内存:若同时运行的进程过多的时候,会需要很多的内存,当一个程序没有内存空间可用时,可以采取可行的方式逻辑上扩充内存。
实现方法:使用外存上的空间来扩充内存空间,通过一定的换入换出,让系统在逻辑上能够使用远超物理内存的容量。

四 文件管理
1.文件目录结构种类:单级目录结构、两级目录结构、多级目录结构(树形目录结构)、无环图目录结构
单机目录结构存在重名问题,不能实现共享。
两级目录结构解决了重名问题,不能对文件进行分类。
多级目录结构:方便对文件进行分类,但是访问文件的时候要逐级查询,影响访问速度。
无环图目录结构:便于实现文件共享。
2.文件分配方式(文件的物理结构):
连续分配、链接分配(隐式链接分配、显示链接分配)、索引分配
连续分配:实现简单,存取速度快;文件长度不宜动态增加,反复增删文件会产生外部碎片
链接分配:消除了外部碎片,提高了内存利用率;(隐式链接分配)无法直接访问盘块,只能通过指针顺序访问文件,指针占用空间
索引分配:支持随机访问、没有外部碎片问题;缺点是索引表会增加存储空间开销。
3.磁盘调度算法:先来先服务、最短寻找时间有限、扫描算法、循环扫描算法
4.文件存储空间管理(文件实现):空闲表法、空闲链表法、位示图法、成组链接法

五 IO管理
1.I/O控制方式(控制IO设备和内存或处理机之间的数据传送):程序控制方式、中断驱动方式、DMA方式、通道控制方式
2.引入缓冲区的目的:缓和CPU与IO设备之间的速度不匹配的问题;减少对CPU的中断频率,放宽对CPU中断响应时间的限制;提高CPU和IO设备之间的并行性;解决基本数据单元大小不匹配的问题。
3.SPOOLing技术:为了缓和CPU的高速性和IO设备低速性之间的矛盾,是操作系统中一项将独占设备转换为共享设备的技术。
组成部分:输入井、输出井、输入缓冲区、输出缓冲区、输入进程、输出进程

--lll-liu

相关