中断在操作系统中的应用

中断在操作系统中的应用
中断在操作系统中的应用

中断在操作系统中的应用

(**大学电子信息学院,四川成都 610065)

摘要: 计算机执行期间,系统内如果发生任何非寻常的或非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序而转去执行相应的时间处理程序,待处理完毕后又会返回原来被中断处继续执行或调度新的进程执行的过程。这就是中断过程,文章主要讲述中断在操作系统中的应用,并从以下几方面进行讨论:中断实现的机制,系统调用与中断的关系,最后列举出3-5个硬件中断的例子,并详细的讨论其工作原理。

关键词:中断;操作系统;实现机制;系统调用

the application of interrupt in the operating system

LIU Di

(Electronics and Information Engineering, Sichuan University, Chengdu, 610065, China)

Abstract: during computer execution if there was some unusual or unexpected events what was badly needed to deal with in the system, the CPU interrupted temporarily the program what was executing and started to execute the time hander,when the behind was over, it would continue the original work.This was interrupt,the article focused on describing the application of interrupt in the operating system, and would discuss from the following aspects: the implementation mechanism of interrupt, the relationship between the system call and interrupt, enumerate several examples about hardware interrupts ,and discussed their working principle in detail.

Key words: interrupt;operating system;implementation mechanism;system call

一、引言

中断是CPU实时地处理内部或外部事件的一种内部机制。当某种内部或外部事件发生时,中断系统将迫使CPU暂停正在执行的程序,转而去进行中断事件的处理,中断处理完毕后,又返回被中断的程序处,继续执行下去。但中断技术发展到今天,中断已不再限于只能由外部设备产生,中断可以由程序预先安排,即所谓软件中断。中断是计算机中的一个十分重要的概念,在现代计算机中毫无例外地都要采用中断技术,随着计算机的发展,中断系统不仅能解决前述快速主机和慢速外设的矛盾,还能实现像分时操作、实时处理、故障处理等操作。但还有一类是由于CPU执行指令引起的中断,这种中断又叫异常。中断:由硬件电平引起,恢复后 CPU 执行下一条指令异常:由软件指令引起,恢复后 CPU 重新执行该条指令以下将从几个方面讨论中断在操作系统中的作用,并举例说明。

二、中断实现的机制

先是中断源,即引起中断的原因或发出中断申请的来源,它有以下几类:(1)外部设备请求中断(2)实时时钟请求中断(3)故障请求中断,三种中断原因具有随机性,是由外部事件引起的。再是中断处理过程,一个完整的中断处理过程应该包括中断请

求、中断排队或称中断判优、中断响

应、中断处理和中断返回等环节。(1)中断请求是由中断源像CPU发出中断请求信号,但条件是外部设备工作已经告一段落或系统允许该外设发出中断请求;

(2)中断排队是预先安排一个优先级顺序,当多个中断源同时申请中断时,即按此优先级顺序进行排队,等候CPU 处理,一般是把最紧迫和速度最高的设备排在最优先的位置上,排队即可采用硬件的方法也可用软件的方法,各有所长所短;

(3)经中断排队后, CPU收到一个当前申请中断的中断源中优先级别最高的中断请求信号,如果满足条件,则中止执行现行程序,响应中断申请,条件是有中断请求信号,中断请求没有被屏蔽,CPU允许响应中断请求,CPU在现行指令执行结束,响应步骤:

1、标志寄存器内容入栈

2、IF清零

3、保护断点,即当前CS、IP入栈

4、寻找中断服务程序入口地址

然后寻找中断服务程序入口地址的方法有软件查询方式,而在硬件方式中,目前大都采用矢量中断方式;

(4)中断处理过程包括:

①保护现场:保护中断服务程序中所要使用到的寄存器内容,用PUSH指令将所有在中断服务子程序中用到的寄存器压入堆栈。

②进行与此次中断有关的服务处理

③恢复现场:恢复中断前各寄存器的内容.在中断服务子程序结束前(IRET 指令前)用POP指令把刚才压入堆栈的寄存器弹回

④如果在中断服务程序中允许中断嵌套,还应将IF=1(即开中断) 。

(5)最后是中断返回,先是执行指令IRET,断点CS、IP出栈,标志寄存器FR出栈,然后被中断的程序就可以从断点处继续执行,于是CPU从中断服务程序又返回到被中断的主程序。三、系统调用与中断的关系

在系统中真正被所有进程都使用的内核通信方式是系统调用。例如当进程请求内核服务时,就使用的是系统调用。一般情况下,进程是不能够存取系统内核的。它不能存取内核使用的内存段,也不能调用内核函数,CPU的硬件结构保证了这一点。只有系统调用是一个例外。进程使用寄存器中适当的值跳转到内核中事先定义好的代码中执行,(当然,这些代码是只读的)。在Intel结构的计算机中,这是由中断0x80实现的。

系统调用,都是指操作系统的开发者,提供了许多系统的程序库,实现输入/输出等基本的功能,我们编写程序的时候就调用这些程序库,不必要自己到显示器上绘图和读取键盘端口。在UNIX操作系统下,系统调用主要是C语言格式调用的一些函数库。比如printf和scanf函数,我们写程序的时候直接可以用,编译系统把它转变为对操作系统函数库调用的代码,目标文件可以独立运行。在WINDOWS系统,系统调用主要是以一系列的DLL、EXE文件方式给出,比如USER32.DLL、NTDLL.DLL等,编写程序的时候可以直接调用里面的GETDC等函数库。在DOS系统下,操作系统不以函数库形式提供系统调用,而是把整个操作系统的所有代码都LOAD到内存里面,把相关系统调用功能安装到中断接口里面,我们写的程序需要调用的时候,调用相应的中断。比如打开文件等操作,就调用INT 21。

当CPU执行到中断指令“INT 0x80”时,硬件就做出一系列响应,其动作与上述的中断响应相同。CPU穿过陷阱门,从用户空间进入系统空间。相应地,进程的上下文从用户堆栈切换到系统堆栈。接着运行内核函数

system_call ()。首先,进一步保存各寄存器的内容;接着调用syscall_trace( ),以系统调用号为下标检索系统调用入口表sys_call_table ,从中找到相应的函数;然后转去执行该函数,完成具体的服务。执行完服务程序,核心检查是否发生错误,并作相应处理。如果本进程收到信号,则对信号作相应处理。最后进程从系统空间返回到用户空间。这主要是Linux 内核中系统调用与中断的联系。 四、硬件中断举例

例1 使用外部中断0,当每次响应中断时,P1口依次输出高电

平,使8个发光二极管依次循环熄灭闪烁。

1) 电路设计

ORG 0000H LJMP MAIN ;转主程序

ORG 0003H ;外部中断0入口地址 LJMP EXTER ;转中断程序 ORG 1000H

MAIN : SETB IT0 ;外部中断0下降沿有效

SETB EX0 ;外部中断0允许 SETB EA ;总中断允许

LOOP : AJMP LOOP ;等待中断

ORG 1050H ;中断程序入口

EXTER : MOV R2, #0FFH ;置循环次数 MOV A , #01H ;灯亮初值FLASH : RR A ;右移一位

MOV R7, #0FFH ;定时 LOOP1: MOV R6, #0FFH LOOP2: NOP NOP

DJNZ R6, LOOP2 DJNZ R7, LOOP1

MOV P1, A ;控制灯的亮灭 DJNZ R2, FLASH ;循环 RETI ;中断返回 END

例2 定时器举例

通过定时器1来产生中断,控制P1.0线上的脉冲输出,并经三极管驱动扬声器,发出音调信号。 1) 电路设计

ORG 0000H

LJMP MAIN

ORG 001BH ;中断入口地址 CPL P1.0 RETI ORG 1000H

MAIN : MOV R1, #00H MOV R0, #23H

MOV TMOD , #20H ;定时器1工作方式2

MOV IE, #88H ;定时器1允许中断 L1: MOV DPTR , #3FFFH

MOV A, R0 ;取数

INC R0 ;修改指针

MOVC A, @A+PC ;查表

JZ MAIN

MOV R1, A ;计算计数初值

MOV A, #0FFH

CLR C

SUBB A, R1

RL A

MOV TH1, A ;置计数初值

SETB TR1 ;开始计数

L2: CLR C

MOV A, DPL ;延时

SUBB A, #01H

MOV DPL, A

MOV A, DPH

SUBB A, #00H

MOV DPH, A

ORL A, DPL

JNZ L2

CLR TR1

SJMP L1

END

ORG 1031H ;歌曲“送别”编码

DB 33H,33H,3DH,33H,26H

DB 26H, 26H, 26H,2DH,2DH

DB 26H,2DH,33H,33H,33H

DB 33H, 33H,33H,4DH,45H

DB 45H, 45H45H, 45H, 45H

DB 45H, 45H,33H,33H,3DH

DB 33H,26H,26H,26H, 28H

DB 2DH, 2DH, 26H,26H,33H

DB 33H,33H,33H,45H,3DH

例3路标导向灯

把8只LED发光二极管设计为依次发光,也就是在图9.3所示的16个显示状态之间轮流切换,并且在各个状态之间切换时,插入一个250ms的延时。例如,在“此路通向邮电学校”8个字后面安置8只背光灯。在电路工作时,按照“此→路→通→向→邮→电→学→校”的顺序依次被点亮,从而起到为行人引导指路的作用。在8只灯全部被点亮后,再同熄同亮闪烁3次。停歇片刻之后开始下一个轮回,并且周而复始。利用并行端口P1连接8只LED 作为显示部件。各LED的阳极复接后连正电源,充分利用低电平驱动能力强的特点;各LED均串联有限流电阻,主要为的是对端口引脚内部输出级下拉管起保护作用。单片机的时钟振荡器的频率选定12MHz。利用片内的定时器/计数器T0模块和中断功能部件,让T0工作于定时器模式,并且在超时溢出时向CPU发送中断请求信号。

1、软件算法设计在本例中,将T0模块当作定时器使用,并且利用了其溢出中断功能,来产生一个250ms的延时。把T0的溢出周期设定为50ms,再安排一个溢出次数计数器。T0每溢出一次,溢出次数计数器就加1。在5次溢出之后,使得总延时时间达到250ms。 LED显示驱动码的获取采用了查表法,在表中预先存贮了设定好的编码。方式寄存器TMOD设置为01H。因为选定T0模块、由内部TR0控制启/停(GATE=0)、定时器模式(=0)、工作于方式1(M1M0=01)。计数器初值设置为216 – 50000 = 3CB0H。如果单片机的晶体频率(fOSC)选定12MHz,利用T0的方式1产生50ms(= 50000μs = 50000机器周期)的定时,则初值应该为3CB0H。

2、程序清单;《路标导向灯》2004/4/9 ;程序文件名:INTEXP2.ASM ;======用户自定义常数========== TH0B EQU 3CH ;定义TH0寄存器初始值 TL0B EQU 0B0H ;定义TL0寄存器初始值;======用户变量定义========== COUNT EQU 70H ;定义查表偏移量,相当一个4位计数器;ORG 000H ;定义程序存放区域的起始地址 JMP MAIN ;

3、跳转到主程序 T0中断矢量和中断服务子程序 ORG 00BH ;

T0中断矢量,中断服务程序入口地址MOV TL0,#TL0B ;

重新装载初值 MOV TH0,#TH0B ; INC R2; 溢出次数计数器加1 RETI ; 中断返回; 主程序 MAIN: MOV SP,#2FH ; 堆栈指针初始化 SETB EA ; 开放中断总允许位 SETB ET0 ; 开放T0中断允许位 MOV TMOD,#01H ; 方式字送入方式寄存器 MOV TL0,#TL0B ; T0初始化 MOV TH0,#TH0B ; SETB TR0 ;

开启T0 MOV COUNT,#0 ;

清零查表偏移量LOOP: MOV A,COUNT ; COUNT 作为查表地址偏移量送入A MOV DPTR,#TABLE ; 设置表头地址 MOVC A,@A+DPTR ;查表操作 MOV P1,A ; 将查表得到的驱动码送INC COUNT ; 查表偏移量加1 ANL COUNT, #0FH ;屏蔽掉高4位,以免超出表格范围 MOV R2,#00H ; 溢出次数计数器置入初始值 LOOP2: CJNE R2,#5,LOOP2 ; 原地踏步,等待中断源JMP LOOP ; 跳转回去;常数表格(显示信息) TABLE: DB 11111110B ;显示信息码,下同 DB 11111100B ; DB 11111000B ; DB 11110000B ; DB 11100000B ; DB 11000000B ; DB 10000000B ; DB 00000000B ; DB

11111111B ; DB 00000000B ; DB 11111111B ; DB 00000000B ; DB 11111111B ; DB 00000000B ; DB 11111111B ; DB 11111111B ;******** END ;通知汇编器源程序结束

4、程序调试方法 在WAVE6000模拟仿真环境下,为了提高调试效率,在运行程序之前,首先把T0的初值通过以下2条语句临时修改为仅仅需要16个机器周期即可溢出。 TH0B EQU 0FFH ;3CH ;定义TH0寄存器初始值 TL0B EQU 0F0H ;0B0H ;定义TL0寄存器初始值 然后按住{F7}键,以连续单步执行方式来运行程序,可以看到P1端口的显示规律。 五、结语 为了形象说明中断在操作系统中的作用,假设你有一个朋友来拜访你,但是由于不知道何时到达,你只能在大门等待,于是什么事情也干不了。如果在门口装一个门铃,你就不必在门口等待而去干其它的工作,朋友来了按门铃通知你,你这时才中断你的工作去开门,这样就避免等待和浪费时间。计算机也是一样,例如打印输出,CPU传送数据的速度高,而打印机打印的速度低,如果不采用中断技术,CPU将经常处于等待状态,效率极低。而采用了中断方式,CPU可以进行其它的工作,只在打印机缓冲区中的当前内容打印完毕发出中断请求之后,才予以响应,暂时中断当前工作转去执行向缓冲区传送数据,传送完成后又返回执行原来的程序。这样就大大地提高了计算机操作系统的效率。 参考文献:何小海 严华 微机原理与

接口技术[M] 科学出版社

操作系统复习题答案

操作系统复习题 一、单项选择题:在每小题列出的四个备选项中只有一个是最符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 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页(共×页)

操作系统实验报告

课程设计实验报告 课程名称:操作系统原理 姓名: 学号: 2012年06月18日

青岛工学院信息工程系实验报告 实验一进程创建 1.实验目的 了解在linux系统c语言下的编译环境。 熟练地进行程序的编译,执行。 2.实验环境配置 Linux系统下 3.实验内容(源代码) #include int main() { int p1,p2; while((p1=fork())==-1); if(p1==0) { putchar('b'); return 0; } else { putchar('a'); while((p2=fork())==-1); if(p2==0) { putchar('c'); return 0; } } } 4.实验结果分析 运行结果可能是:baca、baac、aacb等

实验二管道通信1.实验目的 了解什么是管道 熟悉Unix/Linux操作系统支持管道通信 2.实验内容(源代码) #include #include #include #include int pid1,pid2; main() { int fd[3]; char OutPipe[100],InPipe[100]; pipe(fd); while((pid1=fork())==-1); if(pid1==0) { wait(0); printf("p1\n"); lockf(fd[0],1,0); printf("p1:"); read(fd[0],InPipe,50); printf("%s\n",InPipe); lockf(fd[0],0,0); exit(0); } else { while((pid2=fork())==-1); if(pid2==0) { wait(0); printf("p2\n"); lockf(fd[0],1,0); printf("p2:"); read(fd[0],InPipe,50); printf("%s\n",InPipe); lockf(fd[0],0,0);

操作系统实验报告三

课程实验报告 课程名称姓名实验名称实验目的及要求 实验3进程并发与同步 1、加深对进程概念的理解,区分进程并发执行与串行执行; 2、掌握进程并发执行的原理,理解进程并发执行的特点; 3、了解fork()系统调用的返回值,掌握用fork()创建进程的方法;熟悉wait、exit等系统调用; 4、能利用相应的系统调用实现进程树与进程间的同 步。 实 验操作系统:linux Un bu ntu 11.10 环 境实验工具:Vmware 实验内容 1、编写一C语言程序,实现在程序运行时通过系统调用fork()创建两个子进程,使父、子三进程并发执行,父亲进程执行时屏幕显示“I am father ”,儿子进 程执行时屏幕显示“ I am son ",女儿进程执行时屏幕显示“ I am daughter ”。 要求多次连续反复运行这个程序,观察屏幕显示结果的顺序,直至出现不一样的情况为止。要求有运行结果截图与结果分析 2、连续4个fork()的进程家族树,family1-1.c 程序清单如下: #in clude main () { fork(); fork(); fork(); fork(); printf( A\n ”); } 请根据程序运行结果,画出进程家族树,并分析原 因。

3、 修改程序1,在父、子进程中分别使用 wait 、exit 等系统调用“实现”其同 步推进,父进程必须等待儿子进程与女儿进程结束, 才可以输出消息。 写出相应的同 步控制,并分析运行结果。 4、 创建一个子进程,并给它加载程序,其功能是调用键盘命令“ ls -I ”,已知 该键盘命令的路径与文件名为: /bin/ls 。父进程创建子进程, 并加载./child2 程序。 写出相应的程序代码并分析程序运行结果。 1、编写一 C 语言程序,实现在程序运行时通过系统调用 fork()创建两个子进 程,使父、子三进程并发执行,父亲进程执行时屏幕显示“ I am father ”, 儿子进程执行时屏幕显示“ I am son ”,女儿进程执行时屏幕显示“ I am daughter "。并且反复的测试,观察每一次的执行的顺序有什么不同 2、修改程序1,在父、子进程中分别使用 wait 、exit 等系统调用“实现”其同 步推进,父进程必须等待儿子进程与女儿进程结束,才可以输出消息。 4、创建一个子进程,并给它加载程序,其功能是调用键盘命令“ ls -I ”,已知 该键盘命令的路径与文件名为: /bin/ls 。父进程创建子进程, 并加载./child2 程序。 法 描 述 及 实 验 步 骤 调 试过 程及实 验结果

计算机操作系统选择题

1. 下列关于操作系统的正确叙述是() A. 操作系统是硬件和软件之间的接口 B. 操作系统是主机和外设之间的接口 C. 操作系统是用户与计算机之间的接口 D. 操作系统是源程序与目标程序之间的接口 标准答案:C 2. 在计算机系统得层次关系中,最贴近硬件的是() A. 应用软件 B. 实用软件 C. 操作系统 D. 用户 标准答案:C 3. 计算机系统把进行()和控制程序执行的功能集中组成一种软件,即操作系统 A. CPU管理 B. 作业管理 C. 资源管理 D. 设备管理 标准答案:C 4. 批处理系统的主要特点之一是() A. 非交互性 B. 实时性 C. 高可靠性 D. 分时性 标准答案:A 5. 分时系统的主要特点之一是() A. 交互性 B. 实时性 C. 高可靠性 D. 资源利用率高 标准答案:A 6. 高可靠性是()的主要特点之一 A. 分时系统 B. 实时系统 C. 批处理系统 D. 通用操作系统 标准答案:B 7. 允许多个用户以交互方式使用计算机的操作系统是() A. 分时操作系统 B. 单道批处理操作系统 C. 多道批处理操作系统 D. 实时操作系统 标准答案:A

8. 如果一个操作系统在用户提交作业后,不提供交互能力,只追求计算机资源的利用率,大吞吐量和作业流程的自动化,则属于()操作系统(分数:1,完成次数:157) A. 分时系统 B. 实时系统 C. 批处理系统 D. 通用操作系统 标准答案:C 9. 下列哪个观点不是描述操作系统的典型观点()(分数:1,完成次数:157) A. 操作系统是众多软件的集合 B. 操作系统是用户和计算机之间的接口 C. 操作系统是资源的管理者 D. 操作系统是虚拟机 10. 下列哪个系统与其他三个不同()(分数:1,完成次数:157) A. 现场压力采集系统 B. 火炮自动控制系统处理机 C. 飞机定票系统 D. 导弹制导系统 标准答案:C 11. 操作系统中最基本的两个特征是()(分数:1,完成次数:157) A. 并发和异步 B. 并发和共享 C. 共享和虚拟 D. 虚拟和异步 标准答案:B 12. 对操作系统在计算机系统中位置的说法正确的是()(分数:1,完成次数:157) A. 计算机硬件和软件之间 B. 计算机硬件和用户之间 C. CPU和用户之间 D. CPU和软件之间 标准答案:B 13. 分时系统追求的目标是()(分数:1,完成次数:157) A. 充分利用I/O B. 快速响应用户 C. 提高系统吞吐率 D. 充分利用内存 标准答案:B 14. 分时系统的()是衡量一个分时系统的重要指标(分数:1,完成次数:157) A. 周转时间 B. 用户数 C. 时间片 D. 用户响应时间 标准答案:D

操作系统实验实验1

广州大学学生实验报告 1、实验目的 1.1、掌握进程的概念,明确进程的含义 1.2、认识并了解并发执行的实质 2.1、掌握进程另外的创建方法 2.2、熟悉进程的睡眠、同步、撤消等进程控制方法 3.1、进一步认识并发执行的实质 3.2、分析进程竞争资源的现象,学习解决进程互斥的方法 4.1、了解守护进程 5.1、了解什么是信号 5.2、INUX系统中进程之间软中断通信的基本原理 6.1、了解什么是管道 6.2、熟悉UNIX/LINUX支持的管道通信方式 7.1、了解什么是消息 7.2、熟悉消息传送的机理 8.1、了解和熟悉共享存储机制 二、实验内容 1.1、编写一段程序,使用系统调用fork( )创建两个子进程。当此程序运行时,在系统 中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示'a',子进程分别显示字符'b'和字符'c'。试观察记录屏幕上的显示结果,并分析原因。 1.2、修改上述程序,每一个进程循环显示一句话。子进程显示'daughter …'及 'son ……',父进程显示'parent ……',观察结果,分析原因。 2.1、用fork( )创建一个进程,再调用exec( )用新的程序替换该子进程的内容 2.2、利用wait( )来控制进程执行顺序 3.1、修改实验(一)中的程序2,用lockf( )来给每一个进程加锁,以实现进程之间的互斥 3.2、观察并分析出现的现象 4.1、写一个使用守护进程(daemon)的程序,来实现: 创建一个日志文件/var/log/Mydaemon.log ; 每分钟都向其中写入一个时间戳(使用time_t的格式) ; 5.1、用fork( )创建两个子进程,再用系统调用signal( )让父进程捕捉键盘上来的中断信号(即按^c键);捕捉到中断信号后,父进程用系统调用kill( )向两个子进程发出信号,子进程捕捉到信号后分别输出下列信息后终止: Child process1 is killed by parent! Child process2 is killed by parent! 父进程等待两个子进程终止后,输出如下的信息后终止: Parent process is killed! 5.2、用软中断通信实现进程同步的机理

操作系统实验一中断处理

实习一中断处理 一、实习内容 模拟中断事件的处理。 二、实习目的 现代计算机系统的硬件部分都设有中断机构,它是实现多道程序设计的基础。中断机 构能发现中断事件,且当发现中断事件后迫使正在处理器上执行的进程暂时停止执行,而让操作系统的中断处理程序占有处理器去处理出现的中断事件。对不同的中断事件,由于它们的性质不同,所以操作系统应采用不同的处理。通过实习了解中断及中断处理程序的作用。本实习模拟“时钟中断事件”的处理,对其它中断事件的模拟处理,可根据各中断事件的性质确定处理原则,制定算法,然后依照本实习,自行设计。 三、实习题目 模拟时钟中断的产生及设计一个对时钟中断事件进行处理的模拟程序。 [提示]: (1) 计算机系统工作过程中,若出现中断事件,硬件就把它记录在中断寄存器中。中 断寄存器的每一位可与一个中断事件对应,当出现某中断事件后,对应的中断寄存器的某一位就被置成―1‖。 处理器每执行一条指令后,必须查中断寄存器,当中断寄存器内容不为―0‖时,说明有中断事件发生。硬件把中断寄存器内容以及现行程序的断点存在主存的固定单元,且让操作系统的中断处理程序占用处理器来处理出现的中断事件。操作系统分析保存在主存固定单元中的中断寄存器内容就可知道出现的中断事件的性质,从而作出相应的处理。 本实习中,用从键盘读入信息来模拟中断寄存器的作用,用计数器加1 来模拟处理器 执行了一条指令。每模拟一条指令执行后,从键盘读入信息且分析,当读入信息=0 时,表示无中断事件发生,继续执行指令;当读入信息=1 时,表示发生了时钟中断事件,转时钟中断处理程序。 (2)假定计算机系统有一时钟,它按电源频率(50Hz)产生中断请求信号,即每隔20 毫秒产生一次中断请求信号,称时钟中断信号,时钟中断的间隔时间(20 毫秒)称时钟单

计算机四级操作系统多选题题库及答案

计算机四级操作系统多选题题库及答案 第一章 1.计算机系统的特点有( A C D ) A.能按用户的要求接收和存储信息 B.是一个由硬件系统组成的裸机 C.操作系统是它的一个组成部分 D.具有对不同用户进行不同控制执行的能力 E.允许各用户随意地使用系统中的资源 2.操作系统是计算机系统中的一种必不可少的系统软件,这是因为它能(A B C E ) A.为用户提供方便的使用接口 B.使硬件的功能发挥得更好 C.保证信息的安全和快速存取文件 D.提高源程序的编制质量 E.提高资源的使用效率 3.各类操作系统各有所长,但也存在一些不足,这些不足之处表现为( A B C ). A.批处理操作系统不允许用户直接干预作业的执行 B.分时系统采用交互方式工作,故对需处理时间较长的作业不太合适 C.实时操作系统中资源利用率不及批处理操作系统 D.批处理操作系统能实现并行工作,但不能提高吞吐能力 E.为了使用户满意,分时操作系统对用户请求的响应时间必须有严格的规定 4.在下述各项中,( A B C D E )是操作系统力所能及的工作. A.为用户合理分配处理器时间. B.保护主存中的程序和数据不被破坏 C.提供按名存取文件的功能 D.按用户要求启动外围设备 E.根据用户的意图控制作业的执行

第二章 1.系统软件是计算机系统中必不可少的软件,它包括( A B )等. A.操作系统 B.编译系统 C.接口软件 D.软件开发工具 E.软件测试程序 2.在下列的阐述中,( A B C E )是正确的. A.一个中央处理器任何时刻最多只能被一个程序占用 B.只有被操作系统选中的程序才能占用处理器 C.若一个程序在执行中出现了事件,则该程序就要让出处理器 D.一个被中断的程序在等待中断事件结束后就可立即占用处理器 E.中断装置发现中断事件后就要让操作系统程序占用处理器 3.采用通道结构的计算机系统中,中央处理器与外围处理设备之间的关系有( A B C D E ) A.中央处理器执行一条”启动I/O”指令可启动指定的设备 B.中央处理器与外围设备是可以并行工作的 C.外围设备与主存储器之间的信息传送工作不需要中央处理器的干预 D.外围设备工作结束后应把工作情况反馈给中央处理器 E.中央处理器可启动多台设备,让它们并行工作. 4.计算机系统中可用于存储信息的部件有( B C D E ) A.输入机 B.主存储器 C.磁带 D.寄存器 E磁盘 5.操作系统的结构设计应追求的设计目标是( A B C E ) A.正确性 B.高效性 C.维护性 D随意性 E.移植性 6.操作系统采用层次式结构的优点是( A B C ) A.能把操作系统的整体工作局部化 B.有利于操作系统功能的增.删.改 C.实现各层次的功能时都可利用较内层提供的功能 D.最外层可直接使用硬件提供的功能 E.各层之间允许双向调用,这样便于达到正确性的设计目标 第三章 1.能实现多道程序设计的计算机系统必须( A C D E ) A.具有中央处理器外围设备的并行工作能力 B.提供多个中央处理器

操作系统实验二(进程管理)

操作系统进程管理实验 实验题目: (1)进程的创建编写一段程序,使用系统调用fork( )创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示字符“a”;子进程分别显示字符“b”和字符“c”。试观察记录屏幕上的显示结果,并分析原因。 (2)进程的控制修改已编写的程序,将每个进程输出一个字符改为每个进程输出一句话,在观察程序执行时屏幕上出现的现象,并分析原因。 (3)编制一段程序,使其实现进程的软中断通信。要求:使用系统调用fork( )创建两个子进程,再用系统调用signal( )让父进程捕捉键盘上来的中断信号(即按Del键);当捕捉到中断信号后,父进程调用系统调用kill( )向两个子进程发出信号,子进程捕捉到信号后分别输出下列信息后终止:Child process 1 is killed by parent! Child process 2 is killed by parent! 父进程等待两个子进程终止后,输出如下的信息后终止:Parent process is killed! 在上面的程序中增加语句signal(SIGINT, SIG_IGN)和signal(SIGQUIT, SIG_IGN),观察执行结果,并分析原因。 (4)进程的管道通信编制一段程序,实现进程的管道通信。使用系统调用pipe( )建立一条管道线;两个进程P1和P2分别向管道各写一句话:Child 1 is sending a message! Child 2 is sending a message! 而父进程则从管道中读出来自于两个子进程的信息,显示在屏幕上。要求父进程先接收子进程P1发来的消息,然后再接收子进程P2发来的消息。 实验源程序及报告: (1)、进程的创建 #include int main(int argc, char *argv[]) { int pid1,pid2; /*fork first child process*/ if ( ( pid1=fork() ) < 0 ) { printf( "ProcessCreate Failed!"); exit(-1); }

Windows操作系统实验三实验报告

Windows操作系统C/C++ 程序实验 姓名:___________________ 学号:___________________ 班级:___________________ 院系:___________________ ______________年_____月_____日

实验三Windows 2000/xp线程同步 一、背景知识 二、实验目的 在本实验中,通过对事件和互斥体对象的了解,来加深对Windows 2000/xp线程同步的理解。 1) 回顾系统进程、线程的有关概念,加深对Windows 2000/xp线程的理解。 2) 了解事件和互斥体对象。 3) 通过分析实验程序,了解管理事件对象的API。 4) 了解在进程中如何使用事件对象。 5) 了解在进程中如何使用互斥体对象。 6) 了解父进程创建子进程的程序设计方法。 三、工具/准备工作 在开始本实验之前,请回顾教科书的相关内容。 您需要做以下准备: 1) 一台运行Windows 2000/xp Professional操作系统的计算机。 2) 计算机中需安装V isual C++ 6.0专业版或企业版。 四、实验内容与步骤 1. 事件对象 清单4-1程序展示了如何在进程间使用事件。父进程启动时,利用CreateEvent() API创建一个命名的、可共享的事件和子进程,然后等待子进程向事件发出信号并终止父进程。在创建时,子进程通过OpenEvent() API打开事件对象,调用SetEvent() API使其转化为已接受信号状态。两个进程在发出信号之后几乎立即终止。 步骤1:登录进入Windows 2000/xp Professional。 步骤2:在“开始”菜单中单击“程序”-“Microsoft V isual Studio 6.0”–“Microsoft V isual C++ 6.0”命令,进入V isual C++窗口。 步骤3:在工具栏单击“打开”按钮,在“打开”对话框中找到并打开实验源程序3-1.cpp。 步骤4:单击“Build”菜单中的“Compile 3-1.cpp”命令,并单击“是”按钮确认。系统

计算机操作系统选择题大全

1. 单项选择题(共200个题目) 100236. 一般用户更喜欢使用的系统是(c )。 A.手工操作 B.单道批处理 C.多道批处理 D.多用户分时系统 100237. 与计算机硬件关系最密切的软件是(d). A.编译程序 B.数据库管理程序 C.游戏程序 D.OS 100238. 现代OS具有并发性和共享性,是由(D)的引入而导致的。 A.单道程序 B.磁盘 C.对象 D.多道程序100239. 早期的OS主要追求的是(A)。 A.系统的效率 B.用户的方便性 C.可移植 D.可扩充性 100240. (A )不是多道程序系统。 A.单用户单任务 B.多道批处理系统 C.单用户多任务 D.多用户分时系统 100241. (B)是多道操作系统不可缺少的硬件支持。 A.打印机 B.中断机构 C.软盘 D.鼠标100242. 特权指令可以在(C)中执行。 A.目态 B.浏览器中 C.任意的时间 D.进程调度中100243. 没有了(C )计算机系统就启动不起来了。 A.编译器 B.DBMS C.OS D.浏览器100244. 通道能够完成(C )之间数据的传输。

A.CPU与外设 B.内存与外设 C.CPU与主存 D.外设与外设 100245. 系统的主要功能有(C )。 A.进程管理、存储器管理、设备管理、处理机管理 B.虚拟存储管理、处理机管理、进程调度、文件系统 C.处理机管理、存储器管理、设备管理、文件系统 D.进程管理、中断管理、设备管理、文件系统 100246. 单处理机计算机系统中,(A)是并行操作的。 A.处理机操作和通道 B.程序与程序 C.主程序与子程序 D.用户程序与操作系统程序 100247. 处理机的所有指令可以在(D)中执行。 A.目态 B.浏览器中 C.任意时间 D.系统态100248. (B )功能不是操作系统直接完成的功能。 A.管理计算机硬盘 B.对程序进行编译 C.实现虚拟存储器 D.删除文件 100249. 要求在规定的时间内对外界的请求必须给予及时相应的OS是(B )。 A.多用户分时系统 B.实时系统 C.批处理系统时间 D.网络操作系统 100250. 操作系统是对(C )进行管理的软件。

软中断实验报告

篇一:linux软中断通信实验报告 实验2 linux软中断通信 1.实验目的 通过本实验,掌握软中断的基本原理;掌握中断信号的使用、进程的创建以及系统计时器的使用。 2.实验内容(上交的实验2统一取名为:test2) 由父进程创建两个子进程,通过终端输入crtl+\组合键向父进程发送sigquit软中断信号或由系统时钟产生sigalrm软中断信号发送给父进程;父进程接受到这两个软中断的其中某一个后,向其两个子进程分别发送整数值为16和17软中断信号,子进程获得对应软中断信号后,终止运行;父进程调用wait()函数等待两个子进程终止,然后自我终止。 3. 设计思想及算法流程 4. 源程序 #include <stdio.h> #include <stdlib.h> #include <signal.h> #include <unistd.h> #define sec 5 void waiting(); void stop(); int wait_mark; int main() { int p1, p2; /*定义两个进程号变量*/while ((p1 = fork()) == -1); /*循环创建进程至成功为止*/if (p1 > 0) { while ((p2 = fork()) == -1); /*循环创建进程至成功为止*/ if (p2 > 0) { wait_mark = 1; alarm(sec); signal(sigquit, stop); signal(sigalrm, stop); waiting(); kill(p1, 16); kill(p2, 17); wait(0); wait(0); printf(parent process is killed!\n); exit(0); } else { signal(sigquit, sig_ign); signal(sigalrm, sig_ign); wait_mark = 1; signal(17, stop); /*接收到软中断信号17,转stop*/ waiting();/*在wait置0前,不可往下执行*/lockf(1, 1, 0); /*加锁*/ printf(child process 2 is killed by parent!\n);

操作系统课后答案给力版

1.多道程序设计是为了系统各硬件部件并行运行。 2.使用多进程编程的主要目的是尽可能使处理机与外设同时工作。 3.早期的SPOOLing技术的硬件基础不包括磁带。 4.中断屏蔽技术对提高操作系统实时性无效。 中断分级,加快时钟中断频率,优先级调度都能提高操作系统实时性。 5.时钟中断属于外中断 6.时钟中断有最高优先级。 7.肯定产生处理机运行态变化的指令是trap指令。 8.必须在核心态执行的指令是清中断位指令。 9.操作系统初始化程序运行时机是系统启动时。 10.创建进程处理只能在核心态运行。 11.执行trap指令是处理机在内核态运行时不可以执行的。 12.open() 不是进程相关系统调用。 wait(),fork(),execv() 都是进程相关系统调用。 13.sin() 不是系统调用。 open(),read(),wait() 都是系统调用。 14.Linux操作系统内核必定包含的软件模块有系统初始化模块。 15.进程调度程序只能在核心态执行。 16.时钟中断处理结束的时候可能不能运行进程调度程序。 17.时钟中断处理结束返回低级中断处理时不能运行进程调度程序。 18.分时轮转算法适宜用作分时系统进程调度算法。 19.进程结束处理行为发生后直接运行进程调度程序。 20.应该降低进程调度优先级的时机是进程时间片运行完时。 21.多线程编程与端进程编程相比的好处是开销小。 22.利用进程与利用线程方式的多任务编程比优点是避免任务程序数据被 别的任务非法访问。 23.不可以用于SMP机多进程互斥的方法有屏蔽中断。 PV操作,读后置1指令可以用于SMP机多进程互斥。 24.P操作可能导致进程阻塞(等待)。 25.计算机系统产生死锁的根本原因是进程推进顺序不当。 26.进程用户栈数据结构处在用户空间。 27.处理机在执行访存指令时可能从用户态进入核心态执行。 28.使用请求分页式虚存存储方式可使内存利用率最高。 29.操作系统存储保护工作包括越界保护。 30.虚存访问效率提高与提供64位虚存地址技术无关。 与以2^K为页面大小,提供联想存储器,页表常驻内存技术有关。 31.最近一次访问时间最早且未写过的页面可作为最佳淘汰页面。 32.淘汰页面的较好且可行的方法是LRU(Least Recently Used). 33.回收(淘汰)页面的另一个主要作用是将页面内容写入磁盘。 34.打印机是独占型设备。 35.用户通过键盘输入的系统命令字符码首先由键盘输入处理程序获得。 36.在内存设置磁盘信息缓冲区的作用是可以减少磁盘I/O次数。 37.RAID1技术不能改善磁盘设备I/O性能。 重排I/O请求减少寻道时间,预读和延迟写,对盘面扇区进行交叉编址都能改善性能。 38.重排I/O请求减少寻道时间能较好地提高磁盘I/O性能。 39.按磁盘柱面号序排列I/O请求不能提高I/O性能。 预读,延迟写,同步I/O都能提高I/O性能。 40.缓冲技术对随机小数据读写效果不佳。 对顺序读,磁盘数据备份,偶尔进行数据读/写效果较好。 41.主板不属于I/O设备控制器。网卡,显卡,声卡属于。 42.驱动程序中不由设备无关层调用的函数是中断处理函数。 申请设备函数,I/O操作函数,释放设备函数由设备无关层调用。 43.计算机系统中软件资源的实例有文件。 44.使用文件相对路径名的优点是打开文件时可以更快获得文件FCB。 45.打开文件系统调用不需要做的工作是将文件数据读入内存。 需要做的是将FCB读入内存,进行读/写方式许可检查,建立进程控制块与文件之间的关联。 46.文件控制块不包括磁盘坏块信息。 包括文件名,文件访问权限说明,文件物理位置信息。 47.备份网络服务器文件系统之前应该进行的操作是断网且结束本地所有 使用文件的其他进程。 1.7 试述多道程序设计技术的基本思想。为什么采用多道程序设计技术可以提高资源利用率? 答:多道程序设计技术的基本思想是,在主存同时保持多道程序,主机以交替的方式同时处理多道程序。从宏观上看,主机内同时保持和处理若干道已开始运行但尚未结束的程序。从微观上看,某一时刻处理机只运行某道程序。 可以提高资源利用率的原因:由于任何一道作业的运行总是交替地串行使用CPU、外设等资源,即使用一段时间的CPU,然后使用一段时间的I/O 设备,由于采用多道程序设计技术,加之对多道程序实施合理的运行调度,则可以实现CPU和I/O设备的高度并行,可以大大提高CPU与外设的利用率。 1.10 引入SPOOLing技术可以在哪些方便提高系统效率。 答:1.通过加快作业的输入/输出提高系统性能,从而提高了系统效率。 2.可以使作业的输入/输出与主机的运算并行,提高了系统的效率。 3.通过通道的缓冲技术,可以使作业预先进入输入井和输出井,既而提高了系统效率。 2.1什么是中断?什么是陷入?二者有何区别? 中断:也称外中断。它指来自CPU执行指令意外的事件的发生,如设备发出的各种I/O结束中断,表示设备输入/输出处理已完成,希望处理机能够向设备发出下一个输入/输出请求,同时让完成输入/输出后的程序继续运行。 陷入:也称为内中断、例外或是异常。它指源自CPU执行指令内部的事件(比如专门的陷入指令,或程序的非法操作码、地址越界、算术溢出、虚存系统的缺页等)所引起的。 区别:中断一般指来自CPU之外的与当前程序运行无关的一类事件,中断可以被屏蔽。陷入则指来自CPU正在执行的指令的与当前程序运行相关的一类事件,陷入不可以被屏蔽。 2.2 现代计算机处理机为什么设置用户态、核心态这两种不同的状态?有哪些指令必须置于核心态运行?为什么? 简单的说这个区分主要基于多用户系统。在这样的一个系统上每个用户应该不能相互干扰,也不能互相窥探秘密的信息,即需要一种保护机制。基于这个目的,由于多用户操作系统内核代码是大家共享的运行资源,多用户操作系统(包括windows)核心代码必须运行在高优先级和处于最大保护环境中。这样,运行在一台机器上的代码起码被分成了两个级别:高保护状态的优先级(内核)和一般级别(用户程序)。当CPU正在运行内核代码时我们就称系统处于内核态,而当CPU正运行用户代码时则称系统处于用户态。 清中断位指令。 因为核心态根据它要做的事情来提高或降低它所使用的处理器的中断请求级别,当中断产生时,陷阱处理程序将保存计算机运行程序的状态,然后禁

操作系统试题

操作系统试题 课程代码:02326 第一部分选择题(共30分) 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.设计分时操作系统的主要目标是() A.吞吐量和周转时间B.交互性和响应时间 C.灵活性和可适应性D.可靠性和完整性 2.用户通常利用键盘命令、系统调用命令请求操作系统服务,有时也会用() A.宏指令B.汇编语言 C.作业控制语言D.计算机高级语言 3.操作系统中的中断处理程序很大部分是处理()中断的。 A.程序B.访管 C.I/O D.外部 4.用作业控制语言编写作业控制说明书主要用在()系统。 A.分时B.实时 C.批处理D.多CPU 5.采用多道程序设计能() 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.绝对B.相对 C.逻辑D.类 13.Spool技术是一种实现虚拟()的技术。

操作系统实验

操作系统实验报告

实验一进程控制与描述 一、实验目的 通过对Windows 2000编程,进一步熟悉操作系统的基本概念,较好地理解Windows 2000的结构。通过创建进程、观察正在运行的进程和终止进程的程序设计和调试操作,进一步熟悉操作系统的进程概念,理解Windows 2000中进程的“一生”。 二、实验环境 硬件环境:计算机一台,局域网环境; 软件环境:Windows 2000 Professional、Visual C++ 6.0企业版。 三、实验内容和步骤 第一部分(共三个程序): Windows 2000 Professional下的GUI应用程序,使用Visual C++编译器创建一个GUI 应用程序,代码中包括了WinMain()方法,该方法GUI类型的应用程序的标准入口点。 程序1-1 # include # pragma comment(lib, “user32.lib” ) int APIENTRY WinMain(HINSTANCE /* hInstance */ , HINSTANCE /* hPrevInstance */, LPSTR /* lpCmdLine */, int /* nCmdShow */ ) { :: MessageBox( NULL, “Hello, Windows 2000” , “Greetings”, MB_OK) ; return(0) ; } 实验结果 然后改变参数,运行结果如下:

1-2显示了当前进程的优先级: 1-3进一步显示进程的具体情况: 第二部分:进程的“一生”(共三个程序) 1、创建进程 本程序展示的是一个简单的使用CreateProcess() API函数的例子。首先形成简单的命令行,提供当前的EXE文件的指定文件名和代表生成克隆进程的号码。大多数参数都可取缺省值,但是创建标志参数使用了:BOOL bCreateOK标志,指示新进程分配它自己的控制台,这使得运行示例程序时,在任务栏上产生许多活动标记。然后该克隆进程的创建方法关闭传

《操作系统》选择题大全

第1章绪论 3、操作系统负责管理计算机系统的(),其中包括处理机、存储器、设备和文件。 A.程序 B.文件 C.资源 D.进程 4、没有下列()设备计算机无法工作。 A.硬盘 B.软盘 C.内存 D.打印机 5、操作系统是计算机系统的核心软件。按功能特征的不同,可把操作系统分为[1]、[2]、[3]、网络操作系统 和分布式操作系统基本类型。其中[1]的主要目标是提高系统的吞吐率和效率,而[2]是一旦有处理请求和要求处理的数据时,CPU就应该立即处理该数据并将结果及时送回,例如[4]等。供选择的答案: [1][2][3] A、单用户系统 B、批处理系统 C、分时系统 D、微机操作系统 E、实时系统 [4] A、计算机激光照排系统 B、办公自动化系统 C、计算机辅助设计系统 D、航空订票系统 6、操作系统是一种()。 A.应用软件 B. 系统软件 C.通用软件 D. 工具软件 7、在下列性质中,哪一个不是分时系统的特征。() A. 交互性 B. 多路性 C. 成批性 D. 独占性 8、实时操作系统追求的目标是()。 A.高吞吐率 B.充分利用内存 C. 快速响应 D. 减少系统开销 9、操作系统是为了提高计算机的[1]和方便用户使用计算机而配置的基本软件。它负责管理计算机系统中的 [2],其中包括[3],[4],外部设备和系统中的数据。操作系统中的[3]管理部分负责对进程进行管理。操 作系统对系统中的文件进行管理的部分通常叫做[5]。 供选择的答案: [1] A、速度 B、利用率 C、灵活性 D、兼容性 [2] A、程序 B、功能 C、资源 D、进程 [3][4] A、主存储器 B、虚拟存储器 C、运算器 D、控制器 E、微处理器 F、处理机 [5] A、数据库系统 B、文件系统 C、检索系统 D、数据库 E、数据存储系统 F、数据结构 G、数据库管理系统 10、现代操作系统的两个基本特征是()和资源共享。 A.多道程序设计 B. 中断处理 C.程序的并发执行 D. 实现分时与实时处理 11、以下()项功能不是操作系统具备的主要功能。 A.内存管理 B.中断处理 C.文档编辑 D.CPU调度 12、批处理系统的主要缺点是()。 A.CPU的利用率不高 B.失去了交互性 C.不具备并行性 D.以上都不是 13、引入多道程序的目的在于()。 A.充分利用CPU,减少CPU等待时间 B. 提高实时响应速度 C.有利于代码共享,减少主、辅存信息交换量 D.充分利用存储器 14、DOS是磁盘操作系统的缩写。 15、在分时系统中,时间片一定,(),响应时间越长。 A.内存越多 B.用户数越多 C.后备队列 D.用户数越少 16、操作系统是一组()。 A.文件管理程序 B.中断处理程序 C.资源管理程序 D.设备管理程序

操作系统答案(考试重点题目答案)

操作系统答案(考试重点题目答案) 1.2 操作系统以什么方式组织用户使用计算机? 答:操作系统以进程的方式组织用户使用计算机。用户所需完成的各种任务必须由相应的程序来表达出来。为了实现用户的任务,必须让相应功能的程序执行。而进程就是指程序的运行,操作系统的进程调度程序决定CPU 在各进程间的切换。操作系统为用户提供进程创建和结束等的系统调用功能,使用户能够创建新进程。操作系统在初始化后,会为每个可能的系统用户创建第一个用户进程,用户的其他进程则可以由母进程通过“进程创建”系统调用进行创建。 1.4 早期监督程序(Monitor )的功能是什么? 答:早期监督程序的功能是代替系统操作员的部分工作,自动控制作业的运行。监督程序首先把第一道作业调入主存,并启动该作业。运行结束后,再把下一道作业调入主存启动运行。它如同一个系统操作员,负责批作业的I/O,并自动根据作业控制说明书以单道串行的方式控制作业运行,同时在程序运行过程中通过提供各种系统调用,控制使用计算机资源。 1.7 试述多道程序设计技术的基本思想。为什么采用多道程序设计技术可以提高资源利用率? 答:多道程序设计技术的基本思想是,在主存同时保持多道程序,主机以交替的方式同时处理多道程序。从宏观上看,主机内同时保持和处理若干道已开始运行但尚未结束的程序。从微观上看,某一时刻处理机只运行某道程序。 可以提高资源利用率的原因:由于任何一道作业的运行总是交替地串行使用CPU 、外设等资源,即使用一段时间的CPU ,然后使用一段时间的I/O设备,由于采用多道程序设计技术,加之对多道程序实施合理的运行调度,则可以实现CPU 和I/O设备的高度并行,可以大大提高CPU 与外设的利用率。 1.8 什么是分时系统?其主要特征是什么?适用于哪些应用? 答:分时系统是以多道程序设计技术为基础的交互式系统,在此系统中,一台计算机与多台终端相连接,用户通过各自的终端和终端命令以交互的方式使用计算机系统。每个用户都感觉到好像是自己在独占计算机系统,而在系统内部则由操作系统以时间片轮转的方式负责协调多个用户分享CPU 。主要特征是: 并行性:系统能协调多个终端用户同时使用计算机系统,能控制多道程序同时运行。共享性:对资源而言,系统在宏观上使各终端用户共享计算机系统中的各种资源,而在微观上它们则分时使用这些资源。 交互性:人与计算机以交互的方式进行工作。独占性:使用户感觉到他在独占使用计算机。

操作系统实验报告

操作系统教程实验报告 专业班级 学号 姓名 指导教师

实验一WINDOWS进程初识 1、实验目的 (1)学会使用VC编写基本的Win32 Consol Application(控制台应用程序)。 (2)掌握WINDOWS API的使用方法。 (3)编写测试程序,理解用户态运行和核心态运行。 2、实验内容和步骤 (1)编写基本的Win32 Consol Application 步骤1:登录进入Windows,启动VC++ 6.0。 步骤2:在“FILE”菜单中单击“NEW”子菜单,在“projects”选项卡中选择“Win32 Consol Application”,然后在“Project name”处输入工程名,在“Location”处输入工程目录。创建一个新的控制台应用程序工程。 步骤3:在“FILE”菜单中单击“NEW”子菜单,在“Files”选项卡中选择“C++ Source File”, 然后在“File”处输入C/C++源程序的文件名。 步骤4:将清单1-1所示的程序清单复制到新创建的C/C++源程序中。编译成可执行文件。 步骤5:在“开始”菜单中单击“程序”-“附件”-“命令提示符”命令,进入Windows “命令提示符”窗口,然后进入工程目录中的debug子目录,执行编译好的可执行程序:E:\课程\os课\os实验\程序\os11\debug>hello.exe 运行结果 (如果运行不成功,则可能的原因是什么?) : (2)计算进程在核心态运行和用户态运行的时间 步骤1:按照(1)中的步骤创建一个新的“Win32 Consol Application”工程,然后将清单1-2中的程序拷贝过来,编译成可执行文件。 步骤2:在创建一个新的“Win32 Consol Application”工程,程序的参考程序如清单1-3所示,编译成可执行文件并执行。 步骤3:在“命令提示符”窗口中运行步骤1中生成的可执行文件,测试步骤2中可执行文件在核心态运行和用户态运行的时间。 E:\课程\os课\os实验\程序\os12\debug>time TEST.exe 步骤4:运行结果 (如果运行不成功,则可能的原因是什么?) : 步骤5:分别屏蔽While循环中的两个for循环,或调整两个for循环的次数,写出运行结果。 屏蔽i循环:

相关文档
最新文档