1,OS:操作系统,是配置在计算机硬件上的第一层软件,是对硬件的首次扩展。
2:OS的作用可表现在哪几方面?
(1):OS作为用户与计算机硬件系统之间的接口
(2):OS作为计算机系统资源的管理者
(3):OS实现了对计算机资源的抽象(扩展机)
3:OS有几大特征?其最基本的特征是?
四大特征:并发,共享,虚拟,异步 最基本为并发性,是其他的基础。
临界资源:在同一时刻,只能有一个进程对其访问的资源。
临界区:在每个进程中,访问临界资源的一段代码。
进程 :一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程。
线程 :减少程序在并发执行时所付出的时间和空间开销。
PCB :记录用于描述进程情况及控制进程运行的全部信息。
4.PCB的主要内容,PCB是如何组织的?
内容:(1):进程描述信息(2):处理机状态信息(3):进程调度信息(4):进程控制信息
链表:同一状态的进程其PCB成一链表,多个状态对应多个不同的链表。
索引:同一状态的进程归入一个index表(由index指向PCB),多个状态对应多个不同的index表
5.进程与程序的区别
1) 进程是动态的,程序是静态的:程序是有序代码的集合;进程是程序的执行。
2) 进程是暂时的,程序是永久的:进程是一个状态变化的过程,程序可长久保存。
3) 进程与程序的组成不同:进程的组成包括程序、数据和进程控制块(即进程状态信息)。
4) 进程与程序的对应关系:通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。
6。进程与线程的区别
(1) 地址空间和其他资源(如打开文件):进程间相互独立,同一进程的各线程间共享--某进程内的线程在其他进程不可见
(2) 通信:进程间通信IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信--需要进程同步和互斥手段的辅助,以保证数据的一致性
(3) 调度和切换:线程上下文切换比进程上下文切换要快得多。
7.为什么引入进程概念?
在多道程序环境下,程序的执行属于并发性,此时他们将失去封闭性,并具有间断性和不可再现性的特性。这决定了通常的程序是不能并发执行的,则程序结果不可再现。为使程序能并发执行,且为了对其进行控制,则引入了进程。
8:试说明进程在三个基本状态之间转换的典型原因?
(1) 处于就绪态的进程,在调度程序位置分配处理机后。其即从就绪态转为执行态。
(2) 对执行的进程,如果系统分配给它的时间片用完,而被暂停执行时,其由执行态转为就绪态。
(3) 如果因发生某事件而使进程的执行受阻,使其无法继续执行,该进程有执行太转变为阻塞态
典型原因有:I/O请求、申请缓冲空间
9:同步机构应遵循哪些基本准则?为什么?
(1) 空闲让进;当无进程处于临界区时,表明临界资源处于空闲阶段,应允许一个请求进入临界区。
(2) 忙则等待;当已经有进程进入临界区时表明临界资源正在被访问,则应该让其他的请求等待。
(3) 有限等待;对要求访问临界区的进程,应保证其在有限时间内进入临界区,以免死等。
(4) 让权等待;当进程不能进入自己的临界区时,应释放处理机,以免忙等。
10:为什么要在OS中引入线程?
引入线程是为了减少程序在并发执行时所付出的时间和空间开销,使OS有更好的并发性。
高级调度:又称作业调度、宏观调度,从用户工作流程的角度,一次提交的若干个流程,其中每个程序按照进程调度。时间上通常是分钟、小时或天。
低级调度:进程换线程,微观调度,从CPU资源的角度,执行的单位。时间上通常是毫秒。因为执行频繁,要求在实现时达到高效率。
中级调度:内外存交换,从存储器资源的角度,将进程的部分或全部换出到外存上,将当前所需部分换入到内存。
为什么引入中级调度?
为了提高内存利用率和系统吞吐量,其实现的就是存储系统中的对换功能。
6:在抢占调度方式中,抢占的原则是?
(1) 优先权原则;通常是对一些重要的或紧急的作业赋予较高优先权。
(2) 短作业优先;当新的作业比正在执行的作业所需的时间少时,则应该优先执行。
(3) 时间片原则;各进程按照时间片轮流运行,当系统给的时间片用完,则进程应停止执行重新等待调度。
18:何谓死锁?产生死锁的原因和必要条件是什么?
指多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处于这种状态时,如果没有外力作用,它们将无法进行下去。
原因: 竞争资源;进程间推进顺序非法。
必要条件: 互斥条件;请求和保持条件;不剥夺条件;环路等待条件。
19:预防死锁的途径?
(1)摈弃‘请求和保持’条件;(2)摈弃‘不剥夺’条件;(3)摈弃‘环路等待’条件。
动态重定位:在可执行文件中记录虚拟内存地址,装入和执行时通过硬件地址变换机构,完成虚拟地址到实际内存地址的变换。
交换: 一个进程可以从内存临时交换到后备存储器(外存)上存放,其后需要执行时再将其调入内存中。
可重入代码:又称‘纯代码’,是一种允许多个进程同时访问的代码。进程不能多起修改。
20.可以采用哪几种方式将程序装入内存?
(1) 绝对装入:在可执行文件中记录内存地址,装入时直接定位在上述内存地址。
(2) 可重定位装入:可执行文件中,列出各个需要重定位的地址单元和相对地址值,装入时再根据所定位的内存地址去修改每个重定位地址项,添加相应偏移量。
(3) 动态运行期装入(动态重地位):在可执行文件中记录虚拟内存地址,装入和执行时通过硬件地址变换机构,完成虚拟地址到实际内存地址的变换。
21.简述在具有快表的请求分页系统中,将逻辑地址变换为物理地址的过程。如右上图:
22.何谓静态链接?何谓装入时动态链接和运行时动态链接?
静态链接 在程序执行前,先将各目标模块及他们所需的库函数,链接成一个完整的装配模块,以后不再拆开。
装入时动态链接:指用户源程序编译后所得的目标模块,在装入内存时,采用边装入边链接的方式。
运行时动态链接:指对某目标模块的链接,是在程序执行中需要该程序块时才对其进行链接。
23.为实现分页存储管理,需要哪些硬件支持?
(1)页表机制,在请求分页系统中所需要的主要数据结构就是页表。 (3)地址变换机制。
(2)缺页中断机制,当所访问的页不再内存中时,便产生一次缺页中断,请求系统将所缺的页调入内存。
24.分页和分段存储管理有何区别?
(1) 页是信息的物理单位,分页是为了实现离散分配方式,提高内存利用率;段则是信息的逻辑单位,含有一组其意义相对完整的信息。
(2) 页的大小固定,系统把页划分为页号和页内地址,同一系统页大小一致;段长度不定,由用户的程序决定。
(3) 分页的作业地址空间是一维的;分段的作业空间是二维的。
25:虚拟存储器有哪些特征?其本质的特征是?
多次性、对换性、虚拟性(本质特征)。
26:实现虚拟存储器需要哪几个关键技术?
请求分页系统(请求分页的页表、缺页中断、地址变换)
请求分段系统(请求分段的段表、缺段中断、地址变换)
27:在请求分页中,页表应包括哪些数据项?每项的作用是?
从左至右:页号、物理块号、状态位P、访问字段A、修改位M、外存地址。
状态位P:指示该页是否已经调入内存。访问字段A:记录该页在一定时间中访问的次数。
修改位M:显示该页在调入内存后是否被修改。外存地址:指出该页的物理块号。
28:在请求分页中,通常采用哪几种页面分配方式?为什么?
1.固定分配局部置换2.可变分配全局置换3.可变分配局部置换
29:说明请求分页系统中的缺页中断处理过程。
访问快表(无)、访问页表(无)、在内存中(无)、缺页中断、保护现场、外存中找到缺页、内存满(选出一页换出)否则OS命令CPU从外存读缺页、启动I/O硬件、将该页换入内存、修改页表、返回。
磁盘高速缓存:指利用内存中的存储空间来暂存从磁盘中读出的一系列盘块中的信息。
虚拟设备:通过SPOOLing技术把原独占设备改造成能为若干用户共享的设备,以提高设备的利用率。
SPOOLing:利用假脱机技术,也称为虚拟设备技术,可把独享设备转变成具有共享特征的虚拟设备,从而提高设备利用率。
30.为何引入虚拟设备?
通过利用SPOOLing技术可把独享设备转变成具有共享特征的虚拟设备,从而提高设备利用率。
31.简述OS中设备管理模块的层次结构,及各层的功能。
1) 用户层软件;实现与用户交互的接口,用户可直接调用在用户层提供的、与I/O操作有关的库函数。
2) 设备独立性软件;负责实现与设备驱动器的统一接口、设备命名、设备保护及设备的分配与释放。
3) 设备驱动程序;负责具体实现系统对设备发出的操作命令,驱动I/O设备工作的驱动程序。
4) 中断处理程序:用于保护被中断进程的CPU环境,转入相应的中断程序处理后,在恢复被中断进程的现场返回到被中断进程。
32:为何要引入设备独立性?如何实现设备的独立性?
为了提高OS的可适应性和可扩展性,便引入了…;引入后的好处有提高了设备分时的灵活性,易于实现I/O的重定向。
如何实现?驱动程序是一个与硬件紧密相关的软件,为了实现设备独立性,必须要再在驱动程序之上设置一层设备独立性软件。
33:试说明SPOOLing系统的组成?
(1):输入井和输出井;是在磁盘上开辟的两大存储空间,输入井是模拟脱机输入时的磁盘设备,用于暂存I/O设备输入数据,输出井是模拟脱机输出时的磁盘,用于暂存输出数据。
(2):输入缓冲区和输出缓冲区;为缓和CPU和磁盘捡得速度差异,在内存中开辟的两缓冲区,输入缓冲区用于暂存输入设备送来的数据,输出缓冲区用于暂存输出井送来的数据。
(3):输入进程SPi 和输出进程SPo;进程SPi模拟脱机输入时的外围控制机将用户要求的数据从输入机通过输入缓冲区在送到输入井,当CPU需要数据时再从输入井读入内存,SPo亦类似。
文件目录:是一种数据结构,用于标志系统中文件及其物理地址,供检索时使用。
索引结点:采用文件名于文件描述信息分开的办法,亦即,使文件描述信息单独成为一个数据结构,此数据结构称为索引结点。
FCB: 文件控制块,为文件设置用于描述和控制文件的数据结构,通常含有三方面信息,即基本信息、存取控制信息、使用信息。
34.简要说明实现文件共享的两种方法
(1):基于索引结点的共享方式(硬链接);在树型结构的目录中,当有多个用户要共享一个子目录货文件时,必须将共享文件或目录链接到多个用户的目录中,才能方便地找到该文件。
(2):利用符号连实现文件共享(软链接);例如为使B能共享C的一个文件F,可以由系统创建一个LINK类型的新文件,也取名为F,并将F写入B的目录中,以实现B的目录与文件F的链接。
35.OS中对空闲盘块的管理方法。
(1):空闲表法;其属于连续分配的方式,为每个文件分配一块连续的存储空间,即系统也为外存上所有空闲区建立一张空闲表,每个空闲区对应一个空闲表,其中包括表项序号、该空闲区的第一个盘块号、该区的空闲块数。
(2):空闲链表法;将所有的空闲盘区拉成一条空闲链。可分为空闲盘块链(盘块为单位)、空闲盘区链(盘区为单位)。
36.OS在磁盘上为文件分配空间的方法有哪些?简述各种方法的技术要点。
(1): 连续分配;要求每个文件分配一组相邻的盘块,一组盘块的地址定义了磁盘上的一段线性地址,这样所形成的文件结构称为顺序文件结构。
(2): 链接分配;不要求把整个文件分配到一块连续的空间,而可以将文件离散的装到多个盘中链接分配时,可通过在每个盘块上的指针链接。分为隐式链接、显示链接。
(3): FAT和NTFS技术;以盘块或簇为基本分配单位
(4): 索引分配;此法为每一个文件分配一块索引表,再把分配给文件的所有盘块号都记录在该索引块中,因而该索引块就是一个含有许多盘块号的数组。分为单级索引分配、多级索引分配、混合索引分配。
37:文件系统的模型可分为三层,试说明其每层所包含的基本内容?
1) 文件系统接口;分为命令接口(用户和文件系统交互的接口)、程序接口(用户程序与文件系统的接口)。
2) 对对象操纵和管理的软件集合;文件管理系统的核心,包括对文件存储空间的管理、对文件目录的管理、用于将文件的逻辑地址转换为物理地址的机制、对文件读写的管理、对文件的共享和保护。
3) 对象及属性;对象有文件、目录、磁盘存储空间等。
考试题型:选择、填空、是非、简答、运算
运算题型:银行家算法 进程调度算法 页面置换算法 PV操作
四 名词解释:
1.原语:它是由若干条机器指令所构成,用以完成特定功能的一段程序,为保证其操作的 正确性,它应当是原子操作,即原语是一个不可分割的操作。 2.设备独立性:指用户设备独立于所使用的具体物理设备。即在用户程序中要执行I/O操作时,只需用逻辑设备名提出I/O请求,而不必局限于某特定的物理设备。 3.文件的逻辑结构:又称为文件逻辑组织,是指从用户观点看到的文件组织形式。它可分为两类:记录式文件结构,由若干相关的记录构成;流式文件结构,由字符流构成。 4.树形结构目录:利用树形结构的形式,描述各目录之间的关系。上级目录与相邻下级目录的关系是1对n。树形结构目录能够较好地满足用户和系统的要求。 5.操作系统:操作系统是控制和管理计算机硬件和软件资源,合理地组织计算机的工作流程,以及方便用户的程序的集合。其主要功能是实现处理机管理、内存管理、I/O设备管理、文件管理和用户接口。 6.位示图:它是利用一个向量来描述自由块使用情况的一张表。表中的每个元素表示一个盘块的使用情况,0表示该块为空闲块,1表示已分配。 7.置换策略:虚拟式存储管理中的一种策略。用于确定应选择内存中的哪一页(段) 换出到磁盘对换区,以便腾出内存。通常采用的置换算法都是基于把那些在最近的将来,最少可能被访问的页(段)从内存换出到盘上。 8.用户接口:操作系统提供给用户和编程人员的界面和接口。包括程序接口、命令行方式和图形用户界面。 9. 死锁:指多个进程因竞争资源二造成的一种僵局,若无外力的作用,这些进程将永远不能再向前推进。
10.文件系统:OS中负责管理和存取文件信息的软件机构。负责文件的建立,撤消,存入,续写,修改和复制,还负责完成对文件的按名存取和进行存取控制。
11.进程:进程是程序在一个数据集合上的运行过程,是系统进行资源分配和调度的一个独立的基本单位。
12.wait(s)原语 wait(s) :Begin
Lock out interrupts;
s = s – 1;
If s < 0 then Begin
Status(q) = blocked;
Insert(WL, q);
Unlock interrupts; Scheduler;
End
Else unlock interrupts;
End
13.链接文件
逻辑文件中的不同记录可以存储在离散的磁盘块中。每个盘块中都设置了一个指向下一个盘块的链接指针,用这些指针可将一个文件中的所有盘块拉成一条链,而在文件控制块中的“文件地址指针”便指向存放该文件的第一个盘块的编号。
14.快表
采用联想存储器加快查表速度
,在地址变换机构中,加入一个高速,小容量、具有并行查询能力的联想存储器,构成快表,存放正运行的作业的当前页号和块号。
在快表中找到,直接进行地址转换;未找到,则在主存页表继续查找,并把查到的页号和块号放入联想存储器的空闲单元中,如没有,淘汰最先装入的页号。
15.虚拟存储器
指具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统。从用户观点看,虚拟存储器具有比实际内存大得多的容量。这既方便了用户,又提高了内存的利用率和系统的吞吐量。
16.文件目录
为了项用户提供对文件的存取控制及保护功能,而按一定规则对系统中的文件名,(亦可包含文件属性)进行组织所形成的表,称为目录表或文件目录。
17.I/O控制:
我们把从用户进程的输入/输出请求开始,给用户进程分配设备和启动有关设备 进行I /O操作,以及在I /O 操作完成之后响应中断,进行善后处理为止的整个系统控制过程称为I /O 控制。
18. 缓冲池:
这是具有多个缓冲区的公用缓冲器,其中的各个缓冲区可供多个进程或设备共享。为便于管理,通常把缓冲池中的缓冲区,按其性质的不同而构成若干个链表或队列,如空缓冲队列,输入缓冲队列等。
19. SPOOLING:
即同时联机外围操作,又称脱机操作。在多道程序环境下,可利用多道程序中的一道程序,来模拟脱机的输入输出功能。即在联机条件下,将数据从输入设备传送到磁盘,或从磁盘传送到输出设备。
20.逻辑地址与物理地址:
在具有地址变换机构的计算机中,允许程序中编排的地址和信息实际存放在内存中的地址有所不同。逻辑地址是指用户程序经编译后,每个目标模块以0为基地址进行的顺序编址。逻辑地址又称相对地址。物理地址是指内存中各物理存储单元的地址从统一的基地址进行的顺序编址。物理地址又称绝对地址,它是数据在内存中的实际存储地址。
21虚拟存储器:
答:虚拟存储器是一种存储管理技术,用以完成用小的内存实现在大的虚空间中程序的运行工作。它是由操作系统提供的一个假想的特大存储器。但是虚拟存储器的容量并不是无限的,它由计算机的地址结构长度所确定,另外虚存容量的扩大是以牺牲CPU工作时间以及内、外存交换时间为代价的。
22.PCB: 进程控制块是用来描述进程的当前状态,本身特性的数据结构,是进程中组成的最关键部分,其中含有描述进程信息和控制信息,是进程的集中特性反映,是操作系统对进程具体进行识别和控制的依据。
23.联想存储器:不按地址而按给定内容的特征进行存取的存储器!
24.设备独立性:为了提高系统的可适应性和可扩展性,操作系统把所有外部设备统一当作成文件来看待,只要安装它们的驱动程序,任何用户都可以象使用文件一样,操纵、使用这些设备,而不必知道它们的具体存在形式。
25.系统调用:
操作系统的主要功能是为应用程序的运行创建良好的环境,为了达到这个目的,内核提供一系列具备预定功能的多内核函数,通过一组称为系统调用的(system call)的接口呈现给用户
26.设备驱动程序: 是一个允许高级(High level)计算机软件(computer software)与硬件(hardware)交互的程序,这种程序建立了一个硬件与硬件,或硬件与软件沟通的界面,经由主板上的总线(bus)或其它沟通子系统(subsystem)与硬件形成连接的机制,这样的机制使得硬件设备(device)上的数据交换成为可能。
五 问答题
1.在单处理机环境下,进程间有哪几种通信方式,是如何实现的?
1. 作业调度:从一批后备作业中选择一个或几个作业,给它们分配资源,建立进程,挂入就绪队列。执行完后,回收资源。
进程调度:从就绪进程队列中根据某个策略选取一个进程,使之占用CPU。
交换调度:按照给定的原则和策略,将外存交换区中的进程调入内存,把内存中的非执行进程交换到外存交换区中。
2.设备管理中的数据传送控制方式有哪几种?分别简述如何实现的。
2. 程序直接控制:由用户进程来直接控制内存或CPU和外设间的信息传送。
中断方式:进程通过CPU发出指令启动外设,该进程阻塞。当输入完成时,I/O控制器通过中断请求线向CPU发出中断信号,CPU进行中断处理。
DMA方式:在外设和内存之间开辟直接的数据交换通路。
通道控制方式:CPU发出启动指令,指出通道相应的操作和I/O 设备,该指令就可启动通道并使该通道从内存中调出相应的通道指令执行。
3.简述进程的几种状态和引起状态转换的典型原因,以及相关的操作原语。
3. 进程的基本状态有:新、就绪,阻塞,执行、挂起和终止六种。
新到就绪:交换,创建原语
就绪到执行:进程调度
执行到阻塞:I/O请求,阻塞原语
阻塞到就绪:I/O完成,唤醒原语
执行到就绪:时间片完
阻塞到挂起:挂起原语
挂起到就绪:唤醒原语
执行到终止:进程执行完毕
4.什么是段式存储管理?它从逻辑地址到物理地址是怎么变换的?
4.把程序按内容或构成关系分成段,每段有自己的名字。一个用户作业或进程包含的段对应于一个二维虚拟储存器。以段为单位分配内存,然后通过地址映射机构把逻辑地址转换成物理地址。只将那些经常访问的段驻留内存,其他的段放在外存,待需要时自动调入。
地址变换过程:由虚地址中的段号为索引,查段表。找出该段在内存的起始地址,并将其和段内地址相加,从而得到物理地址。
|