当前位置:文档之家› 单片机原理与应用课后习题答案权威修正版【张毅刚主编高教版】

单片机原理与应用课后习题答案权威修正版【张毅刚主编高教版】

单片机原理与应用课后习题答案权威修正版【张毅刚主编高教版】
单片机原理与应用课后习题答案权威修正版【张毅刚主编高教版】

单片机原理与应用

张毅刚-----高教版

【权威修正版答案】

第一章单片机概述

1.2 除了单片机这一名称之外,单片机还可称为(微控制器)和(嵌入式控制器)。

1.3 单片机与普通计算机的不同之处在于其将(微处理器)、(存储器)和(各种输入输出接口)三部分集成于一块芯片上。

4、单片机的发展大致分为哪几个阶段?

答:单片机的发展历史可分为四个阶段:

第一阶段(1974年----1976年):单片机初级阶段。

第二阶段(1976年----1978年):低性能单片机阶段。

第三阶段(1978年----现在):高性能单片机阶段。

第四阶段(1982年----现在):8位单片机巩固发展及16位单片机、32位单片机推出阶段1.5 单片机根据其基本操作处理的位数可分为哪几种类型?

答:单片机根据其基本操作处理的位数可分为:1位单片机、4位单片机、8位单片机、16位单片机和32位单片机。

1.6 MCS-51系列单片机的基本芯片分别为哪几种?它们的差别是什么?

答:基本芯片为8031、8051、8751。

8031内部包括1个8位cpu、128BRAM,21个特殊功能寄存器(SFR)、4个8位并行I/O口、1个全双工串行口,2个16位定时器/计数器,但片内无程序存储器,需外扩EPROM芯片。8051是在8031的基础上,片内又集成有4KBROM,作为程序存储器,是1个程序不超过4KB 的小系统。

8751是在8031的基础上,增加了4KB的EPROM,它构成了1个程序小于4KB的小系统。用户可以将程序固化在EPROM中,可以反复修改程序。

1.7 MCS-51系列单片机与80C51系列单片机的异同点是什么?

答:共同点为它们的指令系统相互兼容。不同点在于MCS-51是基本型,而80C51采用CMOS 工艺,功耗很低,有两种掉电工作方式,一种是CPU停止工作,其它部分仍继续工作;另一种是,除片内RAM继续保持数据外,其它部分都停止工作。

1.8 8051与8751的区别是(C)

(A)内部数据存储单元数目的不同(B)内部数据存储器的类型不同

(C)内部程序存储器的类型不同(D)内部的寄存器的数目不同

1.9 在家用电器中使用单片机应属于微型计算机的(B)

(A)辅助设计应用(B)测量、控制应用(C)数值计算应用(D)数据处理应用

1.10 说明单片机主要应用在哪些领域?

答:单片机主要运用领域为:工业自动化;智能仪器仪表;消费类电子产品;通信方面;武器装备;终端及外部设备控制;多机分布式系统。

第二章 MCS-51单片机的硬件结构

2.1 MCS-51单片机的片内都集成了哪些功能部件?各个功能部件的最主要的功能是什么?答:功能部件如下:微处理器(CPU);数据存储器(RAM);程序存储器(ROM/EPROM,8031没有此部件),4个8位并行I/O口(P0口、P1口、P2口、P3口);1个全双工的串行口;2个16位定时器/计数器;中断系统;21个特殊功能寄存器(SFR)。

各部件功能:CPU(微处理器)包括了运算器和控制器两大部分,还增加了面向控制的处理功能,不仅可处理字节数据,还可以进行位变量的处理;数据存储器(RAM)片内为128B (52系列的为256B),片外最多可外扩64KB。数据存储器来存储单片机运行期间的工作变量、运算的中间结果、数据暂存和缓冲、标志位等;程序存储器(ROM/EPROM)用来存储程序;中断系统具有5个中断源,2级中断优先权;定时器/计数器用作精确的定时,或对外部事件进行计数;串行口可用来进行串行通信,扩展并行I/O口,还可以与多个单片机相连构成多机系统,从而使单片机的功能更强且应用更广;特殊功能寄存器用于CPU对片内各功能部件进行管理、控制、监视。

2.2 说明MCS-51单片机的引脚EA的作用,该引脚接高电平和接低电平时各有何种功能?答:当该引脚为高电平时,单片机访问片内程序存储器,但在PC(程序计数器)值超过0FFFH (对于8051、8751)时,即超出片内程序存储器的4KB地址范围时,将自动转向执行外部程序存储器内的程序。

当该引脚为低电平时,单片机则只访问外部程序存储器,不论是否有内部程序存储器。对于8031来说,因其无内部程序存储器,所以该引脚必须接地,这样只能选择外部程序存储器。

2.3 MCS-51的时钟振荡周期和机器周期之间有何关系?

答:每12个时钟周期为1个机器周期。

2.4在MCS-51 单片机中,如果采用6 MHZ 晶振,1个机器周期为(2微秒)。

2.5程序存储器的空间里,有5个单元是特殊的,这5个单元对应MCS-51单片机5个中断源的中断入口地址,请写出这些单元的地址以及对应的中断源。

答:中断源入口地址

外部中断0 0003H

定时器0(T0)000BH

外部中断1 0013H

定时器1(T1)001BH

串行口0023H

2.6 内部RAM中,位地址为30H的位,该位所在字节的字节地址为(26H)。

2.7 若A中的内容为63H,那么,P标志位的值为(0)。

2.8 判断下列说法是否正确:

(A)8031的CPU是由RAM和EPROM所组成。(错)

(B)区分片外程序存储器和片外数据存储器的最可靠的方法是看其位于地址范围的低端还是高端。(错)

(C)在MCS-51中,为使准双向的I/O口工作在输入方式,必须保证它被事先预置为1。(对)(D)PC可以看成是程序存储器的地址指针。(对)

2.9 8031单片机复位后,R4所对应的存储单元的地址为(04H),因上电时PSW=(00H)。这时当前的工作寄存器区是(0)组工作寄存器区。

2.10 什么是机器周期?1个机器周期的时序是如何来划分的?如果采用12MHZ晶振,1个机器周期为多长时间?

答:CPU完成一个基本操作所需要的时间称为机器周期。时序划分:一个机器周期包括12个时钟周期,分为6个状态;S1-S6。每个状态又分为2拍;P1和P2。因此,1个机器周期中的12个时钟周期表示为:S1P1、S1P2、S2P1、S2P2、…、S6P2。如果采用12MHZ晶振,1

个机器周期为1μs。

2.11判断以下有关PC和DPTR的结论是否正确?

(A)DPTR是可以访问的,而PC不能访问。(错)

(B)它们都是16位的寄存器。(对)

(C)它们都具有加1的功能。(对)

(D)DPTR可以分为2个8位寄存器使用,但PC不能。(对)

12、内部RAM中,哪些单元可作为工作寄存器区,哪些单元可以进行位寻址?写出它们的字节地址。

答:地址为00H-1FH的32个单元是4组通用工作寄存器区,每个区包括8个8位工作寄存器,编号为R0-R7。字节地址为20H-2FH的16个单元可进行128位的位寻址,这些单元构成了1位处理机的存储器空间。位地址范围是00H-7FH。

2.13使用8031单片机时,需将EA引脚接(低)电平,因为其片内无(程序)存储器。

2.14片内RAM低128个单元划分为哪3个主要部分?各部分的主要功能是什么?

答:字节地址为00H-1FH的32个单元是4组通用工作寄存器区,每个区包括8个8位工作寄存器,编号为R0-R7。可以通过改变PSW中的RS1、RS0来切换当前的工作寄存器区,这种功能给软件设计带来极大的方便,特别是在中断嵌套时,为实现工作寄存器现场内容保护提供了方便;字节地址为20H-2FH的16个单元可进行工128位的位寻址,这些单元构成了1位处理机的存储器空间;字节地址为30H-7FH的单元为用户RAM区,只能进行字节寻址。用于作为数据缓冲区以及堆栈区。

2.15 判断下列说法是否正确

(A)程序计数器PC不能为用户编程时直接使用,因为它没有地址。(对)

(B)内部RAM的位寻址区,只能供位寻址使用,而不能供字节寻址使用。(错)

(C)8031共有21个特殊功能寄存器,它们的位都是可用软件设置的,因此,是可以进行位寻址的。(错)

2.16 PC的值是:(C)

(A)当前正在执行指令的前一条指令的地址

(B)当前正在执行指令的地址

(C)当前正在执行指令的下一条指令的地址

(D)控制器中指令寄存器的地址

2.17 通过堆栈操作实现子程序调用,首先就要把(PC)的内容入栈,以进行断点保护。调用返回时,再进行出栈保护,把保护的断点送回到(PC)。

2.18 写出P3口各引脚的第二功能。

答:口引脚第二功能定义

P3.0 串行输入口

P3.1 串行输出口

P3.2 外部中断0

P3.3 外部中断1

P3.4 定时器0外部计数输入

P3.5 定时器1外部计数输入

P3.6 外部数据存储器写选通

P3.7 外部数据存储器读选通

2.19 MCS-51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为

MCS-51的PC是16位的,因此其寻址的范围为(64)KB。

2.20 当MCS----51单片机运行出错或程序陷入死循环时,如何来摆脱困境?

答:可通过复位来解决。

2.21 判断下列说法是否正确?

(A)PC是1个不可寻址的特殊功能寄存器(对)

(B)单片机的主频越高,其运算速度越快(对)

(C)在MCS----51单片机中,1个机器周期等于1微秒(错)

(D)特殊功能寄存器SP内装的是栈顶首地址单元的内容(错)

2.22 如果手中仅有一台示波器,可通过观察哪个引脚的状态,来大致判断MCS----51单片机正在工作?

答:ALE 引脚。

第三章 MCS-51的指令系统

3.1 判断以下指令的正误:

(1)MOV 28H,@R2 (2) DEC DPTR (3) INC DPTR (4) CLR R0

(5) CPL R5 (6) MOV R0,R1 (7) PUSH DPTR (8) MOV F0,C (9)MOV F0,Acc.3 (10)MOVX A,@R1 (11) MOV C,30H (12)RLC R0

答:(3)、(8)、(10)、(11)对,其余错。

3.2 判断下列说法是否正确。

(A)立即寻址方式是被操作的数据本身在指令中,而不是它的地址在指令中。(√)(B)指令周期是执行一条指令的时间。(√)

(C)指令中直接给出的操作数称为直接寻址。(×)

3.3在基址加变址寻址方式中,以(A)作变址寄存器,以(DPTR)或(PC)作基址寄存器3.4 MCS-51共有哪几种寻址方式?各有什么特点?

答:共有7种寻址方式。

(1)寄存器寻址方式操作数在寄存器中,因此指定了寄存器就能得到操作数。

(2)直接寻址方式指令中操作数直接以单元地址的形式给出,该单元地址中的内容就是操作数。

(3)寄存器间接寻址方式寄存器中存放的是操作数的地址,即先从寄存器中找到操作数的地址,再按该地址找到操作数。

(4)立即寻址方式操作数在指令中直接给出,但需在操作数前面加前缀标志“#”。(5)_______基址寄存器加变址寄存器间接寻址方式以DPTR或PC作基址寄存器,以累加器A作为变址寄存器,并以两者内容相加形成的16位地址作为操作数的地址,以达到访问数据表格的目的。

(6)位寻址方式位寻址指令中可以直接使用位地址。

(7)相对寻址方式在相对寻址的转移指令中,给出了地址偏移量,以“rel”表示,即把PC 的当前值加上偏移量就构成了程序转移的目的地址。

3.5 MCS-51指令按功能可以分为哪几类?

答:MCS-51指令系统按功能分为:数据传送类(28条);算术操作类(24条);逻辑运算类(25条);控制转移类(17条);位操作类(17条)。

3.6 访问SFR,可使用哪些寻址方式?

答:一般采用直接寻址,对于SFR中字节地址能被8整除的SFR可以使用位寻址,对于SFR中的A、B、DPTR寄存器可以采用寄存器寻址。

3.7 指令格式是由(操作码)和(操作数)所组成,也可能仅由(操作码)组成。

3.8 假定累加器A中的内容为30H,执行指令:

1000H:MOVC A,@A+PC

后,把程序存储器(1031H)单元的内容送入累加器中

3.9 在MCS----51中,PC和DPTR都用于提供地址,但PC是为访问(程序)存储器提供地址,而DPTR是为访问(数据)存储器提供地址。

3.10 在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的(地址)。

3.11 该程序段的功能是什么?

PUSH A

PUSH B

POP A

POP B

答:功能是A、B内容互换

3.12 已知程序执行前有A=02H,SP=52H,(51H)=FFH,(52H)=FFH。下列程序执行后:POP DPH POP DPL MOV DPTR,#4000H RL A MOV B,A MOVC A,@A+DPTR PUSH A MOV A,B INC A MOVC A,@A+DPTR PUSH A RET ORG 4000H DB

10H,80H,30H,50H,30H,50H

A=50H SP=50H (51H)=30H (52H)=50H PC=5030H

3.13 写出完成如下要求的指令,但是不能改变未涉及位的内容。

(A)把Acc.3,Acc.4,Acc.5和Acc.6清0。

解:ANL A,#87H

(B)把累加器A的中间4位清0。

解:ANL A,#C3H

(C)使Acc.2和Acc.3置1。

解:ORL A,#0CH

3.14 假定A=83H,(R0)=17H,(17H)=34H,执行以下指令:

ANL A,#17H

ORL 17H,A

XRL A,@R0

CPL A

后,A的内容为(0CBH)

3.15 假设A=55H,R3=0AAH,在执行指令后ANL A,R3后,A=(00H),R3=(0AAH)3.16 如果DPTR=507BH,SP=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后:

POP DPH

POP DPL

POP SP

则:DPH=(3CH)DPL=(5FH)SP=(4FH)

3.17 假定SP=60H,A=30H,B=70H,执行下列指令:

PUSH A

PUSH B

后,SP的内容为(62H),61H单元的内容为(30H),62H单元的内容为(70H)。

3.18借助本书中的指令表:表3-3~表3-7对如下的指令代码(16进制)进行手工反汇编。FF C0 E0 E5 F0 F0

解:查表可知

FF MOV R7,A

C0 E0 PUSH 0E0H

E5 F0 MOV A,0F0H

F0 MOVX @DPTR, A

第四章 MCS-51汇编语言程序设计

4.1 用于程序设计的语言分为哪几种?它们各有什么特点?

答:用于程序设计的语言基本上分为三种:机器语言、汇编语言和高级语言。

(1)机器语言:在单片机中,用二进制代码表示的指令、数字和符号简称为机器语言,直接用机器语言编写的程序称为机器语言程序。用机器语言编写的程序,不易看懂,不便于记忆,且容易出错。(2)汇编语言具有如下特点:A、汇编语言是面向机器的语言,程序设计人员必须对MCS----51单片机的硬件有相当深入的了解。B、助记符指令和机器指令一一对应,所以用汇编语言编写的程序效率高,占用的存储空间小,运行速度快,因此用汇编语言能编写出最优化的程序。C、汇编语言程序能直接管理和控制硬件设备(功能部件),它能处理中断,也能直接访问存储器及I/O接口电路。(3)高级语言:高级语言不受具体机器的限制,都是参照一些数学语言而设计的,使用了许多数学公式和数学计算上的习惯用语,非常擅长于科学计算。计算机不能直接识别和执行高级语言,需要将其“翻译”成机器语言才能识别和执行。

4.3 解释下列术语:“手工汇编”、“机器汇编”、“交叉汇编”以及“反汇编”。

答、手工汇编:通常把人工查表翻译指令的方法称为“手工汇编”。机器汇编:机器汇编实际上是通过执行汇编程序来对源程序进行汇编的。交叉汇编:由于使用微型计算机完成了汇编,而汇编后得到的机器代码却是在另一台计算机(这里是单片机)上运行,称这种机器汇编为“交叉汇编”。反汇编:有时,在分析现成产品的ROM/EPROM中的程序时,要将二进制数的机器代码语言程序翻译成汇编语言源程序,该过程称为反汇编。

4.4 下列程序段经汇编后,从1000H开始的各有关存储单元的内容将是什么?

ORG 1000H

TAB1 EQU 1234H

TAB2 EQU 3000H

DB “MAIN”

DW TAB1,TAB2,70H

答:(1000H)=‘M’(1001H)=‘A’(1002H)=‘I’(1003H)=‘N’(1004H)=34H (1005H)=12H (1006H)=00H (1007H)=30H (1008H)=70H (1009H)=00H

4.5 设计子程序时注意哪些问题?

答:在编写子程序时应注意以下问题:

(1)子程序的第一条指令的地址称为子程序的入口地址。该指令前必须有标号。

(2)主程序调用子程序,是通过主程序或调用程序中的调用指令来实现的。

(3)注意设置堆栈指针和现场保护,因调用子程序时,要把断点压入堆栈,子程序返回执行RET指令时再把断点弹出堆栈送入PC指针,因此子程序结构中必须用堆栈。

(4)子程序返回主程序时,最后一条指令必须是RET指令,它的功能是在执行调用指令时,把自动压入堆栈中的断点地址弹出送入PC指针中,从而实现子程序返回主程序断点处继续执行主程序。

(5)子程序可以嵌套,即主程序可以调用子程序,子程序又可以调用另外的子程序,通常情况下可允许嵌套8层。

(6)在子程序调用时,还要注意参数传递的问题。

4.6 试编写1个程序,将内部RAM中45H单元的高4位清0,低4位置1。

解:MOV A,45H

ANL A,#0FH

ORL A,#0FH

4.7 已知程序执行前有A=02H,SP=42H,(41H)=FFH,(42H)=FFH。下述程序执行后,POP DPH POP DPL MOV DPTR,#3000H RL A MOV B,A MOVC A,@A+DPTR

PUSH A MOV A,B INC A MOVC A,@A+DPTR PUSH A ORG 3000H DB

10H,80H,30H,80H,50H,80H

A=80H SP=40H (41H)=50H (42H)=80H PC=8050H。

4.8 计算下面子程序中指令的偏移量和程序执行的时间(晶振频率为12MHZ)。

7B0F MOV R3,#15 ;1个机器周期

7CFF DL1: MOV R4,#255 ;1个机器周期

8B90 DL2: MOV P1,R3 ;2个机器周期

DC DJNZ R4,DL2 ;2个机器周期

DB DJNZ R3,DL ;2个机器周期

22 RET ;2个机器周期

解:程序执行的时间为15.346μs。

4.9 假定A=83H,(R0)=17H,(17H)=34H,执行以下指令:

ANL A,#17H

ORL 17H,A

XRL A,@R0

CPL A

后,A的内容为(0CBH)

4.10 试编写程序,查找在内部RAM的30H~50H单元中是否有0AAH这一数据。若有,则将51H单元置为“01H”;若未找到,则将51H单元置为“00H”。

ORG 0000H

MOV R0,#30H

MOV R2,#21H

LOOP: MOV A,@R0

CJNE A,#0AAH,NOT

MOV 51H,#01H

SJMP DEND

NOT: INC R0

DJNZ R2,LOOP

MOV 51H,#00H

DEND: SJMP DEND

4.11 试编写程序,查找在内部RAM的20H~40H单元中出现“00H”这一数据的次数。并将查找到的结果存入41H单元。

ORG 0000H

MOV R0,#20H

MOV R2,#21H

MOV 41H,#00H

LOOP: MOV A,@R0

CJNE A,#00H,NOTE

INC 41H

NOTE: INC R0

DJNZ R2,LOOP

END

4.12 若SP=60H,标号LABEL所在的地址为3456H。LCALL指令的地址为2000H,执行如下指令:2000H LCALL LABEL后,堆栈指针SP和堆栈内容发生了什么变化?PC的值等于什么?如果将指令LCALL直接换成ACLAA是否可以?如果换成ACALL指令,可调用的地址范围是什么?

答:堆栈指针SP的内容为62H,堆栈内容(61H)=03H,(62H)=20H;PC值为3456H,不能将LCALL换为ACALL,因为LCALL可调用64KB范围内的子程序,而ACALL所调用的子程序地址必须与ACALL指令下一条指令的第一个字节在同一个2KB区内(即16位地址中的高5位地址相同。如果换为ACALL,可调用的地址范围为2002H-27FFH。

第五章 MCS-51的中断系统

5.1 什么是中断系统?

答:能够实现中断处理功能的部件称为中断系统。

5.3 什么是中断源?MCS-51有哪些中断源?各有什么特点?

答:产生中断的请求源称为中断源。MCS----51中断系统共有5个中断请求源:(1)外部中断请求0,中断请求标志为IE0。(2)外部中断请求1,中断请求标志为IE1。(3)定时器/计数器T0溢出中断请求,中断请求标志为TF0。(4)定时器/计数器T1溢出中断请求,中断请求标志为TF1。(5)串行口中断请求,中断请求标志为TI或RI。特点:2个外部中断源,3个内部中断源。

5.4外部中断1所对应的中断入口地址为(0013H)。

5.5下列说法错误的是:(A,B,C)

(A)各中断源发出的中断请求信号,都会标记在MCS-51系统的IE寄存器中。

(B)各中断源发出的中断请求信号,都会标记在MCS-51系统的TMOD寄存器中。

(C)各中断源发出的中断请求信号,都会标记在MCS-51系统的IP寄存器中。

(D)各中断源发出的中断请求信号,都会标记在MCS-51系统的TCON和SCON寄存器中。

5.6 MCS-51单片机响应外部中断的典型时间是多少?在哪些情况下,CPU将推迟对外部中断请求的响应?

答:典型时间是3-8个机器周期。在下列三种情况下,CPU将推迟对外部中断请求的响应:(1)CPU正在处理同级的或更高级优先级的中断

(2)所查询的机器周期不是当前所正在执行指令的最后一个机器周期

(3)正在执行的指令是RETI或是访问IE或IP的指令。

5.7 中断查询确认后,在下列各种8031单片机运行情况中,能立即进行响应的是(D)(A)当前正在进行高优先级中断处理

(B)当前正在执行RETI指令

(C)当前指令是DIV指令,且正处于取指令的机器周期

(D)当前指令是MOV A,R3

5.8 8031单片机响应中断后,产生长调用指令LCALL,执行指令的过程包括:首先把(PC)的内容压入堆栈,以进行断点保护,然后把长调用指令的16位地址送(PC),使程序执行转向(响应中断请求的中断入口的地址)中的中断地址区。

5.9 编写出外部中断1为跳沿触发的中断初始化程序。

ORG 0000H

AJMP MAIN

ORG 0013H

AJMP PINT1

ORG 0100H

MAIN: SETB IT1

SETB EX1

SETB EA

HERE: AJMP HERE

PINT1: RETI

END

5.10 在MCS-51中,需要外加电路实现中断撤除的是(D)

(A)定时中断

(B)脉冲方式的外部中断

(C)外部串行中断

(D)电平方式的外部中断

5.11 MCS-51有哪几种扩展外部中断源的方法?

答:扩展外部中断源的方法有:定时器/计数器作为外部中断源的使用方法;中断和查询结合的方法。

5.12 下列说法正确的是(C D)

(A)同一级别的中断请求按时间的先后顺序顺序响应。

(B)同一时间同一级别的多中断请求,将形成阻塞,系统无法响应。

(C)低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优先级中断请求

(D)同级中断不能嵌套。

5.13 中断服务子程序返回指令RETI和普通子程序返回指令RET有什么区别?

答:两者的区别在于,RETI清除了中断响应时,被置1的MCS-51内部中断优先级寄存器的优先级状态。

5.14 某系统有3个外部中断源1、2、3,当某一中断源变为低电平时,便要求CPU进行处理,它们的优先处理次序由高到低依次为3、2、1,中断处理程序的入口地址分别为1000H,1100H,1200H。试编写主程序及中断服务程序(转至相应的中断处理程序的入口即可)。

ORG 0000H AJMP MAIN ORG 0003H LJMP PINT0 ORG 0100H MAIN: SETB IT0 SETB EX0 SETB EA HERE: SJMP HERE PINT0: PUSH PSW PUSH A JNB P1.3,IR3 JNB P1.2,IR2 JNB

P1.1,IR1 PINTIR: POP A POP PSW RETI IR3: LJMP IR3INT IR2: LJMP IR2INT IR1: LJMP

IR1INT ORG 1000H IR3INT: LJMP PINTIR ORG 1100H IR2INT: LJMP PINTIR ORG 1200H IR1INT: LJMP PINTIR END

第六章 MCS-51的定时器/计数器

6.1 如果采用的晶振的频率为3MHZ,定时器/计数器工作在方式0、1、2下,其最大的定时时间各为多少?

答:方式0 213*4us=32.768

方式1 216*4us=262.144

方式2 28*4us=1.024

6.2 定时器/计数器用作定时器时,其计数脉冲由谁提供?定时时间与哪些因素有关?

答:定时器/计数器被选定为定时器工作模式时,计数输入信号是内部时钟脉冲,每个机器周期产生1个脉冲使计数器增1,因此,定时器/计数器的输入脉冲的周期与机器周期一样,

为时钟振荡频率的1/2。

6.3 定时器/计数器作计数器使用时,对外界计数频率有何限制?

答:定时器/计数器用作计数器时,计数脉冲来自相应的外部输入引脚T0或T1。对外界计数频率要求为其最高频率为系统振荡频率的1/24。

6.4 采用定时器/计数器T0对外部脉冲进行计数,每计数100个脉冲后,T0转为定时工作方式。定时1ms后,又转为计数方式,如此循环不止。假定MCS---51单片机的晶体震荡器的频率为6MHZ,请使用方式1实现,要求编写出程序。

ORG 0000H

AJMP MAIN

ORG 000BH

LJMP PT0J

ORG 0100H

MAIN: MOV TMOD,#05H

MOV TH0,#0FFH

MOV TL0,#9CH

CLR F0

SETB TR0

SETB ET0

SETB EA

HERE: AJMP HERE

PT0J: JB F0,PT0D

MOV TMOD,#01H

MOV TH0,#0FEH

MOV TL0,#0CH

SETB F0

RETI

PT0D: CLR F0

MOV TMOD,#05H

MOV TH0,#0FFH

MOV TL0,#9CH

RETI

END

6.5 定时器/计数器的工作方式2有什么特点?适用于哪些应用场合?

答:工作方式2为自动恢复初值的(初值自动装入)8位定时器/计数器,TLX作为常数缓冲器,当TLX计数溢出时,在置1溢出标志TFX的同时,还自动的将THX中的初值送至TLX,使TLX从初值开始重新计数(X=0,1)。

6.6 编写程序,要求使用T0,采用方式2定时,在P1。0输出周期为400微秒,占空比为1:10的矩形脉冲。

ORG 0000H AJMP MAIN ORG 000BH AJMP PT0 ORG 0100H MAIN: MOV R2,#00H MOV TMOD,#02H MOV TH0,#0ECH;X=236 MOV TL0,#0ECH SETB P1.0 SETB TR0 SETB ET0 SETB EA HERE: SJMP HERE PT0: CJNE R2,#09H,PT01 SETB P1.0 MOV R2,#00H RETI

PT01: CLR P1.0 INC R2 RETI END

6.7 一个定时器的定时时间有限,如何实现两个定时器的串行定时,来实现较长时间的定时?

答:第一个定时溢出启动第二个定时计数,实行串行定时

6.8 当定时器T0用于方式3时,应该如何控制定时器T1的启动和关闭?

答:控制信号C/T和M1 M0。

6.9 定时器/计数器测量某正脉冲的宽度,采用何种方式可得到最大量程?若时钟频率为

6MHZ,求允许测量的最大脉冲宽度是多少?

答:上升沿从0开始计数,计满回到下降沿。最大脉冲宽度Tw=131.072us

6.10编写一段程序,功能要求为:当P1.0引脚的电平正跳变时,对P1.1的输入脉冲进行计数;当P1.2引脚的电平负跳变时,停止计数,并将计数值写入R0、R1(高位存R1,低位存R0)。ORG 0000H LJMP MAIN MAIN: ORG 0100H MOV R0,#00H MOV R1,#00H MOV TL0,#00H MOV TH0,#00H LOOP1: JB P1.0,LOOP1 LOOP2: JNB P1.0,LOOP2 SETB TR0 LOOP3: JNB P1.2,LOOP3 LOOP4: JB P1.2,LOOP4 CLR TR0 MOV R1,TH0 MOV R0,TL0 END

6.11 THX与TLX(X=0,1)是普通寄存器还是计数器?其内容可以随时用指令更改吗?更改后的新值是立即刷新还是等当前计数器计满之后才能更新?

答:THX与TLX(X=0,1)是计数器,能用指令更改;能立即刷新。

6.12 判断下列说法是否正确?

(1)特殊功能寄存器SCON,与定时器/计数器的控制无关。(√)

(2)特殊功能寄存器TCON,与定时器/计数器的控制无关(×)

(3)特殊功能寄存器IE,与定时器/计数器的控制无关(×)

(4)特殊功能寄存器TMOD,与定时器/计数器的控制无关(×)

第七章 MCS-51的串行口

7.3 帧格式为1个起始位,8个数据位和1个停止位的异步串行通信方式是方式(1)。

7.4 串行口有几种工作方式?有几种帧格式?各种工作方式的波特率如何确定?

答:串行口有四种工作方式:方式0、方式1、方式2、方式3

有三种帧格式:

方式0帧格式D1 D2 D3 D4 D5 D6 D7 D0

方式0波特率=Fosc/12

方式1帧格式

方式1波特率=2定时器T1的溢出率/32 SMOD

起始位

D0

停止

D7

D6

D5

D4

D3

D2

D1

方式2和方式3帧格式D1 D2 D3 D4 D5 D6 D7 D0 停止起始位D8

方式2的波特率=2*Fosc/64 MOD

方式3的波特率=2 *定时器T1的溢出率/32 MOD

7.5 假定串行口发送的字符格式为1个起始位,8个数据位,1个奇校验位,1个停止位,请画出传送字符“A”的帧格式?0 0 0 0 0 1 0 1 0 1 1

7.6 判断下列说法是否正确

(A)串行口通行的第9数据位的功能可由用户定义。(T)

(B)发送数据的第9数据位的内容在SCON寄存器的TB8位中预先准备好的。(T)

(C)串行通讯帧发送时,指令把TB8位的状态送入发送SBUF中。(F)

(D)串行通讯接收到的第9位数据送SCON寄存器的RB8中保存。(T)

(E)串行口方式1的波特率是口变的,通过定时器/计数器T1的溢出率设定。(T)

7.7通过串行口发送或接收数据时,在程序中应使用:(C)

(A)MOVC指令(B)MOVX指令(C)MOV指令(D)XCHD指令

7.8 为什么定时器/计数器T1用作串行口波特率发生器时,常采用方式2?若已知时钟频率,通讯波特率,如何计算器初值?

答:定时器T1工作方式2是一种自动重装方式,无需在中断服务程序中送数,没有由于中断引起的误差。定时器工作在方式2是一种既省事又精确的产生串行口波特率的方法。设定时器T1方式2的初值为X,则有:

定时器T1的溢出率=计数速率/(256-X)=Fosc/(256-X)*12

则方式2的波特率=2 *F/(256-X)*12*32 MODosc

故计数器初值为X=2 *F/12*32*波特率MODosc

7.9 串行口工作方式1的波特率是:C

(A)固定的,为F osc/32。

(B)固定的,为F osc/16。

(C)可变得,通过定时器/计数器T1的溢出率设定。

(D)固定的,为F osc/64。

7.10 在串行通讯中,收发双方对波特率的设定应该是相同的。

7.11 若晶体振荡器为11.0592MHZ,串行口工作于方式1,波特率为4800b/s,写出用T1作为波特率发生器的方式控制字和计数初值。

答:方式字为01000000。Fosc=11.0592MHz SMOD=1 SCON=40H

X=65536-11.0592*2/(384*4800)

=65524=0FFF4H

ORG 0000H MOV SCON,#40H

MOV PCON,#80H MOV TMOD,#10H MOV TL1,#0F4H MOV TH1,#0FFH END

7.14使用8031的串行口按工作方式3进行串行口数据通讯,假定波特率为1200b/s,第9数据位作奇偶校验位,以中断方式传送数据,请编写通讯程序。

方法一:中断方式

发送程序

ORG 0000H LJMP MAIN ORG 0023H LJMP SSEND ORG 0100H

MAIN: MOV SP,#60H MOV TMOD,#20H MOV TH1,#0F3H MOV TL1,#0F3H MOV

R2,#0FFH MOV 87H,#80H MOV SCON,#0C0H MOV DPTR,#2000H SETB TR1 SETB ES SETB EA SEND: MOVX A,@DPTR MOV C,P MOV TB8,C MOV SBUF,A HERE: AJMP HERE SSEND: DJNZ R2,SEND1 AJMP RETURN SEND1: PUSH DPH PUSH DPL PUSH PSW PUSH ACC SETB 0D4H SETB 0D3H CLR TI INC DPTR MOVX A,@DPTR MOV C,P MOV TB8,C MOV SBUF,A POP ACC POP PSW POP DPL POP DPH CLR 0D4H CLR 0D3H RETURN: RETI END

接收程序:

ORG 0000H LJMP MAIN ORG 0023H LJMP RRES ORG 0100H

MAIN: MOV SP,#60H MOV TMOD,#20H MOV TH1,#0F3H MOV TL1,#0F3H MOV

R2,#0FFH SETB TR1 MOV DPTR,#3000H MOV 87H,#80H MOV SCON,#0D0H SETB ES SETB EA SJMP $ RRES: DJNZ R2,RES AJMP RETURN RES: CLR RI MOV A,SBUF MOV C,P JNC L1 JNB RB8,ERP AJMP L2 L1: JB RB8,ERP L2: MOVX @DPTR,A INC DPTR AJMP RETURN ERP: SETB P1.0 CPL P1.0 RETURN: RETI END

查询方式:

发送程序

ORG 0000H MAIN: MOV TMOD,#20H MOV TH1,#0F3H MOV TL1,#0F3H MOV 87H,#80H MOV SCON,#0C0H MOV DPTR,#2000H MOV R2,#0FFH SETB TR1 SEND: MOVX

A,@DPTR MOV C,P MOV TB8,C

MOV SBUF,A STI: JNB TI,STI CLR TI INC DPTR DJNZ R2,SEND END

接收程序:

ORG 0000H MOV TMOD,#20H MOV TH1,#0F3H MOV TL1,#0F3H SETB TR1 MOV DPTR,#3000H MOV 87H,#80H MOV SCON,#0D0H MOV R2,#0FFH RES: JNB RI,RES CLR RI MOV A,SBUF MOV C,P JNC L1 JNB RB8,ERP AJMP L2 L1: JB RB8,ERP L2: MOVX

@DPTR,A INC DPTR DJNZ R2,RES ERP: SETB P1.0 CPL P1.0 END

7.15 某8031串行口,传送数据的帧格式为1个起始位(0),7个数据位,1个偶校验位和1个停止位(1)组成。当该串行口每分钟传送1800个字符时,试计算出波特率。

答:波特率=1800*(1+7+1+1)/60=300b/s

7.16 为什么MCS-51串行口的方式0帧格式没有起始位(0)和停止位(1)?

答:因为方式0为同步移位寄存器输入输出方式,不需要起始和停止位,8位数据为1帧,依次移入输入式或输出移位寄存器。

第八章 MCS-51单片机扩展存储器的设计

8.1 单片机存储器的主要功能是存储(程序)和(数据)

8.2 试编写一个程序(例如将05H和06H拼为56H),设原始数据放在片外数据区2001H

单元和2002H单元中,按顺序拼装后的单字节数放入2002H。

参考源程序

ORG 0000H START: MOV B,#10H MOV DPTR,#2001H MOVX A,@DPTR ANL A,#0FH MUL AB MOV B,A MOV DPTR,#2002H MOVX A,@DPTR ADD A,B MOVX @DPTR,A END

8.3 假设外部数据存储器2000H单元的内容为80H,执行下列指令后:

MOV P2,#20H

MOV R0,#00H

MOVX A,@R0

累加器A中的内容为(80H)。

8.5 在MCS-51单片机系统中,外接程序存储器和数据存储器共16位地址线和8位数据线,为何不发生冲突?

答:程序存储器和数据存储器虽然公用16位地址线和8位数据线,但由于数据存储器的读和写有/RD(P3.7)和/WR(P3.6)信号控制,而程序存储器有读选通信号/PSEN控制,因此,两者虽然共处同一地址空间,但由于控制信号不同,所以不会发生地址冲突。

8.6 区分MCS-51单片机片外程序存储器和片外数据存储器的最可靠的方法是: (4)

1) 看其位于地址范围的低端还是高端

2) 看其离MCS-51芯片的远近

3) 看其芯片的型号是ROM 还是RAM

4) 看其时与/RD信号连接还是与/PSEN 信号连接

8.7 在存储器扩展中,无论是线选法还是译码法,最终都是为扩展芯片的(片选)端提供的信号。

8.9 起始范围为0000H---3FFFH的存储器的容量是(16)KB

8.10 在MCS-51中,PC 和DPTR 都用于提供地址,但PC是为访问(程序)存储器提供地址,而DPTR是为访问(数据)存储器

8.11 11根地址线可选(2048)个存储单元,16KB存储单元需要(14)根地址线

8.12 32KB RAM存储器的首地址若为2000H,则末地址为(0FFFF)H

8.14 使用89C51芯片外扩1片E2PROM2864 ,要求2864兼作程序存储器和数据存储器,且首地址为8000H,要求:

(1)确定2864芯片的末地址;

(2)画出2864片选端的地址译码电路;

(3)画出该应用系统的硬件连线图。

第九章 MCS-51扩展I/O接口的设计

9.1 I/O接口和I/O 端口有什么区别?I/O接口的功能是什么?

答:I/O端口简称为I/O口,常指I/O接口电路中具有端口地址的寄存器或缓冲器。I/O接口是指单片机与外设间的I/O 接口芯片。一个I/O 接口芯片可以有多个I/O 端口,传送数据的称为数据口传送命令的称为命令口,传送状态的称为状态口。当然,并不是所有的外设都需要三种接口齐全的I/O接口。

9.2 常用的I/O端口编址有哪两种方式?他们各有什么特点?MCS—51的I/O端口编址采用的是哪种方式?

答:有两种独立编址方式和统一编址方式。独立编址方式就是I/O地址空间和存储器地址空间分开编址。独立编址的优点是I/O地址空间的相互独立,界限分明。但是,却需要设置一套专门的读写I/O的指令和控制信号;统一编址方式是把I/O端口的寄存器与数据存储器单元同等对待,统一进行编址。同一编址方式的优点是不需要专门的I/O指令,直接使用访问数据存储器的指令进行I/O操作,简单、方便且功能强大。MCS-51单片机使用的是I/O和外部数据存储器RAM 同一编址的方式。

9.3 I/O 数据传送有哪几种方式?分别在哪些场合下使用?

答:I/O数据传送的几种方式是:同步传送、异步传送和中断传送

(1)同步传送方式

又称为为条件传送。当外设速度可与单片机速度相比拟时,常常采用同步传送方式,最典型的同步传送就是单片机和外部数据存储器之间的数据传送。

(2)查询传送方式

又称为与有条件传送,也称为异步传送。单片机通过查询得知外设准备好后,再进行数据传送。异步传送的优点是通用性好,硬件连线和查询程序十分简单,但是效率不高。为了提高单片机的工作效率,通常采用中断传送方式

(3)中断传送方式

中断传送方式是利用MCS-51本身的中断功能和I./O 接口的中断功能来实现I/O数据的传送。单片机只有在外设准备好后,发出数据传送请求,才中断主程序,而进入与外设进行数据传送的中断服务程序,进行数据的传送。中断服务完成后又返回主程序继续执行。因此,采用中断方式可以大大提高单片机的工作效率.

9.4编写程序,采用8255A的C口按位置位/复位控制字,将PC7置0,PC4置1,(已知8255A各端口的地址为7FFCH-7FFFH)

程序代码:ORG 0000H MOV DPTR,#7FFFH MOV A,#0EH MOVX @DPTR,A MOV A,#09H MOVX @DPTR,A END

9.7 8155H的端口都有哪些?哪些引脚决定端口的地址?引脚TIMERIN和/TIMEROUT的作用是什么?

答:8155H的端口为:2个可编程的8位并行口PA和PB,1个可编程的6位并行口。

TIMERIN和/TIMEROUT:TIMERIN是计数器输入线,输入的脉冲上跳沿用于对8155H片内的14位计数器减1。/TIMEROUT为计数器输出线,当14位计数器减为0时就可以在该引线上输出脉冲或方波,输出信号的形状与所选的计数器工作方式有关。

9.8 判断下列说法是否正确,为什么?

(1)由于8155H不具有抵制锁存功能,因此在与8031的接口电路中必须加地址锁存器。(2)在8155H芯片中,决定端口和RAM单元编址的信号线是AD7-AD0和/WR

(3)8255A 具有三态缓冲器,因此可以直接挂在系统的数据总线上

(4)8255A的B口可以设置成方式2

这四个命题都是错误的。

9.9 现有一片8031,扩展了一片8255A,若把8255A的B口用作输入,B口的每一位接一个开关,A口用作输出,每一位接一个发光二极管,请画出电路原理图,并编写B口某一位开关接高电平时,A口相应位二极管被点亮的程序。

ORG 0000H MOV DPTR,#0003H MOV A,#82H

MOVX @DPTR,A MOV DPTR,#0001H MOVX A,@DPTR MOV DPTR,#0000H MOVX @DPTR,A END

9.10 假设8155H的TIMERIN 引脚输入的频率为4MHz?问8155H的最大定时时间是多少?

答:T=214*(1/4MHz)=4096 μs。

9.11MCS-51的并行接口的扩展有多种方法,在什么情况下,采用扩展8155H比较合适?什么情况下,采用扩展8255A比较适合?

答:需扩展RAM和I/O需用8155H,仅扩展I/O用8255H

9.12 假设8155H的TIMERIN的引脚输入的脉冲频率为1MHz,请编写出在8155H的/TIMEROU引脚上输出周期为10ms的方波的程序。

8155端口地址为: 7F00H-7F05H

程序代码:

ORG 0000H MOV DPTR,#7F04H MOV A,#0E8H MOVX @DPTR,A INC DPTR MOV A,#40H MOVX @DPTR,A MOV DPTR,#7F00H MOV A,#0C0H MOVX @DPTR,A END

第十章 MCS-51 与键盘、显示器的接口设计

10.1 为什么要消除按键的机械抖动?消除按键的机械抖动的方法有哪几种?原理是什么?答:为了确保CPU对一次按键动作只确认一次按键有效,所以必须消除抖动。常采用软件来消除按键抖动,其基本思想是:在第一次检测到有键按下时,该键所对应的行线为低点平,执行一段延时10ms的子程序后,确认该行线电平是否仍为低点平,如果仍为低点平,则确认为该行确实有键按下。当按键松开时,行线的低电平变为高电平,执行一段延时10ms的子程序后,检测该行线为高电平,说明按键确实已经松开。

10.3 LED的静态显示方式与动态显示方式有何区别?各有什么优缺点?

答:详见书本P-P228230

10.5 说明矩阵式键盘按键按下的识别原理

答:详见书本P234

10.7 键盘有哪三种工作方式?它们各自的工作原理及特点是什么?

答:详见书本P -P236237

10.9 根据图10-14的电路,编写在6个LED显示器上轮流显示“1,2,3,4,5,6”的显示程序.

MOV R2,#06H

MOV R0,#79H

MOV A,#01H

LOOP:MOV @RO,A

INC A

INC R0

DJNZ R2,LOOP 以下代码见P239接

DIR:MOV R9,#79H

MOV R3,#01H

。。。。。。。。

第十一章 MCS-51单片机与A/D、D/A转换器的接口11.1 对于电流输出的D/A转换器,为了得到电压的转换结果,应使用(由运算放大器构成的电流/电压转换电路)

11.2 D/A转换器的主要性能指标有哪些?设某DAC为二进制12位,满量程输出电压为5V,试问它的分辨率是多少?

答:D/A转换器的主要性能指标:分辨率、建立时间、精度。

它的分辨率为:5V/2= 1.220703125mv。12

11.3 说明DAC用作程控放大器的工作原理

答:DAC用作程控放大器的工作原理详见:P283

11.4 使用双缓冲方式的D/A转换器,可以实现多路模拟信号的(同时)输出

11.5 MCS-51 与DAC0832接口时,有哪三种连接方式?各有什么特点?各适合在什么场合使用?

答:单缓冲,双缓冲,直通。单缓冲:两个数据缓冲器有一个处于直通方式,另一个受控锁存锁存方式,应用只有一路输出,或多路,不需求同步。双缓冲:数字量的输入锁存和DAC 转换输出分两步完成,适用多路准环的同步输出。直通:所有控制信号均有效,适用于连续反馈控制电路。

11.7 分析A/D转换器产生量化误差的原因,1个8位的A/D转换器,当输入电压为0-5V时,其最大的量化误差是多少?

答:量化过程引起的误差.量化误差是由于有限位数字量对模拟量进行量化而引起的误差,提高分辨率可以减少量化误差。△=+LSB/2=+1/2*5/2 =+89.77mv

11.12 判断下列说法是否正确?

1)转换速率这一指标仅适用于A/D转换器,D/A转换器不用考虑转换速率这一问题(F)

2)ADC0809可以利用转换结束信号EOC向8031发出中断请求(T)

3)输出模拟量的最小变化量称为A/D转换器的分辨率(F)

操作系统习题及答案二

习题二处理器管理 一、单项选择题 1、操作系统中的作业管理是一种()。 A.宏观的高级管理 B.宏观的低级管理 C.系统刚开始加电 D.初始化引导完成 2、进程和程序的本质区别是(). A.存储在内存和外存 B.顺序和非顺序执行机器指今 C.分时使用和独占使用计算机资源 D.动态和静态特征 3、处于后备状态的作业存放在()中。 A.外存 B.内存 C.A和B D.扩展内存 4、在操作系统中,作业处于()时,已处于进程的管理之下。 A.后备 B.阻塞 C.执行 D.完成 5、在操作系统中,JCB是指()。 A.作业控制块 B.进程控制块 C.文件控制块 D.程序控制块 6、作业调度的关键在于()。 A.选择恰当的进程管理程序 B.选择恰当的作业调度算法 C.用户作业准备充分 D.有一个较好的操作环境 7、下列作业调度算法中,最短的作业平均周转时间是()。 A.先来先服务法 B. 短作业优先法 C. 优先数法 D. 时间片轮转法 8、按照作业到达的先后次序调度作业,排队等待时间最长的作业被优先调度,这是指() 调度算法。 A.先来先服务法 B. 短作业优先法 C.时间片轮转法 D. 优先级法 9、在批处理系统中,周转时间是()。 A.作业运行时间 B.作业等待时间和运行时间之和 C.作业的相对等待时间 D.作业被调度进入内存到运行完毕的时间 10、为了对紧急进程或重要进程进行调度,调度算法应采用()。 A.先来先服务法 B. 优先级法 C.短作业优先法 D. 时间片轮转法 11、操作系统中,()负责对进程进行调度。 A.处理机管理 B. 作业管理 C.高级调度管理 D. 存储和设备管理 12、一个进程被唤醒意味着()。 A.该进程重新占有了CPU B.进程状态变为就绪 C.它的优先权变为最大 D.其PCB移至就绪队列的队首 13、当作业进入完成状态,操作系统(). A.将删除该作业并收回其所占资源,同时输出结果 B.将该作业的控制块从当前作业队列中删除,收回其所占资源,并输出结果

操作系统教程_孙钟秀(第四版)课后习题答案

首页入门学 习 程序 员 计算机考 研 计算机电子书 下载 硬件知 识 网络知 识 专业课程答案 下载 视频教程下载 第一章 作者:佚名来源:网络 1、有一台计算机,具有IMB 内存,操作系统占用200KB ,每个用户进程各占200KB 。如果用户进程等待I/O 的时间为80 % ,若增加1MB 内存,则CPU 的利用率提高多少? 答:设每个进程等待I/O 的百分比为P ,则n 个进程同时等待刀O 的概率是Pn ,当n 个进程同时等待I/O 期间CPU 是空闲的,故CPU 的利用率为1-Pn。由题意可知,除去操作系统,内存还能容纳4 个用户进程,由于每个用户进程等待I/O的时间为80 % , 故: CPU利用率=l-(80%)4 = 0.59 若再增加1MB 内存,系统中可同时运行9 个用户进程,此时:cPu 利用率=l-(1-80%)9 = 0.87 故增加IMB 内存使CPU 的利用率提高了47 % : 87 %/59 %=147 % 147 %-100 % = 47 % 2 一个计算机系统,有一台输入机和一台打印机,现有两道程序投入运行,且程序A 先开始做,程序B 后开始运行。程序A 的运行轨迹为:计算50ms 、打印100ms 、再计算50ms 、打印100ms ,结束。程序B 的运行轨迹为:计算50ms 、输入80ms 、再计算100ms ,结束。试说明(1 )两道程序运行时,CPU有无空闲等待?若有,在哪段时间内等待?为什么会等待?( 2 )程序A 、B 有无等待CPU 的情况?若有,指出发生等待的时刻。 答:画出两道程序并发执行图如下: (1)两道程序运行期间,CPU存在空闲等待,时间为100 至150ms 之间(见图

操作系统课后习题答案

第一章 1.设计现代OS的主要目标是什么? 答:(1)有效性(2)方便性(3)可扩充性(4)开放性 4.试说明推劢多道批处理系统形成和収展的主要劢力是什么? 答:主要动力来源于四个方面的社会需求与技术发展: (1)不断提高计算机资源的利用率; (2)方便用户; (3)器件的不断更新换代; (4)计算机体系结构的不断发展。 12.试从交互性、及时性以及可靠性方面,将分时系统不实时系统迚行比较。答:(1)及时性:实时信息处理系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定;而实时控制系统的及时性,是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级到毫秒级,甚至有的要低于100微妙。 (2)交互性:实时信息处理系统具有交互性,但人与系统的交互仅限于访问系统中某些特定的专用服务程序。不像分时系统那样能向终端用户提供数据和资源共享等服务。 (3)可靠性:分时系统也要求系统可靠,但相比之下,实时系统则要求系统具有高度的可靠性。因为任何差错都可能带来巨大的经济损失,甚至是灾难性后果,所以在实时系统中,往往都采取了多级容错措施保障系统的安全性及数据的安全性。 13.OS有哪几大特征?其最基本的特征是什么? 答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。 第二章 2. 画出下面四条诧句的前趋图: S1=a:=x+y; S2=b:=z+1; S3=c:=a –b;S4=w:=c+1; 8.试说明迚程在三个基本状态之间转换的典型原因。 答:(1)就绪状态→执行状态:进程分配到CPU资源 (2)执行状态→就绪状态:时间片用完 (3)执行状态→阻塞状态:I/O请求 (4)阻塞状态→就绪状态:I/O完成

(完整版)操作系统课后题答案

2 . OS的作用可表现在哪几个方面? 答:(1)0S作为用户与计算机硬件系统之间的接口;(2)0S作为计算机系统资源的管理者;(3)0S实现了对计算机资源的抽象。 5 .何谓脱机I/O 和联机I/O ? 答:脱机I/O 是指事先将装有用户程序和数据的纸带或卡片装入纸带输入机或卡片机,在外围机的控制下,把纸带或卡片上的数据或程序输入到磁带上。该方式下的输入输出由外围 机控制完成,是在脱离主机的情况下进行的。而联机I/O方式是指程序和数据的输入输出 都是在主机的直接控制下进行的。 11 . OS有哪几大特征?其最基本的特征是什么? 答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。 20 .试描述什么是微内核OS。 答:(1)足够小的内核;(2)基于客户/服务器模式;(3)应用机制与策略分离原理;(4)采用面向对象技术。 25 ?何谓微内核技术?在微内核中通常提供了哪些功能? 答:把操作系统中更多的成分和功能放到更高的层次(即用户模式)中去运行,而留下一个尽 量小的内核,用它来完成操作系统最基本的核心功能,称这种技术为微内核技术。在微内核 中通常提供了进程(线程)管理、低级存储器管理、中断和陷入处理等功能。 第二章进程管理 2.画出下面四条语句的前趋图: S仁a : =x+y; S2=b : =z+1; S3=c : =a - b ; S4=w : =c+1; 7 ?试说明PCB的作用,为什么说PCB是进程存在的惟一标志? 答:PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构。作用是使一个在 多道程序环境下不能独立运行的程序,成为一个能独立运行的基本单位,成为能与其它进程 并发执行的进程。OS是根据PCB对并发执行的进程进行控制和管理的。 11 .试说明进程在三个基本状态之间转换的典型原因。 答:(1)就绪状态T执行状态:进程分配到CPU资源;(2)执行状态T就绪状态:时间片用 完;(3)执行状态T阻塞状态:I/O请求;(4)阻塞状态T就绪状态:I/O完成. 19 ?为什么要在OS中引入线程? 答:在操作系统中引入线程,则是为了减少程序在并发执行时所付出的时空开销,使OS具

操作系统》第章教材习题解答

第4章存储管理 “练习与思考”解答 1.基本概念和术语 逻辑地址、物理地址、逻辑地址空间、内存空间、重定位、静态重定位、动态重定位、碎片、碎片紧缩、虚拟存储器、快表、页面抖动 用户程序经编译之后的每个目标模块都以0为基地址顺序编址,这种地址称为相对地址或逻辑地址。 内存中各物理存储单元的地址是从统一的基地址开始顺序编址的,这种地址称为绝对地址或物理地址。 由程序中逻辑地址组成的地址范围叫做逻辑地址空间,或简称为地址空间。 由内存中一系列存储单元所限定的地址范围称作内存空间,也称物理空间或绝对空间。 程序和数据装入内存时,需对目标程序中的地址进行修改。这种把逻辑地址转变为内存物理地址的过程称作重定位。 静态重定位是在目标程序装入内存时,由装入程序对目标程序中的指令和数据的地址进行修改,即把程序的逻辑地址都改成实际的内存地址。 动态重定位是在程序执行期间,每次访问内存之前进行重定位。这种变换是靠硬件地址转换机构实现的。 内存中这种容量太小、无法被利用的小分区称作“碎片”或“零头”。 为解决碎片问题,移动某些已分配区的内容,使所有进程的分区紧挨在一起,而把空闲区留在另一端。这种技术称为紧缩(或叫拼凑)。 虚拟存储器是用户能作为可编址内存对待的虚拟存储空间,它使用户逻辑存储器与物理存储器分离,是操作系统给用户提供的一个比真实内存空间大得多的地址空间。 为了解决在内存中放置页表带来存取速度下降的矛盾,可以使用专用的、高速小容量的联想存储器,也称作快表。 若采用的置换算法不合适,可能出现这样的现象:刚被换出的页,很快又被访问,为把它调入而换出另一页,之后又访问刚被换出的页,……如此频繁地更换页面,以致系统的大部分时间花费在页面的调度和传输上。此时,系统好像很忙,但实际效率却很低。这种现象称为“抖动”。 2.基本原理和技术 (1)存储器一般分为哪些层次?各有何特性? 存储器一般分为寄存器、高速缓存、内存、磁盘和磁带。 CPU内部寄存器,其速度与CPU一样快,但它的成本高,容量小。 高速缓存(Cache),它们大多由硬件控制。Cache的速度很快,它们放在CPU内部或非常靠近CPU的地方。但Cache的成本很高,容量较小。 内存(或称主存),它是存储器系统的主力,也称作RAM(随机存取存储器)。CPU可以直接存取内存及寄存器和Cache中的信息。然而,内存中存放的信息是易变的,当机器电源被关闭后,内存中的信息就全部丢失了。 磁盘(即硬盘),称作辅助存储器(简称辅存或外存),它是对内存的扩展,但是CPU不能直接存取磁盘上的数据。磁盘上可以永久保留数据,而且容量特别大。磁盘上数据的存取速度低于内存存取速度。 磁带保存的数据更持久,容量更大,但它的存取速度很慢,而且不适宜进行随机存取。所以,磁带设备一般不能用做辅存。它的主要用途是作为文件系统的后备,存放不常用的信息或用做系统间传送信息的介质。 (2)装入程序的功能是什么?常用的装入方式有哪几种? 装入程序的功能是根据内存的使用情况和分配策略,将装入模块放入分配到的内存区中。 程序装入内存的方式有三种,分别是绝对装入方式、可重定位装入方式和动态运行时装入方式。

C语言课后习题答案(最终)

第0章习题 1. 将下列十进制数分别转化为二进制数、八进制数和十六进制数: (1)128 (2)511 (3)1024 (4)65535 (5)1048575 答: (1)10000000、200、80 (2)111111111、777、1FF (3)10000000000、2000、400 (4)1111111111111111、177777、FFFF (5)11111111111111111111、3777777、FFFFF 2. 将下列二进制数转化为十进制数和十六进制数: (1)1100110101B (2)101101.1011B 答: (1)821、335 (2)45.6875、2D.B 3. 写出下列数的原码、反码、补码:15、-20、-27/32 答: (1)00001111、00000000、00001111 (2)10010100、11101011、11101100 (3)1.1101100、1.0010011、1.0010100 4. 16位无符号定点整数的数值表示范围为多少?8位补码的表示范围是多少?16位补码的表示范围是多少? 答: 0~65535、-128~127、-32768~32767 5.1968年Dijkstra提出结构化程序设计的思想的原因是什么?简要回答结构化程序设计的经典定义。 答: 结构化程序设计概念的提出主要是源于程序结构的层次性与模块化使得构造出来的软件具有良好的可理解性和可维护性,随着软件规模的扩大与复杂性的提高,程序的可维护性成为程序设计者们关注的重要问题之一。 如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。 6.C程序在内存中存储在哪儿?计算机的内存空间是如何分区的?分区存放不同类型的数据的目的是什么? 答:

操作系统课后习题答案2知识分享

2. 进程和线程的管理 例题解析 例2.2.1 试说明进程和程序之间的区别和联系。 解进程和程序是既有区别又有联系的两个概念。 进程是动态的,程序是静态的。程序是一组有序的指令集合,是一个静态的概念;进程则是程序及其数据在计算机上的一次执行,是一个动态的集合。离开了程序,进程就失去了存在的意义,但同一程序在计算机上的每次运行将构成不同的进程。程序可看作是电影的胶片,进程可以看作电影院放电影的过程。 一个进程可以执行多个程序,如同一个电影院的一场电影可放映多部影片。 一个程序可被多个进程执行,如同多个影院同时利用一个电影的胶片放映同一部电影。 程序可以长期保存,进程只能存在于一段时间。程序是永久存在的,而进程有从被创建到消亡的生命周期。 例2.2.2 举例说明多道程序系统失去了封闭性和再现性。 解例如,有两个循环程序A和B,共享一个变量N。程序A每执行一次时,都要做N:=N+1操作;程序B则每执行一次时,都要执行print(N)操作,然后再将N的值置成“0”。程序A 和B在多道程序系统中同时运行。假定某时刻变量N的值为n,可能出现下述三种情况:N:=N+1 在print(N)和N:=0之前,此时得到N值变化过程为n+1、n+1、0; N:=N+1 在print(N)和N:=0之后,此时得到N值变化过程为n 、0 、1; N:=N+1 在print(N)之后和N:=0之前,此时得到N值变化过程为n、n+1、0。 所以,在A、B程序多次执行过程中,虽然其每次执行时的环境和初始条件都相同,但每次得到的结果却不一定相同。 例2.2.3 为什么将进程划分成执行、就绪和阻塞三个基本状态? 解根据多道程序执行的特点,进程的运行是走走停停的。因此进程的初级状态应该是执行和等待状态。处于执行状态的进程占用处理机执行程序,处于等待状态的进程正在等待处理机或者等待其它某种事件的发生。但是,当处理机空闲时,并不是所有处于等待状态的进程都能放到处理机上执行,有的进程即使分配给它处理机,它也不能执行,因为它的执行的条件没有得到满足。因此,将等待状态的进程分成两部分,一部分是放在处理机上就能立即执行,这就是就绪的进程;另一部分是仍需等某种事件发生的进程,即使放在处理机上也不能执行的进程,这就是阻塞进程。 例2.2.4 进程的挂起状态与进程的阻塞状态和就绪状态有何异同? 解相同点是它们都没有占用处理机。不同点是挂起状态的进程是处于一种静止状态,不会参与对资源的竞争,在解除挂起之前,进程不会有新的资源要求,也不会有占用处理机的机会;阻塞状态和就绪状态的进程均处于活动状态,它们都有获得处理机的机会,都可能有新的资源要求。 例2.2.5 两个并发进程P1和P2的程序代码在下面给出。其中,A、B、C、D和E均为原语。 P1: begin P2: begin A; D; B; E; C; end end 请给出P1、P2两个进程的所有可能执行的过程。

计算机操作系统教程课后答案

第一章绪论 1.什么是操作系统的基本功能? 答:操作系统的职能是管理和控制汁算机系统中的所有硬、软件资源,合理地组织计算 机工作流程,并为用户提供一个良好的工作环境和友好的接口。操作系统的基本功能包括: 处理机管理、存储管理、设备管理、信息管理(文件系统管理)和用户接口等。 2.什么是批处理、分时和实时系统?各有什么特征? 答:批处理系统(batchprocessingsystem):操作员把用户提交的作业分类,把一批作业编成一个作业执行序列,由专门编制的监督程序(monitor)自动依次处理。其主要特征是:用户脱机使用计算机、成批处理、多道程序运行。 分时系统(timesharingoperationsystem):把处理机的运行时间分成很短的时间片,按时间片轮转的方式,把处理机分配给各进程使用。其主要特征是:交互性、多用户同时性、独立性。 实时系统(realtimesystem):在被控对象允许时间范围内作出响应。其主要特征是:对实时信息分析处理速度要比进入系统快、要求安全可靠、资源利用率低。 3.多道程序(multiprogramming)和多重处理(multiprocessing)有何区别? 答;多道程序(multiprogramming)是作业之间自动调度执行、共享系统资源,并不是真正地同时执行多个作业;而多重处理(multiprocessing)系统配置多个CPU,能真正同时执行多道程序。要有效使用多重处理,必须采用多道程序设计技术,而多道程序设计原则上不一定要求多重处理系统的支持。 4.讨论操作系统可以从哪些角度出发,如何把它们统一起来? 答:讨论操作系统可以从以下角度出发: (1)操作系统是计算机资源的管理者; (2)操作系统为用户提供使用计算机的界面; (3)用进程管理观点研究操作系统,即围绕进程运行过程来讨论操作系统。

最新c语言课后习题答案汇总

c语言课后习题答案

第二章习题 2.什么叫做结构化算法?为什么要提倡结构化算法? 答:结构化算法是由一些基本结构顺序组成的。在基本结构之间不存在向前或向后的跳转,流程的转移只存在于一个基本的结构范围内。一个非结构化的算法可以用一个等价的结构化算法代替,其功能不变。 跟结构化算法比较起来,非结构化算法有以下缺点: 流程不受限制的随意转来转去,使流程图豪无规律使人在阅读的时候难以理解算法的逻辑.难以阅读,也难以修改,从而使算法的可靠性和可维护性难以保证。 4. 第三章习题 1.#include #include void main() { unsigned int n;

float p,p1,r=0.09; scanf("%u",&n); p=pow(1+r,n); p1=(p-1)*100; printf("%5.2f%%\n",p1); } 运行结果:输入,回车,见结果: 2.#include #include int main() { int bj=1000; float r1,r2,r3,r5,r0,lx1,lx2,lx3,lx4,lx5; r1=0.0414; r2=0.0468; r3=0.0540; r5=0.0585; r0=0.0072; lx1=bj*r5; lx2=bj*(1+r2)*r3; lx3=bj*(1+r3)*r2; lx4=bj*pow(1+r1,5); lx5=bj*r0*5; printf("lx1=%f lx2=%f lx3=%f lx4=%f lx=5%f\n",lx1,lx2,lx3,lx4,lx5); return 0; } 运行结果: 3.#include #include int main() { long d,p; d=300000; p=6000; double m,r=0.01; m=log(p/(p-d*r))/log(1+r); printf("%4.2f",m); return 0;

操作系统课后题及答案

第一章 1 .设计现代OS 的主要目标是什么? 答:(1)有效性(2)方便性(3)可扩充性(4)开放性 2 .OS 的作用可表现在哪几个方面? 答:(1)OS作为用户与计算机硬件系统之间的接口 (2)OS 作为计算机系统资源的管理者 (3)OS 实现了对计算机资源的抽象 4 .试说明推动多道批处理系统形成和发展的主要动力是什么?答:主要动力来源于四个方面的社会需求与技术发展: (1)不断提高计算机资源的利用率; (2)方便用户; (3)器件的不断更新换代; (4)计算机体系结构的不断发展。 7 .实现分时系统的关键问题是什么?应如何解决?答:关键问题是当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,在用户能接受的时延内将结果返回给用户。 解决方法:针对及时接收问题,可以在系统中设置多路卡,使主机能同时接收用户从各个终端上输入的数据;为每个终端配置缓冲区,暂存用户键入的命令或数据。针对及时处理问题,应使所有的用户作业都直接进入内存,并且为每个作业分配一个时间片,允许作业只在自己的时间片内运行,这样在不长的时间内,能使每个作业都运行一次。 12 .试从交互性、及时性以及可靠性方面,将分时系统与实时系统进行比较。 答:( 1 )及时性:实时信息处理系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定;而实时控制系统的及时性,是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级到毫秒级,甚至有的要低于100 微妙。 (2)交互性:实时信息处理系统具有交互性,但人与系统的交互仅限于访问系统中某些特定的专用服务程序。不像分时系统那样能向终端用户提供数据和资源共享等服务。 (3)可靠性:分时系统也要求系统可靠,但相比之下,实时系统则要求系统具有高度 的可靠性。因为任何差错都可能带来巨大的经济损失,甚至是灾难性后果,所以在实时系统中,往往都采取了多级容错措施保障系统的安全性及数据的安全性。 13 .OS 有哪几大特征?其最基本的特征是什么?答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。

计算机操作系统课后题答案(高等教育出版社)

练习题(一) Ⅰ问答题 1. 操作系统的两个主要目标是什么? 答:方便性与有效性。 2. 试说明操作系统与硬件、其它系统软件以及用户之间的关系? 答: 与硬件的关系:操作系统是位于硬件层上的第一层软件,它直接管理着计算机的硬件,合理组织计算机工作流程,并提高了硬件的利用率。。 与其他系统软件的关系:操作系统是系统软件,但它不同于其它系统软件和应用软件,它为其它系统软件和应用软件提供接口。应用软件要使用操作系统所提供的服务方可方便使用计算机。 与用户之间的关系:操作系统是为改善人机界面、提供各种服务,为用户使用计算机提供良好运行环境的一种系统软件。 3. 试论述操作系统是建立在计算机硬件平台上的虚拟计算机系统。 答:没有任何软件支持的计算机称为裸机,即使其硬件功能再强,也必定是难于使用的。而实际呈现在用户面前的计算机系统是经过若干层软件改造的计算机。裸机位于最里层,它的外面是操作系统,经过操作系统提供的资源管理功能和方便用户的各种服务功能,将裸机改造成功能更强、使用更方便的机器,通常把覆盖了软件的机器称为扩充机器,又称之为虚拟机(Virtual Machine ),这样的计算机系统是概念上和逻辑上的计算机,不是物理上的真实计算机。 4. 什么是操作系统?它有哪些基本功能与基本特征? 答:操作系统是位于硬件层之上,所有其它软件层之下的一种系统软件,它控制和管理计算机系统资源、合理组织计算机工作流程、提供用户与计算机系统之间的接口。 操作系统的基本功能有:处理器管理、存储器管理、设备管理、文件管理和提供用户接口。 操作系统的基本特征有:并发性、共享性、虚拟性和不确定性。 5. 请叙述并发和并行两个概念的区别? 答:并发性是指两个或多个程序在同一时间段内同时执行,是宏观上的同时。而并行性是从硬件意义上考虑,是不同硬件部件(如CPU与I/O)在同一时刻的并行,即微观上,多个程序也是同时执行的。 6. 什么是多道程序设计? 在操作系统中使用这种技术有什么好处? 答:多道程序设计是指在计算机内存中同时存放若干道已开始运行尚未结束的程序,它们交替运行,共享系统中的各种硬、软件资源,从而使处理机得到充分利用。 好处: ①提高了CPU的利用率。各道程序是轮流占用一个CPU,交替地执行。 ②改进了系统的吞吐量(系统吞吐量是指计算机系统在单位时间内完成的总工作量)。 ③充分发挥了系统的并行性,使CPU与I/O并行工作。提高CPU、设备、内存等各种资源的利用率,从而提高系统效率。

操作系统教程习题答案

《操作系统教程》习题答案

习题1 1.单项选择题 (1)大中小型计算机是以为中心的计算机系统。 A、CPU B、存储器 C、系统总线 D、通道 (2)以下关于操作系统的说法正确的是。 A、批处理系统是实现人机交互的系统 B、批处理系统具有批处理功能,但不具有交互能力 C、分时系统是实现自动控制,无须人为干预的系统 D、分时系统即具有分时交互能力,又具有批处理能力 (3)操作系统的职能是管理软硬件资源、合理地组织计算机工作流程和。 A、为用户提供良好的工作环境和接口 B、对用户的命令作出快速响应 C、作为服务机构向其它站点提供优质服务 D、防止有人以非法手段进入系统 (4)设计实时操作系统时,首先应考虑系统的。 A、可靠性和灵活性 B、实时性和可靠性 C、优良性和分配性 D、灵活性和分配性 (5)多道程序设计是指。 A、在分布式系统中同一时刻运行多个程序 B、在一台处理器上并行运行多个程序 C、在实时系统中并发运行多个程序 D、在一台处理器上并发运行多个程序 (6)以下关于并发性和并行性的说法正确的是。 A、并发性是指两个及多个事件在同一时刻发生 B、并发性是指两个及多个事件在同一时间间隔内发生 C、并行性是指两个及多个事件在同一时间间隔内发生 D、并发性是指进程,并行性是指程序 (1)B (2)B (3)A (4)B (5)D (6)B 2.填空题 (1)微机是以总线为纽带构成的计算机系统。 (2)在批处理兼分时系统中,往往把由分时系统控制的作业称为前台作业,把由批处理系统控制的作业称为后台作业。 (3)在分时系统中,若时间片长度一定,则用户数越多,系统响应时间越慢。 (4)分布式操作系统能使系统中若干台计算机协同完成一个共同的任务,分解问题成为子计算并使之在系统中各台计算机上并行执行,以充分利用各计算机的优势。 (5)用户通过网络操作系统可以网络通信、资源共享,从而大大扩展了计算机的应用范围。 3.简答题 (1)什么是操作系统?现代操作系统的基本特征是什么?并发性 (2)什么是批处理系统,衡量批处理系统好坏的主要指标是什么?及时性 (3)试述分时系统的原理及其特性。时间片原则交互性同时性独立性及时性

《C语言程序设计》课后习题答案(第四版)谭浩强

第1章程序设计和C语言1 1.1什么是计算机程序1 1.2什么是计算机语言1 1.3C语言的发展及其特点3 1.4最简单的C语言程序5 1.4.1最简单的C语言程序举例6 1.4.2C语言程序的结构10 1.5运行C程序的步骤与方法12 1.6程序设计的任务14 1-5 #include int main ( ) { printf ("**************************\n\n"); printf(" Very Good!\n\n"); printf ("**************************\n"); return 0; } 1-6#include int main() {int a,b,c,max; printf("please input a,b,c:\n"); scanf("%d,%d,%d",&a,&b,&c); max=a; if (max

2.5结构化程序设计方法34 习题36 第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例37 3.2数据的表现形式及其运算39 3.2.1常量和变量39 3.2.2数据类型42 3.2.3整型数据44 3.2.4字符型数据47 3.2.5浮点型数据49 3.2.6怎样确定常量的类型51 3.2.7运算符和表达式52 3.3C语句57 3.3.1C语句的作用和分类57 3.3.2最基本的语句——赋值语句59 3.4数据的输入输出65 3.4.1输入输出举例65 3.4.2有关数据输入输出的概念67 3.4.3用printf函数输出数据68 3.4.4用scanf函数输入数据75 3.4.5字符数据的输入输出78 习题82 3-1 #include #include int main() {float p,r,n; r=0.1; n=10; p=pow(1+r,n); printf("p=%f\n",p); return 0; } 3-2-1 #include #include int main() {float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5; p=1000;

计算机操作系统课后习题答案第二章

第二章 1. 什么是前趋图?为什么要引入前趋图? 答:前趋图(Precedence Graph)是一个有向无循环图,记为DAG(Directed Acyclic Graph),用于描述进程之间执行的前后关系。 2. 画出下面四条诧句的前趋图: S1=a:=x+y; S2=b:=z+1; S3=c:=a-b; S4=w:=c+1; 答:其前趋图为: 3. 为什么程序并发执行会产生间断性特征? 程序在并发执行时,由于它们共享系统资源,以及为完成同一项任务而相互合作,致使在这些并发执行的进程之间,形成了相互制约的关系,从而也就使得进程在执行期间出现间断性。 4. 程序并发执行时为什么会失去封闭性和可再现性? 因为程序并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态是由多个程序来改变,致使程序的运行失去了封闭性。而程序一旦失去了封闭性也会导致其再失去可再现性。 5. 在操作系统中为什么要引入进程概念?它会产生什么样的影响? 为了使程序在多道程序环境下能并发执行,并能对并发执行的程序加以控制和描述,从而在操作系统中引入了进程概念。影响: 使程序的并发执行得以实行。 6. 试从动态性,并发性和独立性上比较进程和程序? a. 动态性是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只是一组有序指令的集合,是静态实体。 b. 并发性是进程的重要特征,同时也是OS的重要特征。引入进程的目的正是为了使其程序能和其它建立了进程的程序并发执行,而程序本身是不能并发执行的。 c. 独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位。而对于未建立任何进程的程序,都不能作为一个独立的单位来运行。 7. 试说明PCB的作用?为什么说PCB是进程存在的唯一标志? a. PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构。PCB中记录了操作系统所需的用于描述进程情况及控制进程运行所需的全部信息。因而它的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能和其它进程并发执行的进程。 b. 在进程的整个生命周期中,系统总是通过其PCB对进程进行控制,系统是根据进程的PCB而不是任何别的什么而感知到该进程的存在的,所以说,PCB是进程存在的唯一标志。 11.试说明进程在三个基本状态之间转换的典型原因。 答:(1)就绪状态→执行状态:进程分配到CPU资源(2)执行状态→就绪状态:时间片用完(3)执行状态→阻塞状态:I/O请求(4)阻塞状态→就绪状态:I/O完成 12.为什么要引入挂起状态?该状态有哪些性质? 答:引入挂起状态处于五种不同的需要: 终端用户需要,父进程需要,操作系统需要,对换需要和负荷调节需要。处于挂起状态的进程不能接收处理机调度。10.在进行进程切换时,所要保存的处理机状态信息有哪些?答:进行进程切换时,所要保存的处理机状态信息有:(1)进程当前暂存信息(2)下一指令地址信息(3)进程状态信息(4)过程和系统调用参数及调用地址信息。13.在进行进程切换时,所要保存的处理机状态信息有哪些? 答:进行进程切换时,所要保存的处理机状态信息有: (1)进程当前暂存信息 (2)下一指令地址信息 (3)进程状态信息 (4)过程和系统调用参数及调用地址信息。 14.试说明引起进程创建的主要事件。答:引起进程创建的主要事件有:用户登录、作业调度、提供服务、应用请求。 15.试说明引起进程被撤销的主要事件。答:引起进程被撤销的主要事件有:正常结束、异常结束(越界错误、保护错、非法指令、特权指令错、运行超时、等待超时、算术运算错、I/O 故障)、外界干预(操作员或操作系统干预、父进程请求、父进程终止)。 16.在创建一个进程时所要完成的主要工作是什么? 答:(1)OS 发现请求创建新进程事件后,调用进程创建原语Creat();(2)申请空白PCB;(3)为新进程分配资源;(4)初始化进程控制块;(5)将新进程插入就绪队列. 17.在撤销一个进程时所要完成的主要工作是什么? 答:(1)根据被终止进程标识符,从PCB 集中检索出进程PCB,读出该进程状态。(2)若被终止进程处于执行状态,立即终止该进程的执行,臵调度标志真,指示该进程被终止后重新调度。(3)若该进程还有子进程,应将所有

操作系统教程第5版部分习题标准答案

第一章: 一、3、10、15、23、27、35 3.什么是操作系统?操作系统在计算机系统中的主要作用是什么? 操作系统是管理系统资源、控制程序执行、改善人机界面、提供各种服务,并合理组织计算机工作流程和为用户有效地使用计算机提供良好运行环境的一种系统软件. 主要作用 (1)服务用户—操作系统作为用户接口和公共服务程序 (2)进程交互—操作系统作为进程执行的控制者和协调者 (3)系统实现—操作系统作为扩展机或虚拟机 (4)资源管理—操作系统作为资源的管理者和控制者 10.试述系统调用与函数(过程)调用之间的区别。 (1)调用形式和实现方式不同; (2)被调用的代码位置不同; (3)提供方式不同 15.什么是多道程序设计?多道程序设计有什么特点? 多道程序设计是指允许多个作业(程序)同时进入计算机系统内存并执行交替计算的方法。从宏观上看是并行的,从微观上看是串行的。 (1)可以提高CPU、内存和设备的利用率; (2)可以提高系统的吞吐率,使单位时间内完成的作业数目增加; (3)可以充分发挥系统的并行性,使设备和设备之间,设备和CPU之间均可并行工作。 23.现代操作系统具有哪些基本功能?请简单叙述之。 (1)处理器管理; (2)存储管理; (3)设备管理; (4)文件管理; (5)联网与通信管理。 27.什么是操作系统的内核? 内核是一组程序模块,作为可信软件来提供支持进程并发执行的基本功能和基本操作,通常驻留在内核空间,运行于内核态,具有直接访问计算机系统硬件设备和所有内存空间的权限,是仅有的能够执行特权指令的程序。 35.简述操作系统资源管理的资源复用技术。

系统中相应地有多个进程竞争使用资源,由于计算机系统的物理资源是宝贵和稀有的,操作系统让众多进程共享物理资源,这种共享称为资源复用。 (1)时分复用共享资源从时间上分割成更小的单位供进程使用; (2)空分复用共享资源从空间上分割成更小的单位供进程使用。 . 二、2、5 2、答:画出两道程序并发执行图如下: (1) (见图中有色部分)。 (2)程序A无等待现象,但程序B有等待。程序B有等待时间段为180ms至200ms间(见 图中有色部分)。 5、答:画出三个作业并行工作图如下(图中着色部分为作业等待时间):

C语言课后作业答案

3-5-1正确 大写字母转化成小写或者小写变大写 #include void main() { char ch; printf("请输入一个字符:"); scanf("%c",&ch); if(ch>='A'&&ch<='Z'||ch>='a'&&ch<='z') { if(ch>='A'&&ch<='Z')ch=ch+32; else ch=ch-32; } else ch=ch; printf("%c\n",ch); } 3-5-2大写转化成小写或者小写变大写 #include void main() { char ch; printf("请输入一个字符:"); scanf("%c",&ch); ch=ch; { if(ch>='A'&&ch<='Z')ch=ch+32; else ch=ch-32; } printf("%c\n",ch); } 3-5-3大写转化成小写或者小写变大写 #include void main() { char ch; printf("请输入一个字符:"); scanf("%c",&ch); if(ch>='a'&&ch<='z') ch=ch-32; else if(ch>='A'&&ch<='Z') ch=ch+32; else ch=ch; printf("%c\n",ch); } 3-6-1正确分段函数

#include void main() { int x,y; printf("请输入x:"); scanf("%d",&x); if(x<=1) y=x; else { if(1 void main() { int x,y; printf("请输入x:"); scanf("%d",&x); if(x>=10) y=3*x-8; else if(x>1) y=2*x+1; else y=x; printf("x=%d,y=%d\n",x,y); } 3 -6 -3正确 #include void main() { int x,y; printf("请输入x:"); scanf("%d",&x); if(x<=1) y=x; else if(1=10) y=3*x-8; printf("x=%d,y=%d\n",x,y); } 计算器正确 #include void main() {

计算机操作系统习题及答案

第3章处理机调度1)选择题 (1)在分时操作系统中,进程调度经常采用_D_ 算法。 A. 先来先服务 B. 最高优先权 C. 随机 D. 时间片轮转 (2)_B__ 优先权是在创建进程时确定的,确定之后在整个进程运行期间不再改变。 A. 作业 B. 静态 C. 动态 D. 资源 (3)__A___ 是作业存在的惟一标志。 A. 作业控制块 B. 作业名 C. 进程控制块 D. 进程名 (4)设有四个作业同时到达,每个作业的执行时间均为2小时,它们在一台处理器上按单道方式运行,则平均周转时间为_ B_ 。 A. l小时 B. 5小时 C. 2.5小时 D. 8小时 (5)现有3个同时到达的作业J1、J2和J3,它们的执行时间分别是T1、T2和T3,且T1<T2<T3。系统按单道方式运行且采用短作业优先算法,则平均周转时间是_C_ 。 A. T1+T2+T3 B. (T1+T2+T3)/3 C. (3T1+2T2+T3)/3 D. (T1+2T2+3T3)/3 (6)__D__ 是指从作业提交给系统到作业完成的时间间隔。 A. 运行时间 B. 响应时间 C. 等待时间 D. 周转时间 (7)下述作业调度算法中,_ C_调度算法与作业的估计运行时间有关。 A. 先来先服务 B. 多级队列 C. 短作业优先 D. 时间片轮转 2)填空题 (1)进程的调度方式有两种,一种是抢占(剥夺)式,另一种是非抢占(非剥夺)式。 (2)在_FCFS_ 调度算法中,按照进程进入就绪队列的先后次序来分配处理机。 (3)采用时间片轮转法时,时间片过大,就会使轮转法转化为FCFS_ 调度算法。 (4)一个作业可以分成若干顺序处理的加工步骤,每个加工步骤称为一个_作业步_ 。 (5)作业生存期共经历四个状态,它们是提交、后备、运行和完成。 (6)既考虑作业等待时间,又考虑作业执行时间的调度算法是_高响应比优先____ 。 3)解答题 (1)单道批处理系统中有4个作业,其有关情况如表3-9所示。在采用响应比高者优先调度算法时分别计算其平均周转时间T和平均带权周转时间W。(运行时间为小时,按十进制计算) 表3-9 作业的提交时间和运行时间

C语言课后答案

习题一 一、简答题 1.顺序结构、选择(分支)结构和循环结构。 2. (1)

(2)

3.编辑、编译、连接和运行 二、填空题 1. Ctrl+F9;Alt+F5;F2。 2. main(主) 3. main(主) 4. 任意 5. /* */ 不 6. ; 7.。 程序: include studio.h main{} /* this program prints the number of weeks in a year. /* ( int s s:=52; print(There are s weeks in a year"); 正确的为: #include main() /* this program prints the number of weeks in a year. */ { int s; s=52; printf("There are s weeks in a year"); }

习题二 一、选择题 1、C 2、B,D,F,G 3、C 4、A 5、C 6、B 二、填空题 1、声明;使用。 2、整型、浮点型(实型)、字符型。 3、hat_1,cat1,all, Dollar, piece_f, SIN, _ , FALSE. 4、'A'(字符),005(整型),3e0(整型),'\\'(字符),'\05'(字符), 1.2e+5(整型),0xf12(整型)。 5、(1)6+(4+5)*(4+5)/(2+3) (2)sin(a+b)*ain(a+b)/ (4*2)/(3*2)+2 三、读程题 1.若x为float型,其原值为5,a=2,b=4.7。写出下列表达式运算后x的值。 (1)x=(int)(b-a)%3*a/4-a (2)x=(x=b+1)+(int)(b)%10/2.0 (3)x+=x (4)x-=x (5)x*=x+x (6)x/=x+x (7)x+=x-=x*=x (8)x%=x (9)x=3*4,5*6 答案:(1)-1,(2)7.7,(3)10,(4)0,(5)50,(6)0.5,(7)0,(8)非法,(9)12。 2.写出下面程序的运行结果。 #include void main() { int a=2; printf("abcdefghijk\n"); printf("lmnop/n"); printf("I am a /n beginner of C !"); printf("I am a \n beginner of C !"); printf("%d + %d = %d",a,a,a); } 答案: abcdefghijk

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