什么是进程?什么是线程?进程与线程有何区别?
(1)进程是具有独立功能程序在某个数据集合上的一次执行过程
(2)线程是进程内的一个执行实体或执行单元
(3)进程和线程的区别:
(a)不同进程的地址空间是独立的,而同一进程内的线程共享同一地址空间。一个进程的线程在另一个进程内是不可见的。
(b)在引入线程的操作系统中,进程是资源分配和调度的单位,线程是处理器分配和调度的单位,资源是分配给进程的,线程只拥有很少资源,因而切换代价比进程切换低。
什么是死锁?产生死锁的原因和必要条件是什么?
(1)在多道程序系统中,当一组进程中的每个进程均无限期地等待此组进程中某个其它进程所占有永远不会释放的资源,此时的系统处于死锁的状态,简称死锁.
(2)死锁产生的的原因:
(a)提供的资源有限
(b)进程推进顺序不当
(3)产生死锁的必要条件:
(a)互斥条件:某段时间内某资源只能由一个进程使用
(b)不可剥夺条件:资源在未使用完前,不能被剥夺,必须由使用进程释放
(c)请求和保持条件:进程因请求资源而阻塞时,对已分配给它的资源保持不放
(d)环路等待条件:发生死锁时,有向图必构成一环路
处理器调度分为哪三级?各自的主要任务是什么?它们在什么条件下发生?
(1)高级(作业)调度:从一批后备作业中选择一个或几个作业,给它们分配资源,建立进程,挂入就绪队列。执行完后,回收资源
发生:当系统决定选择一个后备作业调入内存运行时
(2)中级(交换)调度:按照给定的原则和策略,将外存交换区中的进程调入内存,把内存中的非执行进程交换到外存交换区中。
发生:在内存紧张不能满足需要时
(3)低级(进程)调度:从就绪进程队列中根据某个策略选取一个进程,使之占用 CPU
发生:选择一个就绪进程投入运行时
什么是操作系统?它的主要功能有哪些?
操作系统是一组控制和管理计算机硬件和软件资源,合理的对各类作业进行调度,以及方便用户使用的程序的集合。它包含五种功能:进程管理、存储管理、设备管理、作业管理、文件管理。
批处理操作系统:用户脱机使用计算机,作业是成批处理的,系统内多道程序并发执行,交互能力差
分时操作系统:可让多个用户同时使用计算机,人机交互性较强,具有每个用户独立使用计算机的独占性,系统响应及时
实时操作系统:能对控制对象做出及时反应,可靠性高,响应及时,但资源利用率低。
硬件实现互斥优缺点
优点:
(1)适用于任意数目的进程
(2)简单
(3)可支持进程内多个临界区
缺点:
(1)饥饿(随机取的)
(2)不是让权等待
创建一个进程时,操作系统需要完成的主要工作是什么?
(1)申请空闲的 PCB
(2)为新进程分配资源
(3)初始化进程控制块
(4)操作系统发现请求创建新进程后,调用进程创建原语
(5)把新进程插入就绪队列
比较分段式与分页式存储管理方式的主要差别
(1)页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外汇零头,目的是提高内存利用率。段是逻辑单位,目的是为了更好的满足用户的需要。
(2)页的大小是固定的由系统决定的,段的大小不固定且由用户决定
(3)分页的作业地址是一维的,分段的地址空间是二维的,在标识一个地址时,要给出段名和段内地址
(4)页内存利用率高,产生内部碎片,段拥有逻辑意义,有利于共享,产生外部碎片
ps:分页之所以是一维的,原因在于分页的大小是固定的,且页码之间是连续的,操作的时候只需给出一个地址,就能够根据所给地址的大小与页面大小计算出在页码和页内地址,粗略举例,比如页面大小是 4KB,给一个地址为 5000,可以算出所在页码是 2,页内地址是 5000-4000=1000,即在第二页的第 1000 个位置。 而分段的因为每段的长度不一样,必须给出段码和段内地址
什么是多道程序设计?为什么要采用多道程序设计?
多道程序设计是一种软件技术,该技术使同时进入计算机内存的几个相互独立的程序在管理程序控制之下相互交替地运行。引入多道程序设计,可具有以下好处
(1)可提高 CPU 的利用率
(2)可提高主存和 I/O 设备利用率
(3)可增加系统吞吐量
简述死锁的防止与死锁的避免的区别
(1)死锁的防止是系统预先确定一些资源分配策略,进程按规定申请资源,系统按预先规定的策略进行分配,从而防止死锁的发生(静态的,提前预订好规划)
(2)而死锁的避免是当进程提出资源申请时系统测试资源分配,仅当能确保系统安全时才把资源分配给进程,使系统一直处于安全状态之中,从而避免死锁。
什么是快表,它在地址转换中起什么作用?
快表是一个快速、具有并行查询能力的联想存储器,用于存放正运行的进程的当前页号和块号,或者段号和段起始地址。
加入快表后,在地址转换时,首页在快表中查找,若找到就直接进行地址转换;未找到,则在主存页表继续查找,并把查到的页号和块号放入联想存储器中。快表的命中率很高,有效地提高了地址转换的速度。
存储管理的功能
(1)内存分配
(2)内存保护
(3)内存共享
(4)内存扩充
什么是设备独立性,它是如何实现的?
(1)设备独立性即应用程序独立使用的物理设备,在应用程序中使用逻辑设备名称来请求使用某类设备。系统在执行时,是使用物理设备名称。
(2)要实现设备独立性必须由设备独立性软件完成,包括执行所有设备的公有操作软件提供统一的接口,其中逻辑设备到物理设备的映射是由逻辑设备表 LUT 完成的
(3)它的好处是增加了设备分配的灵活性,易于实现 I/O 重定向
有结构文件可分为哪几类,其特点是什么?
有结构文件可分为以下三类,分别是:
(1)顺序文件。一系列记录,按某种顺序排列所形成的文件
(2)索引文件。当记录为可变长度时,通常为之建立一张索引表,每个记录对应一表项,以加速对记录的检索速度。
(3)索引顺序文件。这是上述两种文件方式的结合,它为文件建立一张索引表,为每一组记录中的第一个记录对应一表项。
简述引起进程调度的原因
引起进程调度的事件主要有以下几个:
(1)在执行进程执行完毕或因某种事件而不能再执行
(2)在进程通信或同步过程中执行某些原语,如 P 操作,block 原语
(3)执行中的进程因提出 I/O 操作而暂停执行
(4)可剥夺方式调度中有一个比当前进程优先级更高的进程进入到就绪队列
(5)在分时系统中时间片用完
操作系统的基本特征
各种操作系统都拥有共同的特征。
(1)并发
(2)共享
(3)虚拟
(4)异步性
什么是请求分页系统?它需要哪些方面的硬件机构支持?
请求分页系统是在分页系统的基础上,增加了请求调页功能、页面置换功能所形成的页式虚拟存储系统。为了实现请求调页和置换功能,系统必须提供必要的硬件支持。其中,最重要的是:
(1)请求分页的页表机制
(2)缺页中断机构
(3)地址变换机构
请求分页是目前最常用的一种实现虚拟存储器的方法,在请求分页系统中,只要求将当前需要的一部分页面装入内存,便可以启动作业运行
什么叫虚拟存储器?实现方式有哪些?
所谓虚拟存储器,是指将作业的一部分装入内存便可运行作业和存储器系统。也即是指具有请示调入功能的置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统。虚拟存储器的容量并不是无限的,它由计算机的地址结构长度所确定,另外虚存容量的扩大是以牺牲 CPU 工作时间以及内、外存交换时间为代价的
虚拟存储器的实现方式有两种
(1)请求分页系统
(2)请求分段系统
操作系统的目标是什么?
(1)方便性
(2)有效性
(3)可扩充性
(4)开放性
进程有哪三种基本状态?请分别阐述
进程在运行中不断地改变其运行状态,通常,一个进程必须具有以下三种基本状态。
(1)就绪状态。即进程以分配到除 CPU 以外的所有必要的资源后,只要能再获得处理机,便可立即执行,这样的状态即就绪状态
(2)执行状态。指进程已获得处理机,其程序正在执行
(3)阻塞状态。指进程因发生某事件,如 I/O 请求,申请缓冲空间等而暂停执行时的状态,亦即进程的执行受到阻塞。
单级页表存在的问题,及解决方法
问题
(1)页表需要连续存,使用单级页表,需要占用很多个连续的页框
(2)进程在一段时间内只需要访问某几个页面就可以正常运行了,没有必要让整个页表常驻内存。
解决
(1)采用多级页表
(2)采用虚拟存储技术
什么叫分时系统,它的特征是什么
分时系统是指一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户共享主机中的资源,每个用户都可通过自己的终端以交互方式使用计算机。
分时系统的特征如下:
(1)多路性:即多个用户分时使用一台主机
(2)独立性:每个用户各占一个终端,独立操作,互不干扰
(3)及时性:用户的请求能在很短时间内获得响应
(4)交互性:用户可通过终端与系统进行广泛的人机对话
选择调度方式和算法的准则是什么?
选择调度方式和调度算法的准则,有的是面向用户的,有的是面向系统的。
面向用户的准则:
(1)周转时间短
(2)响应时间快
(3)截止时间的保证
(4)优先权准则
面向系统的准则:
(1)系统吞吐量高
(2)处理器利用率高
(3)各类资源的平衡利用
试比较进程和程序的区别
进程的构成:进程控制块(PCB),程序块,数据段
(1)进程是一个动态概念,而程序是一个静态概念,程序是指令的有序集合,无执行含义,进程则强调执行的过程
(2)进程具有并行特征(独立性,异步性),程序则没有
(3)不同的进程可以包含同一个程序,同一个程序在执行中也可以产生多个进程
什么是文件目录?文件目录中包含哪些信息?
一个文件的文件名和对该文件实施控制管理的说明信息称为该文件的说明信息,又称为该文件的目录
文件目录中包含文件名、与文件名相对应的文件内部标识以及文件信息在文件存储设备上的始址等信息。另外还可能包含关于文件逻辑结构、物理结构、存取控制和管理等信息。
隐式链接与显式链接
隐式链接:两个指针分别指向第一个盘块与最后一个盘块,写文件该块链接到文件的尾部,读文件则通过块到块的指针顺序读块
无外部碎片,动态增长,但不能支持高效随机访问
显式链接:用于链接文件各物理块的指针,存放在一张连接表中,文件分配表(FAT)不仅提高了检索速度,还大大减少了访问磁盘的次数
描述磁盘与主机进行 I/O 过程
CPU 通过控制线向 I/O 逻辑发出具体指令,在地址线说明控制哪个设备,通过数据总线把数据放到数据寄存器中,I/O 逻辑就可以从数据寄存器中取得想要的输出数据,参数放置控制寄存器中,CPU 可以从状态寄存器读出状态(忙碌/空闲)。I/O 逻辑可把数据寄存器的数据输出到外部设备上。
什么是段式存储管理?它从逻辑地址到物理地址是怎么变换的?
把程序按内容或构成关系分成段,每段有自己的名字。一个用户作业或进程包含的段对应于一个二维虚拟储存器。以段为单位分配内存,然后通过地址映射机构把逻辑地址转换成物理地址。只将那些经常访问的段驻留内存,其他的段放在外存,待需要时自动调入。
地址变换过程:由虚地址中的段号为索引,查段表。找出该段在内存的起始地址,并将其和段内地址相加,从而得到物理地址。
设备管理中的数据传送控制方式有哪几种?分别简述如何实现的
(1)程序直接控制:由用户进程来直接控制内存或 CPU 和外设间的信息传送
(2)中断控制方式:进程通过 CPU 发出指令启动外设,该进程阻塞。当输入完成时,I/O 控制器通过中断请求向 CPU 发出中断信号,CPU 进行中断处理
(3)DMA 控制方式:在外设和内存之间开辟直接的数据交换通路
(4)通道控制方式:CPU 发出启动指令,指出通道相应的操作和 I/O 设备,该指令就可启动通道并使该通道从内存中调出相应的通道指令执行
试比较内存管理和外存管理的异同点
(1)主要任务:内存管理的主要任务是为多道程序的运行,提供良好的环境;而外存管理的主要任务则是为文件提供存储空间
(2)基本功能:内存管理的基本功能包含了内存空间的分配、回收、内存保护、对换、内存扩充等方面;而对外存管理的基本功能则只是对外存空间的分配和回收
(3)分配方式:它们都可以采用连续分配或离散分配方式,且都以离散分配方式为主
(4)分配算法或机制:对于连续分配方式,内存与外存管理中的分配和回收算法类似,主要有首次适应算法、循环首次适应算法等;在离散分配方式中,两者采用的机制不同,内存管理主要是利用页表,而在外存管理中,则主要利用文件分配表 FAT。
SPOOLing 的含义是什么?试述 SPOOLing 系统的特点、功能以及控制过程。
SPOOLing 是 Simultaneous Peripheral Operation On-Line(即外部设备联机并行操作)的缩写,它是关于慢速字符设备如何与计算机主机交换信息的一种技术,通常称为”假脱机技术“。
SPOOLing 技术是在通道技术和多道程序设计基础上产生的,它由主机和相应的通道共同承担作业的输入输出工作,利用磁盘作为后援存储器,实现外围设备同时联机操作。
SPOOLing 系统由专门负责 I/O 的常驻内存的进程以及输入井、输出井组成;它将独占设备改造为共享设备,实现了虚拟设备功能
什么是文件的逻辑结构和物理结构
文件的逻辑结构(文件的组织):从用户角度看到的文件的全貌,也就是它的记录结构,包括流式文件、顺序文件、索引文件和索引顺序文件。
文件的物理结构(文件的存储结构):文件在外存上的存储组织形式,包括连续文件、串联文件和索引文件。
并行和并发
并行:指两个或多个事件在同一时刻进行,例如,在具有中断的计算机系统中,CPU 可以和 IO 设备并行执行。
并发:指两个或多个事件在同一时间间隔内发生。在多道程序环境下,并发是指宏观上在一段时间内多道程序在同时运行,而微观上这些程序是在交替地执行。
逻辑地址和物理地址
逻辑地址是指用户程序经编译后,每个目标模块以 0 为基地址进行的顺序编址。逻辑地址又称相对地址
物理地址是指内存中各物理存储单元的地址从统一的基地址进行的顺序编址。物理地址又称绝对地址,它是数据在内存中的实际存储地址
特权指令和访管指令的作用
陷入指令=访管指令=trap 指令
在用户态下执行的指令,要求操作系统提供服务而有意识地使用访管指令,从而产生一个中断事件,将操作系统转换为核心态
特权指令,权限最大,为保证系统安全,这类指令只能用于操作系统或其他系统软件,不提供给用户使用,可提供中断返回指令。
从地址空间、资源获取、处理器调度,系统开销,并发性与共享性角度对比子进程与子线程异同
(1)调度:线程的切换不会引起进程切换(同一进程)
(2)资源:线程不拥有系统资源,但可访问进程资源
(3)并发性:进程之间可并发运行,线程之间也可并发运行
(4)系统开销:进程创建或撤销开销大,线程开销小
(5)线程之间同步与通信非常容易
(6)进程的地址空间之间互相独立,同一进程的各线程间的共享进程资源
简述文件在物理介质上的三种存放方式,并分析它们的优点和缺点
连续分配
优点:查找速度块,可进程随机访问
缺点:易产生碎片,不利于文件增删
链式分配
优点:简单(只需起始位置),文件创建与增删容易实现
缺点:存取速度慢,不能随机访问盘块,指针占一定空间,存在可靠性问题
索引分配
优点:支持直接访问,且不会产生外部碎片,易于文件增删
缺点:索引表增大了系统开销,较多寻道次数和寻道时间
CPU 护航效应
小进程等待大进程释放 CPU
缺页中断处理流程
(1)访问页面不在内存中,便产生一个中断信号,此时用户程序被中断,控制转到 OS 和缺页中断处理程序
(2)缺页中断处理程序根据该页在外存的位置,将其调入内存,若内存中有空闲空间,则只需把缺页装入任何一个空闲存储块中,再对页表中相应表项进行修改
(3)若无空闲页面,则先淘汰内存中某些页面,若被淘汰页面曾被修改多次,则要将其写入外存
电梯调度算法(SCAN)
磁臂从磁盘一端向另一端移动,同时当磁头移过柱面时,处理位于该位面上的服务请求。当到达另一端时,磁头改变移动方向,处理继续。
解释上下文切换的意思
上下文切换,有时也称做进程切换或任务切换,是指 CPU 从一个进程或线程切换到另一个进程或线程。
解释临界资源
临界资源是一次仅允许一个进程使用的共享资源。各进程采取互斥的方式,实现共享的资源称作临界资源
进程上下文切换过程
决定是否切换,对进程调度原因的检查分析
保存当前执行进程的上下文
使用进程调度算法,选择处于就绪状态的进程
恢复所选进程的上下文
抢占式调度与非抢占式调度
当一个进程在处理器上执行时,若有某个优先级更高的进程进入就绪队列,则立即暂停当前正在执行的进程,将处理机分配给新进程
进程间通信方式
共享内存区
消息传递
管道系统
共享文件
动态分区和固定分区
固定分区存在内部碎片,动态分区分配存在外部碎片,内存利用率高