当前位置:文档之家› 【可直接使用】习题(中断与接口及答案).doc

【可直接使用】习题(中断与接口及答案).doc

【可直接使用】习题(中断与接口及答案).doc
【可直接使用】习题(中断与接口及答案).doc

一.单项选择题

1. 已知MCS-51单片机系统晶振频率为12MHZ,SMOD=1,串行口工作于方式2的波特率为()。

A. 3750K

B. 1875K

C. 2400K

D. 1200K

2. MCS-51单片机T0作为计数器工作于不受外部信号INTO控制,T1作为定时器,T0工作于方式0,T1工作于方式1,其方式控制字的内容为()。

A. 00H

B. 14H

C. 17H

D. 80H

3. 控制定时器工作方式的寄存器是()。

A. TCON

B. PCON

C. SCON

D. TMOD

4. MCS-51单片机的中断允许触发器内容为83H,CPU将响应的中断请求是()。

A. INTO,INT1

B. T0, T1

C. T1, 串行接口

D. INTO,T0

5. 设定时器/计数器T0工作于方式3,则TH0作为一个独立的8位定时器,它的运行由控制位()。

A. GATE

B. INTO

C. TR0

D. TR1

6. 当MCS-51进行多机通信时,串行口的工作方式应选择()。

A.方式0

B.方式1

C. 方式2或方式3

D. 方式2

7. 8031单片机的串行口的中断程序入口地址为()。

A.001BH

B. 0023H

C. 000BH

D. 0003H

8. 已知单片机系统的fosc=6MHZ,执行下列延时程序的时间为()。

DY2:MOV R6,#2

DLP1:MOV R7,#250

DLP2:DJNZ R7,DLP2

DJNZ R6,DLP1

RET

A.1ms B. 1.5ms C. 2ms D. 4ms

9. 串行口中断入口地址是()。

A. 0003H

B. 000BH

C. 0013H

D. 0023H

10. 若MCS-51单片机的晶振频率为24MHZ,则其内部的定时器/计数利用计数器对外部输入脉冲的最高计数频率是()。

A. 1MHZ

B. 6MHZ

C. 12MHZ

D. 24MHZ

11. MCS-51串行口工作于方式2时,传送的一帧信息为()。

A. 8位

B. 16位

C. 11位

D. 12位

12. MCS-51单片机有()内部中断源。

A. 2个

B. 3个

C. 4个

D. 5个

13. T1作为计数器,工作于方式2,不需门控位参于控制,其控制字为()。

A. 60H

B. 06H

C. 66H

D. 00H

14. 已知(60H)=23H,(61H)=61H,运行下列程序62H内容为()。

CLR C

MOV A,#9AH

SUBB A,60H

ADD A,61H

DA A

MOV 62H,A

A. 38H

B. D8H

C. DBH

D. 3EH

15. 设系统的晶振频率为6MHZ,下列子程序DELAY的延时时间约为()。DELAY:MOV R2,#0FAH

L2:DJNZ R2,L2

RET

A. 900μS

B. 1006μS

C. 500us

D. 5.501us

16. MCS-51中,CPU正在处理定时器/计数器T1中断,若有同一优先级的外部中断INT0又提出中断请求,则CPU()。

A. 响应外部中断INT0

B. 继续进行原来的中断处理

C. 发生错误

D. 不确定

17. 下面哪一种工作方式仅适用于定时器T0()。

A.方式0

B. 方式1

C. 方式2

D. 方式3

18. ()并非单片机系统响应中断的必要条件。

A. TCON或SCON寄存器内有关中断标志为1

B. IE中断允许寄存器有关中断允许位置1

C. IP中断优先级寄存器内的有关位置1

D. 当前一条指令执行完

19. 某8031单片机时钟频率为12MHZ,现将T0设置为定时方式1.定时时间为1毫秒,其

计数器中时间常数初值为()。

A. FCH

B. 18H

C. FC18H

D. EC18H

20. ()并非是单片机系统响应中断的必要条件。

A.TCON或SCON寄存器内的有关中断标志位为1

B.IE中断允许寄存器内的有关中断允许位置1

C.IP中断优先级寄存器内的有关位置1

D.当前一条指令执行完

21. 定时/计数器T0在GA TE=1时运行的条件是()。

A.TR0=1,P3.2=1

B. TR0=1

C. P3.2=1

D. 设置好定时初值

22. 已知fosc=12MHZ, T1工作于方式2,定时时间为180us,其TH0,TL0的值为()。

A.4CH,4CH

B.00H,4CH

C.4CH,00H

D. A6H,ACH

23. 中断服务程序的最后一条指令必须是()

A. END

B. RET

C. RETI

D. AJMP

24. 已知T0作为计数器工作于计数方式2,其控制字为()

A. 06H

B. 66H

C. 60H

D. 02H

25. 设8031串行口工作于方式1,允许串行口接收,双机通信,其串行口控制字为()

A. 50H

B. 70H

C. 54H

D. 40H

26. 已知某一LED显示器为共阴接法,若要显示数字“3”,其段码为()

A. 30H

B. 4FH

C. FFH

D. F0H

27.CPU响应()中断时,不会由CPU自动清除中断请求标志。

A.外部中断0

B. 外部中断1

C.串行口中断

D. 定时器/计数器溢出中断

28. 各中断源发出的中断请求信号,都会标记在MCS-51单片机系统中的()。

A. IE

B. TMOD

C. TCON/SCON

D. IP

29. MCS-51单片机的串行口工作于方式1时,须满足条件(),才能进行数据接收。

A. REN=0

B. RI=0

C. REN=1且RI=0

D. RXD=0

30. 当CPU响应外部INTO中断时,程序立即转移到()。

A.0003H

B. 0013H

C. 0023H

D. 000BH

31. 8031单片机内含串行口和定时器的个数分别为()。

A. 2和1

B. 1和2

C. 3和1

D. 2和2

32. 下面寄存器是16位的是()。

A. SCON

B. TCON

C. PC

D. PSW

33. 十进制-1用二进制补码表示,该补码是()。

A. FFH

B. 00H

C. FEH

D. 81H

34. 若MCS-51单片机的中断源都编程为同级,当它们同时申请中断时,CPU首先响应()。

A .INT1 B.INTO C.T1 D.T0

35. 用MCS-51串行口扩展并行I/O口,串行口工作方式应选择()。

A .方式0 B.方式1 C.方式2 D.方式3

36. MCS-51有中断源()。

A.5个

B.2个

C.3个

D.6个

37. 8031利用串行口通信时,设波特率为2400bit/s,晶振频率为11.0592MHz,T1选方式2 ,SMOD=0,则T1的重新装入值为()。

A . FFH B. FDH C .F4H D .10H

38. 若系统晶振频率是12MHz,利用定时器/计数器1定时1ms,在方式0下的定时器初值为()。

A .TH1=0E0H,TL1=18H

B .TH1=18H,TL1=E0H

C .TH1=1CH TL1=18H

D .TH1=18H,TL1=1CH

二.填空题(每小题1 分,共15分)

1. MCS-51单片机有________个中断源。

2.MCS-51单片机有________个中断优先级。

3.MCS-51中断优先级由软件填写特殊功能寄存器________加以选择。

4.8255A有________个端口。

5.在定时器/计数器T0工作于方式3下,TH0溢出时,________标志将被硬件置1去请求

中断。

6.MCS-51串行口中断的中断标志位是由________产生。

7.异步串行数据通信的帧格式由起始位、数据位、奇偶校验位和________组成。

8. 当定时器/计数器T0工作于方式3时,要占用定时器/计数器T1的_______________两个控制位。

9. 用串行口扩展并行口时,串行口工作方式选为_______________。

10. 计算机通信主要有同步通信和_______________两种方式。

11. MCS-51单片机外部中断有_________________两种中断信号触发方式。

12. MCS-51系统中,当PSEN信号有效时,表示CPU要从________________读取信息。

13. 8051定时器/计数器做定时器使用时,计数脉冲由8051片内振荡器输出后

________________分频后的脉冲提供。

14. MCS-51单片机晶振频率为12MHZ,响应单重中断的最短时间是_______________。

15. MCS-51单片机晶振频率为12MHZ,响应单重中断的最长时间是_______________。

16.MCS-51单片机中,T0中断服务程序入口地址为___________。

17.串行通信中数据的传输方向有单工方式,半双工方式和___________方式。

18. MCS-51单片机中断系统选用外部中断1和定时器/计数器T1中断为高优先级,则中断优先级控制字(IP)= 。

19. 使用定时器T1设置串行通信的波特率时,应把定时器T1设定为工作方式2,

即。

20. 计算机通信主要有两种方法: 。

21. A/D转换器的三个重要指标分别为分辨率,转换时间和。

22. 某8031单片机时钟频率为12MHZ,现将T0设置为定时方式1,定时时间为1毫秒,其计数中的时间常数初值应为,(写成四位十六进制数)。

23. 8031单片机中,T0初始化后让其开始计数,应将TCON中的位置位。

24. 当使用慢速外设时,最佳的传输方式是。

25. 要串行口工作为10位异步串行通信方式,工作方式应选为。

26. MCS-51单片机对IP寄存器编程,可把5个中断规定为个优先级。

27. 当把定时器/计数器T0定义为一个可自动重新装入初值的8位定时器/计数器时,

____________作为8位计数器。

28. 按照数据传送方向,串行通信分单工,半双工,____________三种方式。

29. 8031单片机的()口的引脚,还具有外中断、串行通信等第二功能。

A. P0

B. P1

C. P2

D. P3

30. 当外部扩展I/O 后,其外部RAM 寻址空间将_____________。

31. 外部中断0请求标志是_____________。

32. 串行口的中断请求标志为_____________。

33. MCS-51单片机有_____________个16位可编程定时/计数器。

34. T0和T1两引脚也可作为外部中断输入引脚,这时TMOD 寄存器中的C/T 位应当为_____________。

35. 若定时器/计数器工作于方式0时,为________位的定时器/计数器。

三、简答题

1. 什么叫波特率?串行通信的双方波特率的大小有什么关系?(5分)

答:波特率是串行通信传输数据的速率。定义为每秒传输的数据位数,即1波特=1位/秒。

串行通信的双方波特率必须相同。

2. 中断处理子程序和CPU 调用子程序有什么不同?(5分)

答:(1)CPU 调用子程序,调用的位置是固定的,是通过LCALL ,ACALL 指令调用的。中断处理子程序是根据中断请求信号的有效时间和中断响应位置而定的,在主程序中是不固定的。

(2)CPU 知道何时调用普通子程序,CPU 是主动的。

但CPU 不知道何时执行中断子程序,中断源是主动的。

(3)中断返回,在普通子程序中是RET ,中断子程序中是RETI

3. MCS-51单片机提供几种中断?按中断优先级写出各中断源。

答:MCS-51单片机提供五种中断:0INT 外部中断0,T 0定时器/计数器0,1INT 外部中断1,T 1定时器/计数器1,TI/RI 引起的串口中断。

中断优先级,同级中断中:0INT →T 0→1INT →T 1→串口

高 → → → → 低

4. MCS-51响应中断的条件是什么?(5分)

答:MCS-51中断响应的条件:

中断源有请求(中断允许寄存器IE 相应位置1),且CPU 开中断(即EA=1)。

(1)无同级或高级中断正在处理

(2)现行指令执行到最后1个机器周期且已结束。

(3)若现行指令为RETI 或访问IE ,IP 的指令时,执行完该指令且紧随其后的另一条指令也已执行完毕。

则满足上述条件,可以响应中断。

5. 什么是中断矢量?若某个中断源的中断服务程序的字节数超出了8个单元,应如何处理?

INT1的中断矢量是多少?(5分)

答:中断矢量表示了中断程序的入口地址。若中断服务程序超过8个单元应在中断程序入口处用AJMP 指令转移到真正中断程序入口。1INT 的中断矢量是:0013H

6. 简述8051单片机的中断响应过程。(5分)

答:CPU 响应中断后,由硬件自动执行如下的功能操作:

(1)根据中断请求源的优先级的高低,对相应的优先级状态触发器置1

(2)保护断点,即把程序计数器PC 的内容压入堆栈保存。

(3)内部硬件将中断请求标志位(IE 0,IE 1,TF 0 ,TF 1 )清0。

(4)把被响应的中断服务入口地址送入PC ,从而转入相应的中断服务程序执行

7. 中断处理中保护断点和保护现场主要解决什么问题?(5分)

答:中断中保护断点主要是保护主程序的断点,将程序计数器PC 的内容压入堆栈,为中断程序结束后返回主程序做准备,保护现场是将子程序中用到的寄存器的内容,首先压入堆栈,以使后面主程序的执行不受影响。

8. MCS-51单片机的中断系统有几个优先级,如何确定?(5分)

答:(1)有两个优先级。由IP 确定各中断的优先级。IP 低5位中为1表示对应中断源的中断优先级为高。IP 低5位中某位为0,表示中断优先级为低。

IP 定义

串口 T1 1INT T 0 0INT

(2)同优先级的中断请求,优先级有高到低为:0INT ,T 0,1INT ,T 1,串行口中断

9. 用于实现串行通信中的数据传送的三种方式分别是什么?有何特点?(5分)

答:按数据传送的方式分有三种:单工,半双工,全双工通信方式。所谓单工,一方只可接受信息,一方只可发送信息,信息是单向传送的,全双工,指两方能同时既可接收又可发送信息,称为全双工串行通信。既可接收又可发送的,但不能同时进行的称为半双工。

统计操作系统缺页次数

实验二: 统计操作系统缺页次数

目录 一.实验目的---------------------------------------------3 二.实验内容--------------------------------------------3三.实验步骤----------------------------------------------3

统计操作系统缺页次数 一实验目的 学习虚拟内存的基本原理和Linux虚拟内存管理技术; 深入理解、掌握Linux的按需调页过程; 掌握内核模块的概念和操作方法,和向/proc文件系统中增加文件的方法;综合运用内存管理、系统调用、proc文件系统、内核编译的知识。 二实验内容 1.原理 Linux的虚拟内存技术采用按需调页,当CPU请求一个不在内存中的页面时,会发生缺页,缺页被定义为一种异常(缺页异常),会触发缺页中断处理流程。每种CPU结构都提供一个do_page_fault处理缺页中断。由于每发生一次缺页都要进入缺页中断服务函数do_page_fault一次,所以可以认为执行该函数的次数就是系统发生缺页的次数。因此可以定义一个全局变量pfcount 作为计数变量,在执行do_page_fault时,该变量值加1。本实验通过动态加载模块的方法,利用/proc文件系统作为中介来获取该值。 2.实验环境 操作系统:Ubuntu (内核版本为3.2.0-23-generic-pae) 内核源码:linux-3.2.58

三实验步骤 1.下载一份内核源代码并解压 Linux受GNU通用公共许可证(GPL)保护,其内核源代码是完全开放的。现在很多Linux的网站都提供内核代码的下载。推荐使用Linux的官方网站:。 在terminal下可以通过wget命令下载源代码: $ cd /tmp $ wget 切换到root身份,解压源代码到/usr/src目录下: # xz –d tar –xvf –C /usr/src 2.修改内核源代码,添加统计变量 1、切换到预编译内核目录 #cd /usr/src/linux-3.2.58

模拟请求页式存储管理中硬件的地址转换和缺页中断,并用先进先出调度算法(FIFO)处理缺页中断

实验报告 课程名称操作系统原理实验名称虚拟页式管理 姓名学号专业班级网络 实验日期成绩指导教师赵安科 (①实验目的②实验原理③主要仪器设备④实验内容与步骤⑤实验数据记录与处理⑥实验结果与分析⑦问题建议) 实验二模拟请求页式存储管理中硬件的地址转换和缺页中断,并用先进先出调度算法(FIFO)处理缺页中断 1.内容:模拟请求页式存储管理中硬件的地址转换和缺页中断处理 2.思想: 装入新页置换旧页时,若旧页在执行中没有被修改过,则不必将该页重写磁盘。因此,页表中增加是否修改过的标志,执行“存”指令和“写”指令时将对应的修改标志置成“1” 3.要求及方法: ①设计一个地址转换程序来模拟硬件的地址转换和缺页中断。当访问的页在主存时则形成绝对地址,但不去模拟指令的执行,可以输出转换后的绝对地址来表示一条指令已执行完成。当访问的页不在主存中时,则输出“*页号”来表示硬件产生了一次缺页中断。模拟地址转换流程见图1。 ②编制一个FIFO页面调度程序;FIFO页面调度算法总是先调出作业中最先进入主存中的哪一页。因此可以用一个数组来表示(或构成)页号队列。数组中每个元素是该作业已在主存中的页面号,假定分配给作业的页架数为m,且该作业开始的m页已装入主存,则数组可由m个元素构成。 P[0],P[1],P[2],…,P[m-1] 它们的初值为P[0]:=0,P[1]:=1,P[2]:=2,…,P[m-1]:=m-1 用一指针K指示当要调入新页时应调出的页在数组中的位置,K的初值为“0”,当产生缺页

中断后,操作系统总是选择P[K]所指出的页面调出,然后执行: P[K]:=要装入的新页页号 K :=(k+1)mod m 在实验中不必实际地启动磁盘执行调出一页和装入一页的工作,而用输出“OUT 调出的页号”和“IN 要装入的新页页号”来模拟一次调出和装入过程,模拟程序的流程图见附图1。 按流程控制过程如下: 提示:输入指令的页号和页内偏移和是否存指令?? ? 0 1非存指令存指令,若d 为-1则结束,否则进 入流程控制过程,得P 1和d ,查表在主存时,绝对地址=P 1×1024+d ③ 假定主存中页架大小为1024个字节,现有一个共7页的作业,其副本已在磁盘上。系统为该作业分配了4个页架,且该作业的第0页至第3页已装入内存,其余3页未装入主 依次执行上述指令调试你所设计的程序(仅模拟指令的执行,不考虑序列中具体操作的执行)。

操作系统习题及答案四

四、计算题 1某虚拟存储器的用户编程空间共32个页面,每页为1KB,内存为16KBo假定某时刻一用户页表中已调入内存的页面的页号和物理块号的对照表如下: 则逻辑地址0A5C(H)所对应的物理地址是什么?要求:写出主要计算过程。 1. 解:页式存储管理的逻辑地址分为两部分:页号和页内地址。由已知条件用户编程空间共32个页面”可知页号部分占5位;由每页为1KB” 1K=210,可知内页地址占10位。由内存为16KB',可知有16块,块号为4位。 逻辑地址0A5C( H)所对应的二进制表示形式是:000 1010 0101 1100 ,根据上面的 分析,下划线部分为页内地址,编码000 10 ”为页号,表示该逻辑地址对应的页号为2o 查页表,得到物理块号是11(十进制),即物理块地址为:10 11,拼接块内地址10 0101 1100, 得10 1110 0101 1100 ,即2E5C( H)o 2、对于如下的页面访问序列: 1, 2 , 3 , 4 , 1 , 2 , 5 , 1 , 2 , 3 , 4 , 5 当内存块数量为3时,试问:使用FIFO、LRU置换算法产生的缺页中断是多少?写出依次产生缺页中断后应淘汰的页。(所有内存开始时都是空的,凡第一次用到的页面都产生一 次缺页中断。要求写出计算步骤。) 2. 解: 采用先进先出(FIFO )调度算法,页面调度过程如下: 共产生缺页中断9次。依次淘汰的页是1、2、3、4、1、2 共产生缺页中断10次。依次淘汰的页是1、2、3、4、5、1、2o 3、下表给出了某系统中的空闲分区表,系统采用可变式分区存储管理策略。现有以下作业序列:96K、 20K、200K o若用首次适应算法和最佳适应算法来处理这些作业序列,试问哪一种算法可以满足该作业序列的请求,为什么? 空闲分区表

实验3 页式存储管理的缺页中断及淘汰算法模拟

实验三请求页式管理的地址变换及页面淘汰算法模拟 一、实验目的 1. 通过实验,掌握请求页式存储管理的地址变换过程 2. 通过实验,掌握请求页式存储管理的先进先出页面淘汰算法 二、实验内容 1.编程模拟实现页式管理的动态地址变换过程 2.编程模拟实现当发现要访问的页不再主存时,发生缺页中断,并调用先进先出页面淘汰算法 三、实验步骤 1. 定义页式管理中的页面长度,页表长度,页表结构。 2.定义实现先进先出页面淘汰算法的函数。(注意要定义一个全局变量用于记录当前最早到达的页号) 3.定义完成动态地址变换的函数。 3. 在主函数先输入一个作业的页表信息(必须要有在主存的页),再通过循环的方式不断输入一个数字表示逻辑地址,根据刚才创建的作业的页表信息,如果该逻辑地址所在的页已经在主存则直接计算该逻辑地址所对应的物理地址,若该逻辑地址所在的页不在主存则调用先进先出淘汰算法,淘汰一页,调入所要的页,然后再计算该逻辑地址所对应的物理地址。循环结束,程序退出。 四、实现提示 1、#define n 100 /*假定的页面长度*/ #define length 10 /*假定的页表长度*/ struct { int lnumber; //逻辑页号 int flag; //该页是否在主存,可用“1”“0”表示*/ int wnumber; //物理页号 int next; //用于记录该页后下一个到达的页号 }page[length]; /*页表结构定义*/ 2、先进先出页面淘汰算法

int first=0; void fcfs(int in_number) //in_number表示要求调入的逻辑页号{ printf("发生缺页中断,淘汰第%d页\n",page[first].lnumber); page[first].flag=0; /* 所淘汰页的存在标志改为0*/ page[in_number].wnumber=page[first].wnumber; page[in_number].flag=1; /* 所调入页的存在标志改为1*/ printf("从磁盘调入逻辑第%d页成功!其对应的物理页面号为:%d\n",in_number,page[in_number].wnumber); first= page[first].next; } 3、动态地址变换函数 void compute_address(int laddress) //laddress表示要变换的逻辑地址,在其中调用fcfs函数 { }

操作系统_第四章作业讲解

1、“整体对换从逻辑上也扩充了内存,因此也实现了虚拟存储器的功能”这种说法是否正确?请说明理由 答:上述说明法是错误的。整体对换将内存中暂时不用的某个程序及其数据换出至外存,腾出足够的内存空间以装入在外存中的、具备运行条件的进程所对应的程序和数据。虚拟存储器是指仅把作业的一部分装入内存便可运行作业的存储器系统,是指具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统,它的实现必须建立在离散分配的基础上。虽然整体对换和虚拟存储器均能从逻辑上扩充内存空间,但整体对换不具备离散性。实际上,在具有整体对换功能的系统中,进程的大小仍受到实际内存容量的限制。 2、某系统采用页式存储管理策略,拥有逻辑空间32页,每页为2KB,拥有物理空间1MB。 1)写出逻辑地址的格式 2)若不考虑访问权限等,进程的页表有多少项?每项至少有多少位? 3)如果物理空间减少一半,页表结构应相应作怎样的改变? 答:1)该系统拥有逻辑空间32页,故逻辑地址中页号必须用5位来描述,而每页为2KB,因此,页内地址必须用11位来描述。这样,可得到它的逻辑地址格式如下: 2)每个进程最多有32个页面,因此,进程的页表项最多为32项;若不考虑访问权限等,则页表项中只需给出页所对应的物理块号。1MB的物理空间可分成29个内存块,故每个页表项至少有9位。 3)如果物理空间减少一半,则页表中项表项数仍不变,但每项的长度可减少1位。 3、已知某系统页面长4KB,每个页表项为4B,采用多层分页策略映射64位的用户地址空 间。若限定最高层页表只占1页,则它可采用几层分页策略 答:方法一:由题意可知,该系统的用户地址空间为264B,而页的大小为4KB,故作业最多可有264/212(即252)个页,其页表的大小则为252*4(即254)B。因此,又可将页表分成242个页表页,并为它建立两级页表,两级页表的大小为244B。依次类推,可知道它的3、4、5、6级页表的长度分别是234B、224B、214B、24B,故必须采取6层分页策略。 方法二:页面大小为4KB=212B,页表项4B=22B,因此一个页面可以存放212/22=210个面表项,因此分层数=INT[64/10]=6层 4、对于表所示的段表,请将逻辑地址(0,137)、(1,4000)、(2,3600)、(5,230)转换 成物理地址。 答:[0,137]:50KB+137=51337;

第四章部分习题答案

习题四 3、何谓静态链接?何谓装入时动态链接和运行时的动态链接? 答:(1) 静态链接。在程序运行之前,先将各目标模块及它们所需的库函数,链接成一个完整的装配模块,以后不再拆开。我们把这种事先进行链接的方式称为静态链接方式。 (2) 装入时动态链接。这是指将用户源程序编译后所得到的一组目标模块,在装入内存时,采用边装入边链接的链接方式。 (3) 运行时动态链接。这是指对某些目标模块的链接,是在程序执行中需要该(目标)模块时,才对它进行的链接。 6、为什么要引入动态重定位?如何实现? 答:(1)在连续分配方式中,必须把一个系统或用户程序装入一连续的内存空间。如果在系统中只有若干个小的分区,即使它们容量的总和大于要装入的程序,但由于这些分区不相邻接,也无法把该程序装入内存。这种不能被利用的小分区称为“零头”或“碎片”。为了消除零头所以要引入动态重定位。 (2)在动态运行时装入的方式中,作业装入内存后的所有地址都仍然是相对地址,将相对地址转换为物理地址的工作,被推迟到程序指令要真正执行时进行。为使地址的转换不会影响到指令的执行速度,必须有硬件地址变换机构的支持,即须在系统中增设一个重定位寄存器,用它来存放程序(数据)在内存中的起始地址。程序在执行时,真正访问的内存地址是相对地址与重定位寄存器中的地址相加而形成的。地址变换过程是在程序执行期间,随着对每条指令或数据的访问自动进行的,故称为动态重定位。 14、较详细地说明引入分段存储管理是为了满足用户哪几方面的需要。 答:1) 方便编程 通常,用户把自己的作业按照逻辑关系划分为若干个段,每个段都是从0 开始编址,并有自己的名字和长度。因此,希望要访问的逻辑地址是由段名(段号)和段内偏移量(段内地址)决定的。

页式虚拟存储管理中地址转换和缺页中断实验参考2

页式虚拟存储管理中地址转换和缺页中断 一.实验目的 (1)深入了解存储管理如何实现地址转换。 (2)进一步认识页式虚拟存储管理中如何处理缺页中断。 二.实验内容 编写程序完成页式虚拟存储管理中地址转换过程和模拟缺页中断的处理。 三.实验原理 页式存储管理把内存分割成大小相等位置固定的若干区域,叫内存页面,内存的分配以“页”为单位,一个程序可以占用不连续的页面,逻辑页面的大小和内存页面的大小相同,内外存的交换也以页为单位进行,页面交换时,先查询快表,若快表中找不到所需页面再去查询页表,若页表中仍未找到说明发生了缺页中断,需先将所需页面调入内存再进行存取。 四.实验部分源程序 #define size 1024//定义块的大小,本次模拟设为1024个字节。 #include "stdio.h" #include "string.h" #include struct plist { int number; //页号 int flag; //标志,如为1表示该页已调入主存,如为0则还没调入。 int block; //主存块号,表示该页在主存中的位置。 int modify; //修改标志,如在主存中修改过该页的内容则设为1,反之设为0 int location; //在磁盘上的位置 }; //模拟之前初始化一个页表。 struct plist p1[7]={{0,1,5,0,010},{1,1,8,0,012},{2,1,9,0,013},{3,1,1,0,021},{4,0,-1,0,022},{5,0,-1,0,023},{6, 0,-1,0,125}}; //命令结构,包括操作符,页号,页内偏移地址。 struct ilist { char operation[10]; int pagenumber; int address; }; //在模拟之前初始化一个命令表,通过程序可以让其顺序执行。 struct ilist p2[12]={{"+",0,72},{"5+",1,50},{"*",2,15},{"save",3,26},

操作系统复习题答案

操作系统复习题 一、单项选择题:在每小题列出的四个备选项中只有一个是最符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.操作系统的主要功能是管理计算机系统中的()。【D 】A.程序B.数据 C.文件D.资源 2.产生死锁的基本原因是()和进程推进顺序非法。【 A 】A.资源分配不当B.系统资源不足 C.作业调度不当D.进程调度不当 3.动态重定位是在作业的()中进行的。【D 】A.编译过程B.装入过程 C.连接过程D.执行过程 4.存放在磁盘上的文件,()。【A 】A.既可随机访问又可顺序访问B.只能随机访问 C.只能顺序访问D.只能读写不能访问 5.对于硬盘上存放的信息,物理上读写的最小单位是一个()。【C 】A.二进制(bit)B.字节(byte) C.物理块D.逻辑记录 6.操作系统中利用信号量和P、V操作,()。【C 】A.只能实现进程的互斥B.只能实现进程的同步 C.可实现进程的互斥与同步D.可完成进程调度 7.SPOOLing技术可以实现设备的()。【C 】A.独占B.共享 C.虚拟D.物理 8.在存储管理的各方案中,可扩充主存容量的方案是()存储管理。【D 】A.固定分区B.可变分区 C.连续D.页式虚拟 9.磁盘是可共享的设备,每一时刻()进程与它交换信息。【C 】A.允许有两个B.可以有任意多个 C.最多一个D.至少有一个 10.逻辑文件存放到存储介质上时,采用的组织形式是与()有关。【B 】 ×××××试题答案及评分参考(×)第1页(共×页)

A.逻辑文件结构B.存储介质特性 C.主存管理方式D.分配外设方式 11.在操作系统中,()是竞争和分配计算机系统资源的基本单位。【B 】A.程序B.进程 C.作业D.线程 12.作业调度的关键在于()。【C 】A.选择恰当的进程管理程序B.用户作业准备充分 C.选择恰当的作业调度算法D.有一个较好的操作环境 13.文件的保密是指防止文件被()。【C 】A.篡改B.破坏 C.窃取D.删除 14.系统抖动是指()。【 D 】A.使用机器时,屏幕闪烁的现象 B.由于主存分配不当,偶然造成主存不够的现象 C.系统盘有问题,致使系统部稳定的现象 D.被调出的页面又立刻被调入所形成的频繁调入调出现象 15.避免死锁的一个著名的算法是()。【C 】A.先入先出算法 B.优先级算法 C.银行家算法D.资源按序分配法 16.在多进程的并发系统中,肯定不会因竞争()而产生死锁。【D 】A.打印机B.磁带机 C.磁盘D.CPU 17.用户程序中的输入、输出操作实际是由()完成。【C 】A.程序设计语言B.编译系统 C.操作系统D.标准库程序 18.在分页存储管理系统中,从页号到物理块的地址映射是通过()实现的。【B 】A.段表B.页表 C.PCB D.JCB 19.在操作系统中,进程的最基本特征是()。【A 】A.动态性和并发性B.顺序性和可再现性 C.与程序的对应性D.执行过程的封闭性 20.一种既有利于短小作业又兼顾到长作业的作业调度算法是()。【C 】A.先来先服务B.轮转 C.最高响应比优先D.均衡调度 ×××××试题答案及评分参考(×)第2页(共×页)

模拟请求页式存储管理中硬件的地址转换和缺页中断,并用先进先出调度算法(FIFO)处理缺页中断

实验二模拟请求页式存储管理中硬件的地址转换和缺页中断,并用先进先出调度算法(FIFO)处理缺页中断 1.内容:模拟请求页式存储管理中硬件的地址转换和缺页中断处理 2.思想: 装入新页置换旧页时,若旧页在执行中没有被修改过,则不必将该页重写磁盘。因此,页表中增加是否修改过的标志,执行“存”指令和“写”指令时将对应的修改标志置成“1” 3.要求及方法: ①设计一个地址转换程序来模拟硬件的地址转换和缺页中断。当访问的页在主存时则形成绝对地址,但不去模拟指令的执行,可以输出转换后的绝对地址来表示一条指令已执行完成。当访问的页不在主存中时,则输出“*页号”来表示硬件产生了一次缺页中断。模拟地址转换流程见图1。 ②编制一个FIFO页面调度程序;FIFO页面调度算法总是先调出作业中最先进入主存中的哪一页。因此可以用一个数组来表示(或构成)页号队列。数组中每个元素是该作业已在主存中的页面号,假定分配给作业的页架数为m,且该作业开始的m页已装入主存,则数组可由m个元素构成。 P[0],P[1],P[2],…,P[m-1] 它们的初值为P[0]:=0,P[1]:=1,P[2]:=2,…,P[m-1]:=m-1 用一指针K指示当要调入新页时应调出的页在数组中的位置,K的初值为“0”,当产生缺页中断后,操作系统总是选择P[K]所指出的页面调出,然后执行: P[K]:=要装入的新页页号 K:=(k+1)mod m 在实验中不必实际地启动磁盘执行调出一页和装入一页的工作,而用输出“OUT调出的页号”和“IN要装入的新页页号”来模拟一次调出和装入过程,模拟程序的流程图见附图1。 按流程控制过程如下:

操作系统-第5章题

1.(d )存储管理方式能够实现虚拟存储管理。 A.固定分区B.可变分区C.单连续D.段式 2.采用(c )的系统支持“程序移动”。 A.覆盖技术B.存储技术C.动态重定位D.静态重定位1.(√)在动态段式存储管理中,如果建立快表,则快表是段表的一部分。 2.(√)产生页面中断的主要原因是欲访问的页不在主存。 在页式存储管理中,逻辑地址是二维的。在段式存储管理中,逻辑地址是线性的。 (错) .抖动:在动态页式存储管理中如何选择调出的页面是很重要的,如果采用了一个不合适的算法,就会出现这样的现象:刚被调出的页面又立即要用,因而又要把它重新装入,而装入不久又被选中调出,调出不久又被重新装入,如此反复,使调度非常频繁。这种现象称为“抖动”。 1.(6分题)何谓“抖动”?引起抖动的原因主要有哪些? 刚被调出的页面又立即要用,因而又要把它重新装入,而装入不久又被选中调出,调出不久又被重新装入,如此反复,使调度非常频繁。这种现象称为“抖动”,或称为“颠簸”。原因:没有考虑动态性。 1.Belady现象:Belady现象是在未给作业分配满足它所需要的主存块数时,出现当分配的块数增多时,缺页次数反而增多的现象。 2.简述段式管理方法的基本思想,并说明分配、回收、地址转换、内存扩充、共享和保护是如何的实现。 答:段式管理方法的基本思想是组成作业或进程逻辑段放在内存中的一块连续区域,不同逻辑段所在的区域可以不连续。段式存储管理提供给用户编程时使用的逻辑地址由两部分组成:段号和段内地址。段式存储管理中逻辑地址是二维的。段式存储管理分为静态和动态两种,现以静态段式存储管理为例说明分配、回收、地址转换、内存扩充、共享和保护是如何的实现。 静态段式管理方法的分配是对作业或进程中的每个逻辑段在空闲区表中找到满足要求的内存空间进行分配,分配可采用最先适应、最坏适应、和最佳适用中的一种方法进行,并在分配表中记录,建立对应的段表。回收方式是根据段表找到应回收的内存区域,在空闲表中进行记录(其中存在空闲区的合并问题),并修改内存分配表。地址转换方式是绝对地址=段起始地址+段内地址。一般不进行主存扩充。共享是按段共享。保护方式是段内地址≤段长,逻辑地址中的段号在段页表中。 3.页式存储管理中,绝对地址的计算公式是( B )。 A.绝对地址=字号*字长+页内地址

第3章习题解答

第3章(大本)习题解答 一、填空 1.将作业相对地址空间的相对地址转换成内存中的绝对地址的过程称为 地址重定位 。 2.使用覆盖与对换技术的主要目的是 提高内存的利用率 。 3.存储管理中,对存储空间的浪费是以 内部碎片 和 外部碎片 两种形式表现出来的。 4.地址重定位可分为 静态重定位 和 动态重定位 两种。 5.在可变分区存储管理中采用最佳适应算法时,最好按 尺寸 法来组织空闲分区链表。 6.在分页式存储管理的页表里,主要应该包含 页号 和 块号 两个信息。 7.静态重定位在程序 装入 时进行,动态重定位在程序 执行 时进行。 8.在分页式存储管理中,如果页面置换算法选择不当,则会使系统出现 抖动 现象。 9.在请求分页式存储管理中采用先进先出(FIFO )页面淘汰算法时,增加分配给作业的块数时, 缺页中断 的次数有可能会增加。 10.在请求分页式存储管理中,页面淘汰是由于 缺页 引起的。 11.在段页式存储管理中,每个用户作业有一个 段 表,每段都有一个 页 表。 二、选择 1.虚拟存储器的最大容量是由 B 决定的。 A .内、外存容量之和 B .计算机系统的地址结构 C .作业的相对地址空间 D .作业的绝对地址空间 2.采用先进先出页面淘汰算法的系统中,一进程在内存占3块(开始为空),页面访问序列为1、2、3、4、1、2、5、1、2、3、4、5、6。运行时会产生 D 次缺页中断。 A .7 B .8 C .9 D .10 从图3-1中的“缺页计数”栏里可以看出应该选择D 。 1 2 3 4 1 2 5 1 2 3 4 5 6 页面走向→ 3个内存块→缺页计数→ 图3-1 选择题2配图 3.系统出现“抖动”现象的主要原因是由于 A 引起的。 A .置换算法选择不当 B .交换的信息量太大 C .内存容量不足 D .采用页式存储管理策略 4.实现虚拟存储器的目的是 D 。 A .进行存储保护 B .允许程序浮动 C .允许程序移动 D .扩充主存容量

模拟分页式虚拟存储管理中硬件的地址转换和缺页中断 选择页面调度算法处理缺页中断

操作系统实验二(第一题) 一.实验内容 模拟分页式虚拟存储管理中硬件的地址转换和缺页中断,以及选择页面调度算法处理缺页中断。 二.实验目的 在计算机系统总,为了提高主存利用率,往往把辅助存储器作为主存储器的扩充,使多道运行的作业的全部逻辑地址空间综合可以超出主存的绝对地址空间。用这种办法扩充的主存储区成为虚拟存储器。 三.实验题目 模拟分页式存储管理中硬件的地址转换和产生缺页中断。 是 否 开始 取一条指令 取指令中访问的页号 查页表 该也标志=1? 输出“*”页号表示发生缺页中断 形成绝对地址 输出绝对地址 有后继指令? 取下一条指令 结束

四.程序清单 // // 操作实验二.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include #include using namespace std; class ins { private:string ope; long int page; long int unit; public: ins(){ } ins(string o,long int p,long int u):ope(o),page(p),unit(u){} void setope(string o){ ope=o;} void setpage(long int p){ page=p;} void setunit(long int u){ unit=u;} string getope(){return ope;} long int getpage(){return page;} long int getunit(){return unit;} }; class work { private: long int Page; int sym; long int inum; long int onum; public: work(){} work(long int P, int s,long int i,long int o):Page(P),sym(s),inum(i),onum(o){} void setPage(long int P){ Page=P;} void setsym( int s){ sym=s;} void setinum(long int i){ inum=i;}

模拟请求页式存储管理中硬件的地址转换和缺页中断处理

一.实验内容 模拟请求页式存储管理中硬件的地址转换和缺页中断处理 二.实验原理 装入新页置换旧页时,若旧页在执行中没有被修改过,则不必将该页重写磁盘。因此,页表中增加是否修改过的标志,执行“存”指令和“写”指令时将对应的修改标志置成“1”表示修改过,否则为“0”表示未修改过。页表格式如下: 页号 标志 页架号 修改标志 在磁盘上位置 三.要求及方法: ① 设计一个地址转换程序来模拟硬件的地址转换和缺页中断。当访问的页在主存时则形成绝对地址,但不去模拟指令的执行,可以输出转换后的绝对地址来表示一条指令已执行完成。当访问的页不在主存中时,则输出“*页号”来表示硬件产生了一次缺页中断。模拟地址转换流程见图1。 ② 编制一个FIFO 页面调度程序;FIFO 页面调度算法总是先调出作业中最先进入主存中的哪一页。因此可以用一个数组来表示(或构成)页号队列。数组中每个元素是该作业已在主存中的页面号,假定分配给作业的页架数为m ,且该作业开始的m 页已装入主存,则数组可由m 个元素构成。 P[0],P[1],P[2],…,P[m-1] 它们的初值为P[0]:=0,P[1]:=1,P[2]:=2,…,P[m-1]:=m-1 用一指针K 指示当要调入新页时应调出的页在数组中的位置,K 的初值为“0”,当产生缺页中断后,操作系统总是选择P[K]所指出的页面调出,然后执行: P[K]:=要装入的新页页号 K :=(k+1)mod m 在实验中不必实际地启动磁盘执行调出一页和装入一页的工作,而用输出“OUT 调出的页号”和“IN 要装入的新页页号”来模拟一次调出和装入过程,模拟程序的流程图见附图1。 按流程控制过程如下: 提示:输入指令的页号和页内偏移和是否存指令??? 0 1非存指令存指令,若d 为-1则结束,否则进

第7章习题解答

第七章习题解答 一、填空 1.一个操作系统的可扩展性,是指该系统能够跟上先进计算技术发展的能力。 2.在引入线程的操作系统中,线程是进程的一个实体,是进程中实施调度和处理机分派的基本单位。 3.一个线程除了有所属进程的基本优先级外,还有运行时的当前优先级。 4.在Windows 2000中,具有1~15优先级的线程称为可变型线程。它的优先级随着时间配额的用完,会被强制降低。 5.Windows 2000在创建一个进程时,在内存里分配给它一定数量的页帧,用于存放运行时所需要的页面。这些页面被称为是该进程的“工作集”。 6.Windows 2000采用的是请求调页法和集群法相结合的取页策略,把页面装入到内存的页帧里的。 7.分区是磁盘的基本组成部分,是一个能够被格式化和单独使用的逻辑单元。 8.MFT是一个数组,是一个以数组元素为记录构成的文件。 9.只要是存于NTFS卷上的文件,在MFT里都会有一个元素与之对应。 10.在Windows 2000的设备管理中,整个I/O处理过程都是通过I/O请求包(IRP)来驱动的。 二、选择 1.在引入线程概念之后,一个进程至少要拥有D 个线程。 A. 4 B.3 C.2 D.1 2.在Windows 2000中,只有A 状态的线程才能成为被切换成运行状态,占用处理器执行。 A.备用B.就绪C.等待D.转换 3.Windows 2000是采用C 来实现对线程的调度管理的。 A.线程调度器就绪队列表 B.线程调度器就绪队列表、就绪位图 C.线程调度器就绪队列表、就绪位图、空闲位图 D.线程调度器就绪队列表、空闲位图 4.在Windows 2000里,一个线程的优先级,会在A 时被系统降低。 A.时间配额用完B.请求I/O C.等待消息D.线程切换5.在单处理机系统,当要在进程工作集里替换一页时,Windows2000实施的是B 页面淘汰策略。 A. FIFO(先进先出)B.LRU(最近最久未用) C.LFU(最近最少用)D.OPT(最优) 6.在页帧数据库里,处于下面所列A 状态下的页帧才可以变为有效状态。 A.初始化B.备用C.空闲D.修改7.当属性值能够直接存放在MFT的元素里时,称其为B 。 A.非常驻属性B.常驻属性C.控制属性D.扩展属性8.在NTFS文件系统中,文件在磁盘上存储时的物理结构是采用C 的。 A.连续式B.链接式C.索引式D.组合式9.在Windows 2000的设备管理中,I/O请求包(IRP)是由D 建立的。 A.用户应用程序B.文件系统驱动程序 C.设备驱动程序D.I/O管理器

内存分配,缺页中断程序

#include #define M 100 // 要装入的作业数 #define N 10 //系统可以分配的最大主存数int chazhao(int x,int b[],int n) { for(int i=0;i

} printf("\n缺页的次数为: %d\n\n",count); printf("缺页中断率为: %.2f%%%\n\n",(float)count*100/(m-1)); printf("在内存中的页号为:"); for(int i=0;i int find(int x,int b[],int n) { int i; for( i=0;i

操作系统习题解答

第1章 一、填空 1.计算机由硬件系统和软件系统两个部分组成,它们构成了一个完整的计算机系统。 2.按功能划分,软件可分为系统软件和应用软件两种。 3.操作系统是在裸机上加载的第一层软件,是对计算机硬件系统功能的首次扩充。 4.分时系统的主要特征为多路性、交互性、独立性和及时性。 5.实时系统与分时以及批处理系统的主要区别是高及时性和高可靠性。 6.若一个操作系统具有很强的交互性,可同时供多个用户使用,则是分时操作系统。 7.如果一个操作系统在用户提交作业后,不提供交互能力,只追求计算机资源的利用率、大吞吐量和作业流程的自动化,则属于批处理操作系统。 二、选择 1.操作系统是一种B 。 A.通用软件B.系统软件C.应用软件D.软件包2.操作系统是对C 进行管理的软件。 A系统软件B.系统硬件C.计算机资源D.应用程序3.操作系统中采用多道程序设计技术,以提高CPU和外部设备的A 。 A.利用率B.可靠性C.稳定性D.兼容性4.计算机系统中配置操作系统的目的是提高计算机的B 和方便用户使用。 A.速度B.利用率C.灵活性D.兼容性5.C 操作系统允许多个用户在其终端上同时交互地使用计算机。 A.批处理B.实时C.分时D.多道批处理 6、程序多道设计是指(D )。 A、在实时系统中并发运行的多个程序 B、在分布系统中同一时刻运行的多个程序 C、在一台处理机上同一时刻运行多个程序 D、在一台处理机上并发运行多个程序 7、配置了操作系统的计算机是一台比原来的物理计算机功能更强的计算机,这样的计算机只是一台逻辑上的计算机,称为(C )计算机。 A、并行 B、真实 C、虚拟 D、共享 8、下列选择中,(D )不是操作系统关心的主要问题。 A、管理计算机裸机 B、设计、提供用户程序与计算机硬件系统的界面 C、管理计算机系统资源 D、高级程序设计语言的编译器 9、分时系统为了使多个用户能够同时与系统交互,最关键的问题是( C )。

请求页式管理缺页中断模拟设计--FIFO、OPT

课程设计 题目请求页式管理缺页中断模拟设计 --FIFO、OPT 学院计算机科学与技术 专业 班级 姓名 指导教师吴利军 2013 年 1 月16 日

课程设计任务书 学生姓名: 指导教师:吴利军_ 工作单位:计算机科学与技术学院题目: 请求页式管理缺页中断模拟设计--FIFO、OPT 初始条件: 1.预备内容:阅读操作系统的内存管理章节内容,了解有关虚拟存储器、页式存储管理等概念,并体会和了解缺页和页面置换的具体实施方法。 2.实践准备:掌握一种计算机高级语言的使用。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 1.实现指定淘汰算法。能够处理以下的情形: ⑴能够输入给作业分配的内存块数; ⑵能够输入给定的页面,并计算发生缺页的次数以及缺页率; ⑶缺页时,如果发生页面置换,输出淘汰的页号。 2.设计报告内容应说明: ⑴需求分析; ⑵功能设计(数据结构及模块说明); ⑶开发平台及源程序的主要部分; ⑷测试用例,运行结果与运行情况分析; ⑸自我评价与总结: i)你认为你完成的设计哪些地方做得比较好或比较出色; ii)什么地方做得不太好,以后如何改正; iii)从本设计得到的收获(在编写,调试,执行过程中的经验和教训); iv)完成本题是否有其他方法(如果有,简要说明该方法); 时间安排: 设计安排一周:周1、周2:完成程序分析及设计。 周2、周3:完成程序调试及测试。 周4、周5:验收、撰写课程设计报告。 (注意事项:严禁抄袭,一旦发现,一律按0分记) 指导教师签名:年月日 系主任(或责任教师)签名:年月日

请求页式管理缺页中断模拟设计 ——FIFO、OPT 1课程设计目的与功能 1.1设计目的 结合《操作系统》所学内存页式管理章节,掌握虚拟内存设计的重要性,熟悉和掌握请求分页式存储管理的实现原理,通过分析、设计和实现页式虚拟存储管理缺页中断的模拟系统,重点掌握当请求页面不在内存而内存块已经全部被占用时的替换算法(主要通过FIFO和OPT实现),并考察替换算法的评价指标——缺页次数和缺页率,得到淘汰的页面次序。高级语言设计并实现出的结果程序要能够很好地显示页面调入和替换详细信息。 1.2初始条件及可发环境 1.2.1初始条件 1.预备内容:阅读操作系统的内存管理章节内容,了解有关虚拟存储器、页式存储管理等概念,并体会和了解缺页和页面置换的具体实施方法。 2.实践准备:掌握一种计算机高级语言的使用。 1.2.2开发环境 (1)使用系统:Windows XP (2)使用语言:C++ (3)开发工具:Visual C++ 6.0 1.3功能实现 设计的结果程序能实现FIFO、OPT算法模拟页式存储管理缺页中断,主要能够处理以下的情形: (1) 用户能够输入给定分配的内存块数; (2) 用户输入给定的页面,并计算发生缺页的次数、缺页率及淘汰页面次序;

大作业用先进先出(FIFO)页面调度算法处理缺页中断

实验四 用先进先出(FIFO )页面调度算法处理缺页中断 1.实验目的 深入了解页式存储管理如何实现地址转换; 进一步认识页式虚拟存储管理中如何处理缺页中断。 2.实验预备知识 页式存储管理中的地址转换的方法; 页式虚拟存储的缺页中断处理方法。 3.实验内容 编写程序完成页式虚拟存储管理中地址转换过程和模拟缺页中断的处理。实验具体包括:首先对给定的地址进行地址转换工作,若发生缺页则先进行缺页中断处理,然后再进行地址转换;最后编写主函数对所作工作进程测试。 假定主存64KB ,每个主存块1024字节,作业最大支持到64KB ,系统中每个作业分得主存块4块。 4.提示与讲解 页式存储管理中地址转换过程很简单,假定主存块的大小为2n 字节,主存大小为2m'字节和逻辑地址m 位,则进行地址转换时,首先从逻辑地址中的高m-n 位中取得页号,然后根据页号查页表,得到块号,并将块号放入物理地址的高m'-n 位,最后从逻辑地址中取得低n 位放入物理地址的低n 位就得到了物理地址,过程如图1所示。 图1 页式存储管理系统地址转换示意图 地址转换是由硬件完成的,实验中使用软件程序模拟地址转换过程,模拟地址转换的流程图如图2所示(实验中假定主存64KB ,每个主存块1024字节,即n=10,m'=16,物理地址中块号6位、块内地址10位;作业最大64KB ,即m=16,逻辑地址中页号6位、页内地址10位)。 在页式虚拟存储管理方式中,作业信息作为副本放在磁盘上,作业执行时仅把作业信息的部分页面装入主存储器,作业执行时若访问的页面在主存中,则按上述方式进行地址转换,若访问的页面不在主存中,则产生一个“缺页中断”, 逻辑地址

操作系统习题及答案

操作系统试题汇总 一、填空题 1.进程的基本状态有_____________、_____________、_____________。 2.常用的内存管理方法有、、和段页式管理。 3.文件的三种物理结构是_________、_________、_________。 4.一次仅允许一个进程使用的共享资源称为。每个进程中访问临界资源的那 段程序称为。 5.从结构上讲,每个进程都是由、和部分组成。 6.按照设备的使用方式将设备分为:独享设备、共享设备和_________设备。 7.进程具有下面的特征性质:________、__________、_________和异步性 8.产生死锁的必要条件____________、____________、___________和____________ 9.在请求页式管理中,当地址转换机构发现所需的页不在时,产生中断 信号,由中断处理程序作相应的处理。 10.缓冲引入的目的是缓和CPU与I/O设备间_______,减少对CPU的_______,提高 CPU和I/O设备之间的_________。 11.进程之间的通讯类型分为:_______________、_____________和________________。 12.用户进程从用户态变为系统态的途径是___________________。 13.操作系统的基本特性包括:__________、_________、___________和异步性 14.动态重定位是 指。 15.设备按传输数据类型分为:和 16.常用的进程调度算法有优先级调度算法、____________和算法。 17.操作系统具有四大功能分别为______________、_______________、_____________ 和设备管理。 18.常用的页面置换算法是_________、_________、________和Clock置换算法。 19.按照设备的使用方式将设备分为:独享设备、设备和________设备。 20.在请求分页存储管理模式中,页面调入时,可采用两种策略,它们分别是 和。 21.虚拟存储器具有__________和___________功能。

相关主题
文本预览
相关文档 最新文档