文档库 最新最全的文档下载
当前位置:文档库 › 计算机操作系统实验指导书_windows

计算机操作系统实验指导书_windows

计算机操作系统实验指导书_windows
计算机操作系统实验指导书_windows

《操作系统

原理》实验指导书

计算机科学与技术系

2010年9月

目录

《操作系统原理》实验教学大纲(修订) (1)

实验考核方式与基本要求 (3)

实验一进程控制描述与控制 (12)

实验二并发与调度 (24)

实验三存储管理 (31)

实验四设备管理 (40)

实验五文件管理与系统安全 (44)

附录实验报告参考规范 (64)

《操作系统原理》实验教学大纲(修订)

课程编号:0433314

课程名称:操作系统原理

实验学时:14

一、本实验课的性质、任务与目的

操作系统作为计算机专业的一门专业基础课,是计算机专业的核心课程之一,学好与否直接关系到学生是否能更好地学习后续课程。通过本实验课程的学习,使学生理解与掌握操作系统设计所遵循的基本原理,基本方法,建立多道程序设计环境下的并行程序设计的思维方式。此外,操作系统用到的各种算法也是学生加强算法锻炼的好机会,对日后从事系统开发方面的工作有直接的借鉴作用。

本实验课程在操作系统原理课程教学中占有重要地位,目的是让学生及时掌握和巩固所学的基本原理和基础理论,加深理解。提高学生自适应能力,为将来使用和设计各类新的操作系统打下良好的基础。

二、本实验课所依据的课程基本理论

计算机操作系统,操作系统中所介绍的重要算法。

三、实验类型与要求

序号实验内容内容提要

实验

要求

实验

时数

实验

类型

所在实

验室名

进程控制描述与控制操作系统界面、

进程管理

必修 2 验证 2 系机房

并发与调度进程并发、进程

状态转换

必修 2 验证 2 系机房

存储管理内存空间分配

及虚拟存储器

必修 2 验证 2 系机房

设备管理设备分配与回

必修 2 验证 2 系机房

文件管理与系统安全文件系统目录

结构,文件操作

及操作系统安

任选 2 验证 2 系机房

六操作系统功能模拟设计实验操作系统功能

模拟设计并实

必修 4 设计3-4 系机房

四、每组人数与实验学时数

序号实验内容实验时数每组人数

一进程控制描述与控制 2 2

二并发与调度 2 2

三存储管理 2 2

四设备管理 2 2

五文件管理与系统安全 2 2

六操作系统功能模拟设计实验 4 3-4

五、考核方式与评分办法

考核方式:在规定时间内,按要求设计相应的模拟系统并上机调试运行,写出详细的实验报告,在机上向教师演示自己设计的模拟系统。

评分办法:视程序的质量、完成速度及实验报告分别给予优、良、中、及格、不及格等成绩。

六、本实验课配套教材或实验指导书

[1]周苏,金海溶等编著,操作系统原理实验,北京:科学出版社,2003

七、实验报告要求

实验题目、问题描述、算法说明、算法框图、数据结构及符号说明、程序清单及运行结果。

八、其它

教研室:计算机网络执笔人:钟伯成系主任审核签名:

实验考核方式与基本要求

1)按要求设计相应的模拟系统并上机调试运行

2)写出详细的实验报告,实验报告要求如下:

(1)实验题目。

(2)程序中使用的数据结构及符号说明。

(3)流程图。

(4)打印一份源程序并附上注释。

(5)打印程序运行时的初值和运行结果。

基本要求:3或4人为一小组,采取课内上机和业余上机相结合的方式进行,在规定时间内每个小组以论文形式上交实验(设计)结果并上机演示说明。

实验考核题目

㈠进程管理

㈡模拟PV操作同步机构,且用PV操作解决生产者——消费者问题。

㈢银行家算法

㈣模拟分页式存储管理中硬件的地址转换和产生缺页中断。

㈤用先进先出(FIFO)页面调度算法处理缺页中断。

㈥用最近最少用(LRU)页面调度算法处理缺页中断。

㈦设计一个按优先数调度算法实现处理器调度的进程。

㈧设计一个按时间片轮转法实现处理器调度的程序。

㈨模拟实现一个简单的固定(或可变)分区存储管理系统

㈩模拟实现单通路I/O系统中的设备分配程序。

{十一}模拟实现用位示图法管理文件存储空间的分配与回收。

实验提示

㈠进程管理

1.实验内容

至少要有:创建新的进程;查看运行进程;换出某个进程;杀死运行进程以及进程之间通信等功能。

2.实验提示

PCB结构通常包括以下信息:进程名,进程优先数,轮转时间片,进程所占用的CPU 时间,进程的状态,当前队列指针等。可根据实验的不同,PCB结构的内容可以作适当的增删。

例:实验运行结果

********************************************

* 进程演示系统*

********************************************

1.创建新的进程

2.查看运行进程

3.换出某个进程

4.杀死运行进程

5.进程之间通信

6.退出系统

********************************************

请选择(1~6)

然后根据你选择的不同,出现不同的结果。

㈡第一题:模拟PV操作同步机构,且用PV操作解决生产者——消费者问题。

㈢第二题:银行家算法

实验提示

[第一题]:在系统初始化时应把信号量semaphore定义为某个类型,为简单起见,在模拟实验中可把上述的semaphore直接改成integer。

生产者——消费者问题。

假定有一个生产者和消费者,生产者每次生产一件产品,并把生产的产品存入共享缓冲器以供消费者取走使用。消费者每次从缓冲器内取出一件产品去消费。禁止生产者将产品放入已满的缓冲器内,禁止消费者从空缓冲器内取产品。假定缓冲器内可同时存放10件产品。

进程控制块PCB。

在模拟实验中,假设进程控制块的结构如下图。其中进程的状态有:运行态、就绪态、等待态和完成态。当进程处于等待态时,在进程控制块PCB中要说明进程等待原因(在模拟实验中进程等待原因为等待信号量s1或s2);当进程处于等待态或就绪态时,PCB中保留了断点信息,一旦进程再度占有处理器则就从断点位置继续运行;当进程处于完成状态,表示进程执行结束。

进程名

状态

等待原因

断点

处理器的模拟。

计算机硬件提供了一组机器指令,处理器的主要职责是解释执行机器指令。为了模拟生产者和消费者进程的并发执行,我们必须模拟一组指令和处理器职能。

模拟的指令功能

P(s) 执行P操作原语

V(s) 执行v操作原语

put B[IN]:=product;IN:=(IN+1) mod 10

GET X:=B[out];out:=(out+1) mod 10

produce 输入一个字符放入C中

consume 打印或显示x中的字符

GOTO L PC: L

NOP 空操作

模拟的处理器指令

模拟的一组指令见上图,其中每条指令的功能由一个过程来实现。用变量PC来模拟“指令计数器”,假设模拟的指令长度为1,每执行一条模拟指令后,PC加1,指出下一条指令地址。使用模拟的指令,可把生产者和消费者进程的程序表示为下图的形式。

序号生产者程序消费者程序

0 produce P(s2)

1 P(s1) GET

2 PUT V(s1)

3 V(s2) consume

4 goto 0 goto 0

生产者和消费者程序

定义两个一维数组PA[0..4]和SA[0..4],每一个PA[i]存放生产者程序中的一条模拟指令执行的入口地址;每个SA[i]存放消费者程序中的一条模拟指令执行的入口地址。于是模拟处理器执行一条指令的过程为:取出PC之值,按PA[PC] 或SA[PC]得模拟指令执行的入口地址,将PC之值加1,转向由入口地址确定的相应的过程执行。

[第二题]:编写银行家算法,要求对于书127页给出的资源分配表,可以对输入各种请求进行安全性判断,最后给出安全序列或者不能分配的原因。

㈣第一题:模拟分页式存储管理中硬件的地址转换和产生缺页中断。

㈤第二题:用先进先出(FIFO)页面调度算法处理缺页中断。

㈥第三题:用最近最少用(LRU)页面调度算法处理缺页中断。

实验提示

第一题[提示]

(1)分页式虚拟存储系统是把作业信息的副本存放在磁盘上,当作业被选中时,可把作业的开始几页先装入主存且启动执行。为此,在为作业建立页表时,应说明哪些页已在主存,哪些页尚未装入主存,页表的格式为:

页号标志主存块号在磁盘上的位置

其中,标志----用来表示对应页是否已经装入主存,标志位=1,则表示该页已经在主存,标志位=0,则表示该页尚未装入主存。

主存块号----用来表示已经装入主存的页所占的块号。

在磁盘上的位置----用来指出作业副本的每一页被存放在磁盘上的位置。

(2)作业执行时,指令中的逻辑地址指出了参加运算的操作存放的页号和单元号,硬件的地址转换机构按页号查页表,若该页对应标志为“1”,则表示该页已在主存,这时根据关系式:

绝对地址=块号×块长+单元号

计算出欲访问的主存单元地址。如果块长为2的幂次,则可把块号作为高地址部分,把单元号作为低地址部分,两者拼接而成绝对地址。若访问的页对应标志为“0”,则表示该页不在主存,这时硬件发“缺页中断”信号,由操作系统按该页在磁盘上的位

置,把该页信息从磁盘读出装入主存后再重新执行这条指令。

(3)设计一个“地址转换”程序来模拟硬件的地址转换工作。当访问的页在主存时,则形成绝对地址,但不去模拟指令的执行,而用输出转换后的地址来代替一条指令的执行。

当访问的页不在主存时,则输出“* 该页页号”,表示产生了一次缺页中断。

(4)假定主存的每块长度为128个字节;现有一个共七页的作业,其中第0页至第3页已经装入主存,其余三页尚未装入主存;该作业的页表为:

0 1 5 011

1 1 8 012

2 1 9 013

3 1 1 021

4 0 022

5 0 023

6 0 121

如果作业依次执行的指令序列为:

操作页号单元号操作页号单元号

+ 0 70 移位 4 053

+ 1 50 + 5 023

× 2 15 存 1 037

存 3 21 取 2 078

取0 56 + 4 001

- 6 40 存 6 084

(5)运行设计的地址转换程序,显示或打印运行结果。因仅模拟地址转换,并不模拟指令的执行,故可不考虑上述指令序列中的操作。

第二题[提示]:

(1)在分页式虚拟存储系统中,当硬件发出“缺页中断”后,引出操作系统来处理这个中断事件。如果主存中已经没有空闲块,则可用FIFO页面调度算法把该作业中最先进入主存的一页调出,存放到磁盘上,然后再把当前要访问的页装入该块。调出和装入后都要修改页表中对应页的标志。

(2)FIFO页面调度算法总是淘汰该作业中最先进入主存的那一页,因此可以用一个数组来表示该作业已在主存的页面。假定作业被选中时,把开始的m个页面装入主存,则数组的元素可定为m个。例如:

P[0],P[1],….,P[m-1]

其中每一个P[i](i=0,1,….,m-1)表示一个在主存中的页面号。它们的初值为:

P[0]:=0,P[1]:=1,….,P[m-1]:=m-1

用一指针k指示当要装入新页时,应淘汰的页在数组中的位置,k的初值为“0”。

当产生缺页中断后,操作系统选择P[k]所指出的页面调出,然后执行:

P[k]:=要装入页的页号

k:=(k+1) mod m

再由装入程序把要访问的一页信息装入到主存中。重新启动刚才那条指令执行。(3)编制一个FIFO页面调度程序,为了提高系统效率,如果应淘汰的页在执行中没有修改过,则可不必把该页调出(因在磁盘上已有副本)而直接装入一个新页将其覆盖。

因此在页表中增加是否修改过的标志,为“1”表示修改过,为“0”表示未修改过,格式为:

页号标志主存块号修改标志在磁盘上的位置

由于是模拟调度算法,所以,不实际启动输出一页和装入一页的程序,而用输出调出的页号和装入的页号来代替一次调出和装入的过程。

把第一题中程序稍作修改,与本题结合起来,FIFO页面调度模拟算法如图2-2。(4)磁盘上,在磁盘上的存放地址以及已装入主存的页和作业依次执行的指令序列都同第一题中(4)所示。于是增加了“修改标志”后的初始页表为:

页号标志主存块号修改标志在磁盘上的位置

0 1 5 0 011

1 1 8 0 012

2 1 9 0 013

3 1 1 0 021

4 0 0 022

5 0 0 023

6 0 0 121

按依次执行的指令序列,运行你所设计的程序,显示或打印每次调出和装入的页号,以及执行了最后一条指令后的数组P的值。

(5)为了检查程序的正确性,可再任意确定一组指令序列,运行设计的程序,核对执行的结果。

第三题:[提示]

(1)在分页式虚拟存储系统中,当硬件发出“缺页中断”后,引出操作系统来处理这个中断事

件。如果主存中已经没有空闲块,则可用LRU页面调度算法把该作业中最先进入主存的一页调出,存放到磁盘上,然后再把当前要访问的页装入该块。调出和装入后都要修改页表中对应页的标志。

(2)LRU页面调度算法总是淘汰该作业中距现在最久没有访问过的那一页,因此可以用一个

数组来表示该作业已在主存的页面。数组中的第一个元素总是指出当前刚访问的页号,因此最久没被访问的页总是由最后一个元素指出。如果主存中只有四块空闲块且执行第一题提示(4)假设的指令序列,采用LRU页面调度算法,那么在主存中的页面变化情况如下:

3 0 6

4

5 1 2 4 6

2 3 0 6 4 5 1 3 4

1 2 3 0 6 4 5 1 2

0 1 2 3 0 6 4 5 1

编制一个LRU页面调度程序,为了提高系统效率,如果应淘汰的页在执行中没有修改过,则可不必把该页调出。参看第二题中提示(3)。模拟调度算法不实际启动输出一页和装入一页的程序,而用输出调出的页号和装入的页号来代替。

(3)按第一题中提示(4)的要求,建立一张初始页表,表中为每一页增加“修改标志”位(参

考第二题中提示(4))。然后按依次执行的指令序列,运行你所设计的程序,显示或打印每次调出和装入的页号,以及执行了最后一条指令后的数组中的值。

(4)为了检查程序的正确性,可再任意确定一组指令序列,运行设计的程序,核对执行的结果。

㈦第一题:设计一个按优先数调度算法实现处理器调度的进程。

㈧第二题:设计一个按时间片轮转法实现处理器调度的程序。

实验提示

第一题[提示]:

(1)假定系统有五个进程,每一个进程用一个进程控制块PCB来代表。进程控制块的格式为:

进程名

指针

要求运行时间

优先数

状态

其中,进程名----作为进程的标识,假设五个进程的进程名分别是P1,P2,P3,P4,P5。

指针----按优先数的大小把五个进程连成队列,用指针指出下一个进程的进程控制块首地址,最后一个进程中的指针为“0”。

要求运行时间----假设进程需要运行的单位时间数。

优先数----赋予进程的优先数,调度时总是选取优先数大的进程先执行。

状态----可假设有两种状态,“就绪”状态和“结束“状态,五个进程的初始状态都为“就绪”状态,用“R”表示,当一个进程运行结束后,它的状态变为“结束”,用“E”表示。

(2)在每次运行你所设计的处理器调度程序之前,为每个进程任意确定它的“优先数”和“要求运行时间”。

为了调度方便,把五个进程按给定的优先数从大到小连成队列,用一单元指出队首进程,用指针指出队列的连接情况。

(3)处理器调度总是选队首进程运行。采用动态改变优先数的办法,进程每运行一次优先数就减“1”。由于本实验是模拟处理器调度,所以,对被选中的进程并不实际的启动运行,而是执行:

优先数-1

要求运行时间-1

来模拟进程的一次运行。

提醒注意的是:在实际的系统中,当一个进程被选中运行时,必须恢复进程的现场,它占有处理器运行,直到出现等待事件或运行结束。在这里省去了这些工作。

(4)进程运行一次后,若要求运行时间≠0,则再将它加入队列(按优先数大小插入,且置队首标志);若要求运行时间=0,则把它的状态修改为“结束”,且退出队列。(5)若“就绪”状态的进程队列不为空,则重复上面(4)和(5)的步骤,直到所有进程都成为“结束”状态。

(6)在所设计的程序中应有显示或打印语句,能显示或打印每次被选中进程的进程名以及运行一次后进称对列的变化。

为五个进程任意确定一组“优先数”和“要求运行时间”,启动所设计的处理器调度程序,显示或打印逐次被选中进程的进程名以及进程控制块的动态变化过程。

第二题[提示]

(1)假定系统有五个进程,每一个进程用一个进程控制块PCB来代表。进程控制块的格式为:

进程名

指针

要求运行时间

已运行时间

状态

其中,进程名----作为进程的标识,假设五个进程的进程名分别是Q1,Q2,Q3,Q4,Q5。

指针----进程按顺序排成循环队列,用指针指出下一个进程的进程控制块首地址,最后一个进程中的指针指出第一个进程的进程控制块首地址。

要求运行时间----假设进程需要运行的单位时间数。

已运行时间----假设进程已经运行的单位时间数,初始值为“0”。

状态----有两种状态,“就绪”状态和“结束”状态,初始状态都为“就绪”,用“R”

表示,当一个进程运行结束后,它的状态变为“结束”,用“E”表示。(2)每次运行你所设计的处理器调度程序之前,为每个进程任意确定它的“要求运行时间”。

把五个进程按顺序排成循环队列,用指针指出队列连接情况。另用一标志单元记录轮到运行的进程。

(3)处理器调度总是选择标志单元指示的进程运行。由于本实验是模拟处理器调度的功能,所以,对被选中的进程并不实际启动运行,而是执行:

已运行时间-1

来模拟进程的一次运行,表示进程已经运行过一个单位的时间。

请注意:在实际的系统中,当一个进程被选中运行时,必须置上该进程可以运行的时

间片值,以及恢复进程的现场,让它占有处理器运行,直到出现等待事件或运行满一

个时间片。在这里省去了这些工作,仅用“已运行时间+1”来表示进程已经运行满一个时间片。

(4)进程运行一次后,应把该进程的进程控制块中的指针值送到标志单元,以指示下一个轮到运行的进程。同时,应判断该进程的要求运行时间与已运行时间,若该进程要求运行时间≠已运行时间,则表示它尚未执行结束,应待到下一轮时再运行。若该进程的要求运行时间=已运行时间,则表示它已经执行结束,应把它的状态修改为“结束”

(E)且退出队列。此时,应把该进程的进程控制块中的指针值送到前面一个进程的指针位置。

(5)若“就绪”状态的进程队列不为空,则重复上面(4)和(5)的步骤,直到所有进程都成为“结束”状态。

(6)在所设计的称序中应有显示或打印语句,能显示或打印每次被选中进程的进程名以及运行一次后进称对列的变化。

(7)为五个进程任意确定一组“要求运行时间”,启动所设计的处理器调度程序,显示或打印逐次被选中进程的进程名以及进程控制块的动态变化过程。

(九)模拟实现一个简单的固定(或可变)分区存储管理系统

实验提示

本实验要求完成如下任务:

(1)建立相关的数据结构,作业控制块、已分配分区及未分配分区

(2)实现一个分区分配算法,如最先适应分配算法、最优或最坏适应分配算法

(3)实现一个分区回收算法

(4)给定一批作业/进程,选择一个分配或回收算法,实现分区存储的模拟管理。

(十)编写单通路I/O系统中的设备分配程序。

实验提示

(1) 设计:

系统设备表SDT 控制器表COCT

设备控制表DCT 通道表CHCT

逻辑设备表LUT

(2)给出各表目初态

(3)回答信息:

能够分配时,给出设备号、控制器号、通道号,

否则,给出无法分配的回答,插入相应的等待队列。

(十一)编写用位示图法管理文件存储空间的分配与回收程序。

实验提示

(1)给出位示图初态

(2)程序人口参数:

分配时:参数为文件名及需要分配的块数,

回收时:参数为文件名。

(3)回答信息:分配时:

能够分配时,给出文件名和分配的具体块号,

否则,给出无法分配的信息。

显示位示图。

回收时:

给出回收的具体块号。

显示位示图。

实验一进程控制描述与控制

[1] Windows“任务管理器”的进程管理

背景知识

Windows 2000的任务管理器提供了用户计算机上正在运行的程序和进程的相关信息,也显示了最常用的度量进程性能的单位。使用任务管理器,可以打开监视计算机性能的关键指示器,快速查看正在运行的程序的状态,或者终止已停止响应的程序。也可以使用多个参数评估正在运行的进程的活动,以及查看CPU 和内存使用情况的图形和数据。其中:

1) “应用程序”选项卡显示正在运行程序的状态,用户能够结束、切换或者启动程序。

2) “进程”选项卡显示正在运行的进程信息。例如,可以显示关于CPU 和内存使用情况、页面错误、句柄计数以及许多其他参数的信息。

3) “性能”选项卡显示计算机动态性能,包括CPU 和内存使用情况的图表,正在运行的句柄、线程和进程的总数,物理、核心和认可的内存总数(KB) 等。

实验目的

通过在Windows 任务管理器中对程序进程进行响应的管理操作,熟悉操作系统进程管理的概念,学习观察操作系统运行的动态性能。

工具/准备工作

在开始本实验之前,请回顾教科书的相关内容。

需要准备一台运行Windows 2000 Professional操作系统的计算机。

实验内容与步骤

1. 使用任务管理器终止进程

2. 显示其他进程计数器

3. 更改正在运行的程序的优先级

启动并进入Windows环境,单击Ctrl + Alt + Del键,或者右键单击任务栏,在快捷菜单中单击“任务管理器”命令,打开“任务管理器”窗口。

在本次实验中,你使用的操作系统版本是:

____________________________________________________________________

当前机器中由你打开,正在运行的应用程序有:

1) __________________________________________________________________

2) __________________________________________________________________

3) __________________________________________________________________

4) __________________________________________________________________

5) __________________________________________________________________

Windows“任务管理器”的窗口由______个选项卡组成,分别是:

1) __________________________________________________________________

2) __________________________________________________________________

3) __________________________________________________________________

当前“进程”选项卡显示的栏目分别是(可移动窗口下方的游标/箭头,或使窗口最大化进行观察) :

1) __________________________________________________________________

2) __________________________________________________________________

3) __________________________________________________________________

4) __________________________________________________________________

5) __________________________________________________________________

6) __________________________________________________________________

7) __________________________________________________________________

8) __________________________________________________________________

1. 使用任务管理器终止进程

步骤1:单击“进程”选项卡,一共显示了______个进程。请试着区分一下,其中:系统(SYSTEM) 进程有______个,填入表3-1中。

表3-1 实验记录

映像名称用户名CPU 内存使用

服务(SERVICE) 进程有______个,填入表3-2中。

表3-2 实验记录

映像名称用户名CPU 内存使用

用户进程有______个,填入表3-3中。

表3-3 实验记录

映像名称用户名CPU 内存使用

提示:在Windows XP的“任务管理器”中,“进程”选项卡增加了一个“用户名”栏目,其中区分了SYSTEM、NETWORK SERVICE、LOCAL SERVICE和用户的不同进程类别。

步骤2:单击要终止的进程,然后单击“结束进程”按钮。

注意:终止进程时要小心。终止进程有可能导致不希望发生的结果,包括数据丢失和系统不稳定等。因为在被终止前,进程将没有机会保存其状态和数据。如果结束应用程序,您将丢

失未保存的数据。如果结束系统服务,系统的某些部分可能无法正常工作。

终止进程,将结束它直接或间接创建的所有子进程。例如,如果终止了电子邮件程序(如Outlook 98) 的进程树,那么同时也终止了相关的进程,如MAPI后台处理程序mapisp32.exe。

请将终止某进程后的操作结果与原记录数据对比,发生了什么:

____________________________________________________________________ ________________________________________________________________________

________________________________________________________________________

________________________________________________________________________

2. 显示其他进程记数器

在“进程”选项卡上单击“查看”菜单,然后单击“选择列”命令。单击要增加显示为列标题的项目,然后单击“确定”。

为对进程列表进行排序,可在“进程”选项卡上单击要根据其进行排序的列标题。而为了要反转排序顺序,可再次单击列标题。

经过调整,“进程”选项卡现在显示的项目分别是:

____________________________________________________________________ ________________________________________________________________________

________________________________________________________________________

通过对“查看”菜单的选择操作,可以在“任务管理器”中更改显示选项:

·在“应用程序”选项卡上,可以按详细信息、大图标或小图标查看。

·在“性能”选项卡上,可以更改CPU记录图,并显示内核时间。“显示内核时间”选项在“CPU使用”和“CPU使用记录”图表上添加红线。红线指示内核操作占用的CPU资源数量。

3. 更改正在运行的程序的优先级

要查看正在运行的程序的优先级,可单击“进程”选项卡,单击“查看”菜单,单击“选择列”-“基本优先级”命令,然后单击“确定”按钮。

为更改正在运行的程序的优先级,可在“进程”选项卡上右键单击您要更改的程序,指向“设置优先级”,然后单击所需的选项。

更改进程的优先级可以使其运行更快或更慢(取决于是提升还是降低了优先级) ,但也可能对其他进程的性能有相反的影响。

记录操作后所体会的结果:

____________________________________________________________________ ________________________________________________________________________ ________________________________________________________________________ ________________________________________________________________________ ________________________________________________________________________ 在多处理器计算机上,用户还可以给处理器指派进程,将程序或进程的执行限制在选定的处理器上,但这有可能导致总体性能的下降。

[2]Windows 2000进程的“一生”

背景知识

1. 创建进程

2. 正在运行的进程

3. 终止进程

Windows所创建的每个进程都从调用CreateProcess() API函数开始,该函数的任务是在对象管理器子系统内初始化进程对象。每一进程都以调用ExitProcess() 或TerminateProcess() API 函数终止。通常应用程序的框架负责调用ExitProcess() 函数。对于C++ 运行库来说,这一调用发生在应用程序的main() 函数返回之后。

1. 创建进程

CreateProcess() 调用的核心参数是可执行文件运行时的文件名及其命令行。表3-4详细地列出了每个参数的类型和名称。

表3-4 CreateProcess() 函数的参数

参数名称使用目的

LPCTSTR lpApplivationName 全部或部分地指明包括可执行代码的EXE文件的文件名

LPCTSTR lpCommandLine 向可执行文件发送的参数

LPSECURIITY_A TTRIBUTES lpProcessAttributes 返回进程句柄的安全属性。主要指明这一句柄是否应该由其他子进程所继承

LPSECURIITY_A TTRIBUTES

lpThreadAttributes

返回进程的主线程的句柄的安全属性

BOOL bInheritHandle 一种标志,告诉系统允许新进程继承创建者进程的句柄DWORD dwCreationFlage 特殊的创建标志(如CREA TE_SUSPENDED) 的位标记LPVOID lpEnvironment 向新进程发送的一套环境变量;如为null值则发送调用者环境LPCTSTR lpCurrentDirectory 新进程的启动目录

STARTUPINFO lpStartupInfo STARTUPINFO结构,包括新进程的输入和输出配置的详情

LPPROCESS_INFORMA TION

调用的结果块;发送新应用程序的进程和主线程的句柄和ID lpProcessInformation

可以指定第一个参数,即应用程序的名称,其中包括相对于当前进程的当前目录的全路径或者利用搜索方法找到的路径;lpCommandLine参数允许调用者向新应用程序发送数据;接下来的三个参数与进程和它的主线程以及返回的指向该对象的句柄的安全性有关。

然后是标志参数,用以在dwCreationFlags参数中指明系统应该给予新进程什么行为。经常使用的标志是CREATE_SUSPNDED,告诉主线程立刻暂停。当准备好时,应该使用ResumeThread() API来启动进程。另一个常用的标志是CREATE_NEW_CONSOLE,告诉新进程启动自己的控制台窗口,而不是利用父窗口。这一参数还允许设置进程的优先级,用以向系统指明,相对于系统中所有其他的活动进程来说,给此进程多少CPU时间。

接着是CreateProcess() 函数调用所需要的三个通常使用缺省值的参数。第一个参数是lpEnvironment参数,指明为新进程提供的环境;第二个参数是lpCurrentDirectory,可用于向主创进程发送与缺省目录不同的新进程使用的特殊的当前目录;第三个参数是STARTUPINFO数据结构所必需的,用于在必要时指明新应用程序的主窗口的外观。

CreateProcess() 的最后一个参数是用于新进程对象及其主线程的句柄和ID的返回值缓冲区。以PROCESS_INFORMATION结构中返回的句柄调用CloseHandle() API函数是重要的,因为如果不将这些句柄关闭的话,有可能危及主创进程终止之前的任何未释放的资源。

2. 正在运行的进程

如果一个进程拥有至少一个执行线程,则为正在系统中运行的进程。通常,这种进程使用主线程来指示它的存在。当主线程结束时,调用ExitProcess() API函数,通知系统终止它所拥有的所有正在运行、准备运行或正在挂起的其他线程。当进程正在运行时,可以查看它的许多特性,其中少数特性也允许加以修改。

首先可查看的进程特性是系统进程标识符(PID) ,可利用GetCurrentProcessId() API函数来查看,与GetCurrentProcess() 相似,对该函数的调用不能失败,但返回的PID在整个系统中都可使用。其他的可显示当前进程信息的API函数还有GetStartupInfo()和GetProcessShutdownParameters() ,可给出进程存活期内的配置详情。

通常,一个进程需要它的运行期环境的信息。例如API函数GetModuleFileName() 和GetCommandLine() ,可以给出用在CreateProcess() 中的参数以启动应用程序。在创建应用程序时可使用的另一个API函数是IsDebuggerPresent() 。

可利用API函数GetGuiResources() 来查看进程的GUI资源。此函数既可返回指定进程中的打开的GUI对象的数目,也可返回指定进程中打开的USER对象的数目。进程的其他性能信息可通过GetProcessIoCounters()、GetProcessPriorityBoost() 、GetProcessTimes() 和GetProcessWorkingSetSize() API得到。以上这几个API函数都只需要具有PROCESS_QUERY_INFORMA TION访问权限的指向所感兴趣进程的句柄。

另一个可用于进程信息查询的API函数是GetProcessVersion() 。此函数只需感兴趣进程的PID (进程标识号) 。本实验程序清单3-6中列出了这一API函数与GetV ersionEx() 的共同作用,可确定运行进程的系统的版本号。

3. 终止进程

所有进程都是以调用ExitProcess() 或者TerminateProcess() 函数结束的。但最好使用前者而不要使用后者,因为进程是在完成了它的所有的关闭“职责”之后以正常的终止方式来调用前者的。而外部进程通常调用后者即突然终止进程的进行,由于关闭时的途径不太正常,有可能引起错误的行为。

TerminateProcess() API函数只要打开带有PROCESS_TERMINA TE访问权的进程对象,

就可以终止进程,并向系统返回指定的代码。这是一种“野蛮”的终止进程的方式,但是有时却是需要的。

如果开发人员确实有机会来设计“谋杀”(终止别的进程的进程) 和“受害”进程(被终止的进程) 时,应该创建一个进程间通讯的内核对象——如一个互斥程序——这样一来,“受害”进程只在等待或周期性地测试它是否应该终止。

实验目的

1) 通过创建进程、观察正在运行的进程和终止进程的程序设计和调试操作,进一步熟悉操作系统的进程概念,理解Windows 2000进程的“一生”。

2) 通过阅读和分析实验程序,学习创建进程、观察进程和终止进程的程序设计方法。

工具/准备工作

在开始本实验之前,请回顾教科书的相关内容。

需要做以下准备:

1) 一台运行Windows 2000 Professional操作系统的计算机。

2) 计算机中需安装Visual C++ 6.0专业版或企业版。

实验内容与步骤

1. 创建进程

2. 正在运行的进程

3. 终止进程

请回答:

Windows所创建的每个进程都是以调用_____________________________ API函数开始和以调用____________________________ 或_______________________ API函数终止。

1. 创建进程

本实验显示了创建子进程的基本框架。该程序只是再一次地启动自身,显示它的系统进程ID和它在进程列表中的位置。

步骤1:登录进入Windows 2000 Professional。

步骤2:在“开始”菜单中单击“程序”-“Microsoft Visual Studio 6.0”–“Microsoft Visual C++ 6.0”命令,进入Visual C++窗口。

步骤3:在工具栏单击“打开”按钮,在“打开”对话框中找到并打开实验源程序3-5.cpp。

清单3-5 创建子进程

// proccreate项目

# include

# include

# include

// 创建传递过来的进程的克隆过程并赋于其ID值

void StartClone(int nCloneID)

{

// 提取用于当前可执行文件的文件名

TCHAR szFilename[MAX_PATH] ;

:: GetModuleFileName(NULL, szFilename, MAX_PATH) ;

// 格式化用于子进程的命令行并通知其EXE文件名和克隆ID

TCHAR szCmdLine[MAX_PA TH] ;

:: sprintf(szCmdLine, “\”%s\” %d”, szFilename, nCloneID) ;

// 用于子进程的STARTUPINFO结构

STARTUPINFO si;

:: ZeroMemory(reinterpret_cast (&si) , sizeof(si) ) ;

si.cb = sizeof(si) ; // 必须是本结构的大小

// 返回的用于子进程的进程信息

PROCESS_INFORMA TION pi;

// 利用同样的可执行文件和命令行创建进程,并赋于其子进程的性质BOOL bCreateOK = :: CreateProcess(

szFilename, // 产生这个EXE的应用程序的名称szCmdLine, // 告诉其行为像一个子进程的标志

NULL, // 缺省的进程安全性

NULL, // 缺省的线程安全性

FALSE, // 不继承句柄

CREATE_NEW_CONSOLE, // 使用新的控制台

NULL, // 新的环境

NULL, // 当前目录

&si, // 启动信息

&pi) ; // 返回的进程信息

// 对子进程释放引用

if (bCreateOK)

{

:: CloseHandle(pi.hProcess) ;

:: CloseHandle(pi.hThread) ;

}

}

int main(int argc, char* argv[] )

{

// 确定进程在列表中的位置

int nClone(0) ;

if (argc > 1)

{

// 从第二个参数中提取克隆ID

:: sscanf(argv[1] , “%d” , &nClone) ;

}

// 显示进程位置

std :: cout << “Process ID: “ << :: GetCurrentProcessId()

<< “, Clone ID: “ << nClone

<< std :: endl;

// 检查是否有创建子进程的需要

const int c_nCloneMax = 25;

if (nClone < C_nCloneMax)

{

// 发送新进程的命令行和克隆号

StartClone(++nClone) ;

}

// 在终止之前暂停一下(l/2秒)

:: Sleep(500) ;

计算机操作系统实验课实验报告

实验报告 实验课程: 计算机操作系统学生姓名:XXX 学号:XXXX 专业班级:软件 2014年12月25日

目录 实验一熟悉Windows XP中的进程和线程.. 3实验二进程调度 (7) 实验三死锁避免—银行家算法的实现 (18) 实验四存储管理 (24)

实验一熟悉Windows XP中的进程和线程 一、实验名称 熟悉Windows XP中的进程和线程 二、实验目的 1、熟悉Windows中任务管理器的使用。 2、通过任务管理器识别操作系统中的进程和线程的相关信息。 3、掌握利用spy++.exe来察看Windows中各个任务的更详细信息。 三、实验结果分析 1、启动操作系统自带的任务管理器: 方法:直接按组合键Ctrl+Alt+Del,或者是在点击任务条上的“开始”“运行”,并输入“taskmgr.exe”。

2、调整任务管理器的“查看”中的相关设置,显示关于进程的以下各项信息,并 完成下表: 表一:统计进程的各项主要信息 3、启动办公软件“Word”,在任务管理器中找到该软件的登记,并将其结束掉。再

从任务管理器中分别找到下列程序:winlogon.exe、lsass.exe、csrss.exe、smss.exe,试着结束它们,观察到的反应是任务管理器无法结束进程, 原因是该系统是系统进程。 4、在任务管理器中找到进程“explorer.exe”,将之结束掉,并将桌面上你打开的所 有窗口最小化,看看你的计算机系统起来什么样的变化桌面上图标菜单都消失了、得到的结论explorer.exe是管理桌面图标的文件(说出explorer.exe进程的作用)。 5、运行“spy++.exe”应用软件,点击按钮“”,切换到进程显示栏上,查看进 程“explorer.exe”的各项信息,并填写下表: 进程:explorer.exe 中的各个线程

操作系统测验

操作系统课堂测验 一:名词解释: 操作系统控制和管理计算机系统内各种硬件和软件资源、有效地组织多道程序运行的系统软件(或程序集合),是用户与计算机之间的接口 二:填空 1.操作系统的基本特征是并发、共享和_虚拟____、异步 2.进程间相互合作的关系是_同步_____关系,而对资源争用的关系是___互斥______关系。若干进程 使用同一临界资源时必须互斥执行。 3.对信号量S每执行一次P操作,则信号量S的值就__减1_________。当S的值___小于0_____时,执行P操作的进程的状态就置为阻塞态,把相应的PCB连入该信号量队列的___末尾________ ,并且该进程____放弃_______ 处理机。 4. 从用户的源程序进入系统到相应程序在机器上运行,所经历的主要处理阶段有编译阶段, 连接阶段,___装入阶段______和___运行阶段______。 5.如果信号量的当前值为-5,则表示系统中在该信号量上有个等待进程。 三:判断对错并改正 1.进程控制块(PCB)是专为用户进程设置的私有数据结构,每个进程仅有一个PCB。 (×) 2简单地说,进程是程序的执行过程。因而,进程和程序是一一对应的。(×) 四:解答题 1.进程和程序的主要区别是什么? 进程是动态的,程序是静态的;进程具有并发性,而程序具有顺序性;进程具有独立性,是资源分配和调度的基本单位,而程序无此特性;进程和程序间没有一一对应关系;进程异步运行,会相互制约,程序不具备此特性。 2.如何利用信号量机制来实现多个进程对临界资源的互斥访问? 为了使多个进程能互斥访问某临界资源,只需为该资源设置一互斥信号量mutex,并设其初始值为1,用于表示临界资源未被访问,然后将各进程访问该资源的临界区CS置于wait(mutex)和signal(mutex)操作之间即可。这样,每个欲访问该临界资源的进程,在进入临界区之前,都要先对mutex执行wait 操作,若该资源此刻未被访问(mutex的值为1),本次wai操作必然成功,进程便可以进入自己的临界区。这时,若有其他进程也想进入自己的临界区,由于对mutex执行wait操作定会失败(mutex 的值已为-1),因而该进程被阻塞,从而保证了该临界资源能被互斥地访问。 五:选择 1. 操作系统的基本职能是(A ) A.控制和管理系统内各种资源,有效地组织多道程序的运行 B.提供用户界面,方便用户使用 C.提供方便的可视化编辑程序 D.提供功能强大的网络管理工具 2. 操作系统中引入“进程”概念的主要目的是( B )。 A.改善用户编程环境 B.描述程序动态执行过程的性质 C.使程序与计算过程一一对应 D.提高程序的运行速度 3某进程由于需要从磁盘上读入数据而处于阻塞状态。当系统完成了所需的读盘操作后,此时该进程的状态将( D ) A. 从就绪变为运行

计算机操作系统实训资料

计算机操作系统实验(训)指导书 学院:电子信息工程学院 班级:13计算机科学与技术本01班 学号: 姓名: 指导教师: 西安思源学院 电子信息工程学院

前言 操作系统是计算机科学与技术专业的一门重要的专业课,是一门实践性很强的技术课程。掌握操作系统原理、熟悉操作系统的使用是各层次计算机软硬件开发人员必不可少的基本技能。操作系统课程讲授理论原理比较容易,而如何指导学生进行实践则相对较难,导致学生不能深刻地理解操作系统的本质,也不能在实际中应用所学的操作系统理论知识及操作系统所提供的功能来解决实际问题。 本实验课程在操作系统原理课程教学中占有重要地位,目的是让学生及时掌握和巩固所学的基本原理和基础理论,加深理解。提高学生自适应能力,为将来使用和设计各类新的操作系统打下基础。 一般来说,学习操作系统分为以下几个层次: 1.学习并掌握操作系统的基本概念及原理,了解操作系统的实现机制。 2.掌握常用操作系统的使用、操作和维护,成为合格的系统管理员。 目前最常用的操作系统主要有UNIX、Linux、Windows等等。 3.通过分析操作系统源代码,掌握修改、编写操作系统的能力。开放源代码的操作系统Linux的出现为我们提供了机遇。 操作系统本身的构造十分复杂,如何在有效的时间内,使学生既能了解其实现原理又能对原理部分进行有效的实践,是操作系统教学一直在探索的内容。本实验课程以Windows和Linux操作系统为主要平台,从基本原理出发,通过几个实验,使学生能对操作系统的基本原理有更深入的了解,为将来从事操作系统方面的研究工作打下一定的基础。

目录 实验一Windows的用户界面 (4) 实验二Windows2003的任务与进程管理器 (6) 实验三Linux使用环境 (10) 实验四Linux进程管理、内存管理、设备管理 (13) 实验五Windows2003内存管理 (16) 实验六目录和文件管理 (19) 实验七用户与组群管理 (21)

《计算机操作系统》第01章在线测试

《计算机操作系统》第01章在线测试 《计算机操作系统》第01章在线测试剩余时间:51:06 答题须知:1、本卷满分20分。 2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。 3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。 第一题、单项选择题(每题1分,5道题共5分) 1、批处理系统的主要缺点是()。 A、没有交互性 B、系统资源利用率不高 C、系统吞吐率小 D、不具备并行性 2、操作系统的功能是进行处理机管理、()管理、存储管理、设备管理和文件管理。 A、硬件 B、软件 C、作业 D、进程 3、操作系统的功能不包括()。 A、管理CPU B、分配内存 C、提供磁盘读写系统调用 D、提供类似photoshop的图片处理功能 4、进程由执行变为阻塞是()。 A、进程同步和互斥的管理工作 B、处理器调度的管理工作 C、进程控制的管理工作 D、进程通信和死锁 5、层次结构软件系统()。 A、不是由模块组成的 B、同层模块之间可以相互调用 C、不同层模块之间可以相互调用 D、不同层模块之间单向调用 第二题、多项选择题(每题2分,5道题共10分) 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、驱动调度 第三题、判断题(每题1分,5道题共5分) 1、计算机上配置操作系统实现了资源管理的自动化。 正确错误2、操作系统是为运行程序服务的。

计算机操作系统内存分配实验报告记录

计算机操作系统内存分配实验报告记录

————————————————————————————————作者:————————————————————————————————日期:

一、实验目的 熟悉主存的分配与回收。理解在不同的存储管理方式下,如何实现主存空间的分配与回收。掌握动态分区分配方式中的数据结构和分配算法及动态分区存储管理方式及其实现过程。 二、实验内容和要求 主存的分配和回收的实现是与主存储器的管理方式有关的。所谓分配,就是解决多道作业或多进程如何共享主存空间的问题。所谓回收,就是当作业运行完成时将作业或进程所占的主存空间归还给系统。 可变分区管理是指在处理作业过程中建立分区,使分区大小正好适合作业的需求,并且分区个数是可以调整的。当要装入一个作业时,根据作业需要的主存量查看是否有足够的空闲空间,若有,则按需要量分割一个分区分配给该作业;若无,则作业不能装入,作业等待。随着作业的装入、完成,主存空间被分成许多大大小小的分区,有的分区被作业占用,而有的分区是空闲的。 实验要求使用可变分区存储管理方式,分区分配中所用的数据结构采用空闲分区表和空闲分区链来进行,分区分配中所用的算法采用首次适应算法、最佳适应算法、最差适应算法三种算法来实现主存的分配与回收。同时,要求设计一个实用友好的用户界面,并显示分配与回收的过程。同时要求设计一个实用友好的用户界面,并显示分配与回收的过程。 三、实验主要仪器设备和材料 实验环境 硬件环境:PC或兼容机 软件环境:VC++ 6.0 四、实验原理及设计分析 某系统采用可变分区存储管理,在系统运行当然开始,假设初始状态下,可用的内存空间为640KB,存储器区被分为操作系统分区(40KB)和可给用户的空间区(600KB)。 (作业1 申请130KB、作业2 申请60KB、作业3 申请100KB 、作业2 释放 60KB 、作业4 申请 200KB、作业3释放100KB、作业1 释放130KB 、作业5申请140KB 、作业6申请60KB 、作业7申请50KB) 当作业1进入内存后,分给作业1(130KB),随着作业1、2、3的进入,分别分配60KB、100KB,经过一段时间的运行后,作业2运行完毕,释放所占内存。此时,作业4进入系统,要求分配200KB内存。作业3、1运行完毕,释放所占内存。此时又有作业5申请140KB,作业6申请60KB,作业7申请50KB。为它们进行主存分配和回收。 1、采用可变分区存储管理,使用空闲分区链实现主存分配和回收。 空闲分区链:使用链指针把所有的空闲分区链成一条链,为了实现对空闲分区的分配和链接,在每个分区的起始部分设置状态位、分区的大小和链接各个分区的前向指针,由状态位指示该分区是否分配出去了;同时,在分区尾部还设置有一后向指针,用来链接后面的分区;分区中间部分是用来存放作业的空闲内存空间,当该分区分配出去后,状态位就由“0”置为“1”。 设置一个内存空闲分区链,内存空间分区通过空闲分区链来管理,在进行内存分配时,系统优先使用空闲低端的空间。 设计一个空闲分区说明链,设计一个某时刻主存空间占用情况表,作为主存当前使用基础。初始化空间区和已分配区说明链的值,设计作业申请队列以及作业完成后释放顺序,实现主存的分配和回收。要求每次分配和回收后显示出空闲内存分区链的情况。把空闲区说明

计算机操作系统综合设计实验报告实验一

计算机操作系统综合设计 实验一 实验名称:进程创建模拟实现 实验类型:验证型 实验环境: win7 vc++6.0 指导老师: 专业班级: 姓名: 学号: 联系电话: 实验地点:东六E507 实验日期:2017 年 10 月 10 日 实验报告日期:2017 年 10 月 10 日 实验成绩:

一、实验目的 1)理解进程创建相关理论; 2)掌握进程创建方法; 3)掌握进程相关数据结构。 二、实验内容 windows 7 Visual C++ 6.0 三、实验步骤 1、实验内容 1)输入给定代码; 2)进行功能测试并得出正确结果。 2、实验步骤 1)输入代码 A、打开 Visual C++ 6.0 ; B、新建 c++ 文件,创建basic.h 头文件,并且创建 main.cpp 2)进行功能测试并得出正确结果 A 、编译、运行main.cpp B、输入测试数据 创建10个进程;创建进程树中4层以上的数型结构 结构如图所示:。

createpc 创建进程命令。 参数: 1 pid(进程id)、 2 ppid(父进程id)、3 prio(优先级)。 示例:createpc(2,1,2) 。创建一个进程,其进程号为2,父进程号为1,优先级为2 3)输入创建进程代码及运行截图 4)显示创建的进程

3、画出createpc函数程序流程图 分析createpc函数的代码,画出如下流程图:

四、实验总结 1、实验思考 (1)进程创建的核心内容是什么? 答: 1)申请空白PCB 2)为新进程分配资源 3)初始化进程控制块 4)将新进程插入到就绪队列 (2)该设计和实际的操作系统进程创建相比,缺少了哪些步骤? 答:只是模拟的创建,并没有分配资源 2、个人总结 通过这次课程设计,加深了对操作系统的认识,了解了操作系统中进程创建的过程,对进程创建有了深入的了解,并能够用高 级语言进行模拟演示。一分耕耘,一分收获,这次的课程设计让 我受益匪浅。虽然自己所做的很少也不够完善,但毕竟也是努 力的结果。另外,使我体会最深的是:任何一门知识的掌握, 仅靠学习理论知识是远远不够的,要与实际动手操作相结合才能 达到功效。

计算机操作系统实验四

实验三进程与线程 问题: 进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的独立单位,具有动态性、并发性、独立性、异步性和交互性。然而程序是静态的,并且进程与程序的组成不同,进程=程序+数据+PCB,进程的存在是暂时的,程序的存在是永久的;一个程序可以对应多个进程,一个进程可以包含多个程序。当操作系统引入线程的概念后,进程是操作系统独立分配资源的单位,线程成为系统调度的单位,与同一个进程中的其他线程共享程序空间。 本次实验主要的目的是: (1)理解进程的独立空间; (2)加深对进程概念的理解,明确进程和程序的区别; (3)进一步认识并发执行的实质; (4)了解红帽子(Linux)系统中进程通信的基本原理。 (5)理解线程的相关概念。 要求: 1、请查阅资料,掌握进程的概念,同时掌握进程创建和构造的相关知识和线程创建和 构造的相关知识,了解C语言程序编写的相关知识; (1)进程: 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。程序是指令、数据及其组织形式的描述,进程是程序的实体。进程的概念主要有两点:第一,进程是一个实体。每一个进程都有它自己的地址空间,一般情况下,包括文本区域(text region)、数据区域(data region)和堆栈(stack region)。文本区域存储处理器执行的代码;数据区域存储变量和进程执行期间使用的动态分配的内

存;堆栈区域存储着活动过程调用的指令和本地变量。第二,进程是一个“执行中的程序”。程序是一个没有生命的实体,只有处理器赋予程序生命时(操作系统执行之),它才能成为一个活动的实体,我们称其为进程。 (2)进程的创建和构造: 进程简单来说就是在操作系统中运行的程序,它是操作系统资源管理的最小单位。但是进程是一个动态的实体,它是程序的一次执行过程。进程和程序的区别在于:进程是动态的,程序是静态的,进程是运行中的程序,而程序是一些保存在硬盘上的可执行代码。新的进程通过克隆旧的程序(当前进程)而建立。fork() 和clone()(对于线程)系统调用可用来建立新的进程。 (3)线程的创建和构造: 线程也称做轻量级进程。就像进程一样,线程在程序中是独立的、并发的执行路径,每个线程有它自己的堆栈、自己的程序计数器和自己的局部变量。但是,与独立的进程相比,进程中的线程之间的独立程度要小。它们共享内存、文件句柄和其他每个进程应有的状态。 线程的出现也并不是为了取代进程,而是对进程的功能作了扩展。进程可以支持多个线程,它们看似同时执行,但相互之间并不同步。一个进程中的多个线程共享相同的内存地址空间,这就意味着它们可以访问相同的变量和对象,而且它们从同一堆中分配对象。尽管这让线程之间共享信息变得更容易,但你必须小心,确保它们不会妨碍同一进程里的其他线程。 线程与进程相似,是一段完成某个特定功能的代码,是程序中单个顺序的流控制,但与进程不同的是,同类的多个线程是共享同一块内存空间和一组系统资源的,而线程本身的数据通常只有微处理器的寄存器数据,以及一个供程序执行时使用的堆栈。所以系统在产生一个线程,或者在各个线程之间切换时,负担要比进程小得多,正因如此,线程也被称为轻型进程(light-weight process)。一个进程中可以包含多个线程。 2、理解进程的独立空间的实验内容及步骤

实验报告计算机操作系统-Windows.pdf

班级 178 学号姓名 【实验目的】 1. 掌握Windows 7的基本操作; 2. 熟练掌握资源管理器、文件与文件夹的管理方法 3. Windows 7控制面板的使用 【实验内容和步骤】 一.Windows7基本操作和文件管理 完成实践教程第18页中的实验并回答下列问题。 1.如何新建文件或文件夹? 在桌面空白处单击鼠标右键,选择“新建”--“文件夹”,键入新文件夹的名称,然后按 ENTER 键。 2.如何选定多个相邻文件或文件夹?如何选定多个不相邻文件和文件夹?如何选中全部文件和文件夹? 选定多个相邻文件的操作是:单击第一个文件,然后按住Shift 键,再单击最后一个文件 Shift 键,就是Ctrl 键上面那个。 选定多个不相邻文件操作是:单击第一个文件,然后按住Ctrl 键的同时,单击其他待选定的文件 Ctrl 键,就是键盘最左下角那个。 如何选中全部文件和文件夹:ctrl+A 3.试列举对文件/文件夹进行复制和移动的方法? 第一种方法:可以用鼠标右键进行操作。 第二种:可用ctrl+c 进行复制;ctrl+x 进行移动(也就是剪切)ctrl+v进行粘贴 4.如何对已删除的文件进行“还原”?

如果没清空回收站,在回收站里还原就行。 5.如何对按照修改日期搜索文件或文件夹? 我的电脑右键选搜索,打开搜索界面,在搜索选项里按日期,选中并输入日期 6.如何“隐藏”文件/文件夹?如何显示被“隐藏”起来的文件/文件夹图标? 把想隐藏文件的文件夹或文件,打开文件夹属性,隐藏打钩或去掉即可以选择这个文件是否隐藏或显示 打开任意的文件夹的工具选项卡的文件夹选项——查看选项卡——隐藏文件和文件夹上面有2个选择,选择显示隐藏文件夹即可看到隐藏文件 二.Windows7系统设置 完成实践教程第23页中的实验并回答下列问题。 1.如何改变桌面的背景、屏幕的分辨率并设置屏幕保护程序。 开始—控制面板—外观和个性化—个性化,然后进行桌面背景、窗口颜色、屏幕保护调整。 2.如何修改计算机的系统日期和时间。 (1)点开始--运行回车--打开组策略。 (2)在组策略管理器中选择“计算机配置”--windows设置--安全设置--本地策略--用户权利指派--更改系统时间。 (3)双击打开“更新系统时间配置”属性对话框,把里 面用户名全删除,点确定。 (4)重启计算机 3.如何为计算机添加“简体中文双拼”输入法。 可以右击输入法图标,选“设置”,“添加”,找到双拼输入法后单击“确定”就可以使用了。

计算机操作系统期末测试题及答案解析(两套)

操作系统期末试题1 一、单项选择题(每题2分,共20分) 1.在操作系统中,进程的最基本的特征是( A )。 A. 动态性和并发性 B.顺序性和可再现性 C.与程序的对应性 D.执行过程的封闭性 2.为了使系统中各部分资源得到均衡使用,就必须选择对资源需求不同的作业进行合理搭配。这项工作是由( A )完成的。 A.作业调度 B. 进程调度 C.用户自己D.管理人员 3.虚拟存储器给用户提供了特大的地址空间。实际上它是( C )。 A. 扩大物理内存容量 B.扩大物理外存容量 C. 扩大逻辑内存容量 D.扩大逻辑外存容量 4.引入缓冲技术的主要目的是( C )。 A. 改善用户编程环境 B.提高CPU的处理速度 C.提高CPU与设备之间的并行程度 D.降低计算机的硬件成本 5.在微内核结构的现代操作系统中,进程( A )。 A. 只是资源分配的单位 B.只是调度运行的单位 C.既是资源分配的单位,又是调度运行的单位 D.失去作用 6. (A)没有多道程序设计的特点。 A.dos B.unix B.windows D.os/2 7. 下列四个操作系统中,是分时系统的为(C)。 A.cp/m B.ms-dos C.unix D.windows nt 8. 在分时系统中,时间片一定,(B),响应时间越长。 A.内存越多 B.用户数越多 C.后备队列 D.用户数越少 9. 用户要在程序一级获得系统帮助,必须通过(D)。 A.进程调度 B.作业调度 C.键盘命令 D.系统调用 10. 操作系统是一组(C)。 A.文件管理程序 B.中断处理程序 C.资源管理程序 D.设备管理程序 二、判断题(选择你认为正确的叙述划√,认为错误的划×并说明原因。每题2分,共10分)

操作系统原理实验四

实验4 进程控制 1、实验目的 (1)通过对WindowsXP进行编程,来熟悉和了解系统。 (2)通过分析程序,来了解进程的创建、终止。 2、实验工具 (1)一台WindowsXP操作系统的计算机。 (2)计算机装有Microsoft Visual Studio C++6.0专业版或企业版。 3、预备知识 (3)·CreateProcess()调用:创建一个进程。 (4)·ExitProcess()调用:终止一个进程。 4、实验编程 (1)编程一利用CreateProcess()函数创建一个子进程并且装入画图程序(mspaint.exe)。阅读该程序,完成实验任务。源程序如下: # include < stdio.h > # include < windows.h > int main(VOID) ﹛STARTUPINFO si; PROCESS INFORMA TION pi; ZeroMemory(&si,sizeof(si)); Si.cb=sizeof(si); ZeroMemory(&pi,sizeof(pi)); if(!CreateProcess(NULL, “c: \ WINDOWS\system32\ mspaint.exe”, NULL, NULL, FALSE, 0, NULL, NULL, &si,&pi)) ﹛fprintf(stderr,”Creat Process Failed”); return—1; ﹜ WaitForSingleObject(pi.hProcess,INFINITE); Printf(“child Complete”); CloseHandle(pi.hProcess); CloseHandle(pi hThread); ﹜

《计算机操作系统》实验指导书

《计算机操作系统》 实验指导书 (适合于计算机科学与技术专业) 湖南工业大学计算机与通信学院 二O一四年十月

前言 计算机操作系统是计算机科学与技术专业的主要专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。计算机操作系统的实验目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握操作系统的基本原理,加深对操作系统基本方法的理解,加深对课堂知识的理解,为学生综合运用所学知识,在Linux环境下调用一些常用的函数编写功能较简单的程序来实现操作系统的基本方法、并在实践应用方面打下一定基础。要求学生在实验指导教师的帮助下自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个实验解决一类问题。要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,并且能够进行简单分析和判断;能够熟练使用Linux用户界面;掌握操作系统中进程的概念和控制方法;了解进程的并发,进程之间的通信方式,了解虚拟存储管理的基本思想。同时培养学生进行分析问题、解决问题的能力;培养学生完成实验分析、实验方法、实验操作与测试、实验过程的观察、理解和归纳能力。 为了收到良好的实验效果,编写了这本实验指导书。在指导书中,每一个实验均按照该课程实验大纲的要求编写,力求紧扣理论知识点、突出设计方法、明确设计思路,通过多种形式完成实验任务,最终引导学生有目的、有方向地完成实验任务,得出实验结果。任课教师在实验前对实验任务进行一定的分析和讲解,要求学生按照每一个实验的具体要求提前完成准备工作,如:查找资料、设计程序、完成程序、写出预习报告等,做到有准备地上机。进行实验时,指导教师应检查学生的预习情况,并对调试过程给予积极指导。实验完毕后,学生应根据实验数据及结果,完成实验报告,由学习委员统一收齐后交指导教师审阅评定。 实验成绩考核: 实验成绩占计算机操作系统课程总评成绩的20%。指导教师每次实验对学生进行出勤考核,对实验效果作记录,并及时批改实验报告,综合评定每一次的实验成绩,在学期终了以平均成绩作为该生的实验成绩。有以下情形之一者,实验成绩为不及格: 1.迟到、早退、无故缺勤总共3次及以上者; 2.未按时完成实验达3次及以上者; 3.缺交实验报告2次及以上者。

四川大学计算机操作系统第四实验报告

实验报告 (学生打印后提交) 实验名称:作业调度系统 实验时间: 2015 年 6 月 4 日 实验人员:________(姓名)_____(学号)______(年级) 实验目的: ?理解操作系统中调度的概念和调度算法。 ?学习Linux下进程控制以及进程之间通信的知识。 ?理解在操作系统中作业是如何被调度的,如何协调和控制各个作业对CPU的使用 实验环境: linux 实验步骤: 1. 1、调用vi编辑器修改job.h文件,为命名管道FIFO设置正确的路径,修改语句:#define FIFO "/home/student/SVRFIFO" 2. 修改scheduler.c文件,添加作业的打印信息,即修改函数do_stat,要求再输出作业名称、当 前优先级、默认优先级。 3. 在printf( “JID\tPID\tOWNER\tRUNTIME\tWAITTIME\tCREATTIME\t\tSTATE\n”);语句 中添加JOBNAME、CURPRI、DEFPRI。 4. 接下来的两个输出语句根据表头修改,注意printf语句的输出格式,输出的信息内容参照 jobinfo结构体。 5、用gcc分别编译连接作业调度程序、三个命令程序。 6、在一个控制台窗口中运行作业调度程序作为服务端。 7、提交一个运行时间超过100毫秒的作业(要求提供源程序),并编译连接。 8.再打开一个窗口登录服务器作为客户端,在其中运行作业控制命令(提交作业、删除作业、查看信息), 在服务端观察调度情况,分析所提交作业的执行情况。 实验陈述: 1、基础知识: ?说明进程与程序的区别:程序是静态的指令集合,不占用系统的运行资源,可以长久保存在 磁盘。进程是进程实体(程序、数据和进程控制块构成)的运行过程,是系统进行资源分配和 调度的一个独立单位。进程执行程序,但进程与程序之间不是一一对应的。通过多次运行,同一 程序可以对应多个进程;通过调用关系,一个进程可以包含多个程序。 ?说明进程与作业的区别:作业是用户一个事务处理过程中要求计算机系统所做工作 的集合,作业可以包含几个进程。 ?说明作业调度与进程调度的区别:作业调度是按照一定的原则从外存的作业后备队 列中选择作业调入内存,并为其分配资源,创建相应的进程,然后进入就绪队列。进 程调度是按照某种策略或方法从就绪队列中选择进程,将处理机分配给它。 2、实验知识 ?本实验作业有几种状态READY:作业准备就绪可以运行。RUNNING:作业正在运行DONE: 作业已经运行结束,可以退出。有这三种状态,但只用到前两种。 ?

计算机操作系统 实验报告

操作系统实验报告 学院:计算机与通信工程学院 专业:计算机科学与技术 班级: 学号: 姓名: 指导教师: 成绩: 2014年 1 月 1 日

实验一线程的状态和转换(5分) 1 实验目的和要求 目的:熟悉线程的状态及其转换,理解线程状态转换与线程调度的关系。 要求: (1)跟踪调试EOS线程在各种状态间的转换过程,分析EOS中线程状态及其转换的相关源代码; (2)修改EOS的源代码,为线程增加挂起状态。 2 完成的实验内容 2.1 EOS线程状态转换过程的跟踪与源代码分析 (分析EOS中线程状态及其转换的核心源代码,说明EOS定义的线程状态以及状态转换的实现方法;给出在本部分实验过程中完成的主要工作,包括调试、跟踪与思考等) 1.EOS 准备了一个控制台命令“loop ”,这个命令的命令函数是 ke/sysproc.c 文件中的ConsoleCmdLoop 函数(第797行,在此函数中使用 LoopThreadFunction 函数(第755 行)创建了一个优先级为 8 的线程(后面简称为“loop 线程”),该线程会在控制台中不停的(死循环)输出该线程的ID和执行计数,执行计数会不停的增长以表示该线程在不停的运行。loop命令执行的效果可以参见下图: 2. 线程由阻塞状态进入就绪状态 (1)在虚拟机窗口中按下一次空格键。 (2)此时EOS会在PspUnwaitThread函数中的断点处中断。在“调试”菜单中选择“快速监视”,在快速监视对话框的表达式编辑框中输入表达式“*Thread”,然后点击“重新计算”按钮,即可查看线程控制块(TCB)中的信息。其中State域的值为3(Waiting),双向链表项StateListEntry的Next和Prev指针的值都不为0,说明这个线程还处于阻塞状态,并在某个同步对象的等待队列中;StartAddr域的值为IopConsoleDispatchThread,说明这个线程就是控制台派遣线程。 (3)关闭快速监视对话框,激活“调用堆栈”窗口。根据当前的调用堆栈,可以看到是由键盘中断服务程序(KdbIsr)进入的。当按下空格键后,就会发生键盘中断,从而触发键盘中断服务程序。在该服务程序的最后中会唤醒控制台派遣线程,将键盘事件派遣到活动的控制台。 (4)在“调用堆栈”窗口中双击PspWakeThread函数对应的堆栈项。可以看到在此函数中连续调用了PspUnwaitThread函数和PspReadyThread函数,从而使处于阻塞状态的控制台派遣线程进入就绪状态。 (5)在“调用堆栈”窗口中双击PspUnwaitThread函数对应的堆栈项,先来看看此函数是如何改变线程状态的。按F10单步调试直到此函数的最后,然后再从快速监视对

计算机操作系统实验-文件管理

哈尔滨工业大学计算机科学与技术学院 实验报告 课程名称:操作系统 课程类型:必修 实验项目名称:文件管理 实验题目:设计一个多用户的文件系统 班级:实验学院一班 学号:6040310110 姓名:张元竞 设计成绩报告成绩指导老师

一、实验目的 随着社会信息量的极大增长,要求计算机处理的信息与日俱增,涉及到社会生活的各个方面。因此,文件管理是操作系统的一个非常重要的组成部分。学生应独立用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。从而对各种文件操作命令的实质内容和执行过程有比较深入的了解,掌握它们的实施方法,加深理解课堂上讲授过的知识。 二、实验要求及实验环境 用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。要求设计一个10个用户的文件系统,每次用户可保存10个文件,一次运行用户可以打开5个文件。系统能够检查打入命令的正确性,出错时能显示出错原因。对文件必须设置保护措施,例如只能执行,允许读等。在每次打开文件时,根据本次打开的要求,在此设置保护级别,即有二级保护。文件的操作至少有Create、delete、open、close、read、write等命令。 所编写的程序应采用二级文件目录,即设置主文件目录和用户文件目录。前者应包含文件主及它们的目录区指针;后者应给出每个文件占有的文件目录,即文件名,保护码,文件长度以及它们存放的位置等。另外为打开文件设置运行文件目录(AFD),在文件打开时应填入打开文件号,本次打开保护码和读写指针等。 三、设计思想(本程序中的用到的所有数据类型的定义,主程序的流程图及各程序模块之间的调用关系)

计算机操作系统实验

操作系统实验报告 1.实验目的及要求 ①了解什么是信号。 ②熟悉LINUX系统中进程之间软中断通信的基本原理。 2.实验环境 VMware Workstation 12 Player 3.实验内容 ①编写一段程序,使用系统调用fork( )创建两个子进程,再用系统调用signal( )让父进程捕捉键盘上来的中断信号(即按ctrl+c 键),当捕捉到中断信号后,父进程用系统调用kill( )向两个子进程发出信号,子进程捕捉到信号后,分别输出下列信息后终止:Child process 1 is killed by parent! Child process 2 is killed by parent! 父进程等待两个子进程终止后,输出以下信息后终止: Parent process is killed! ②程序实例 #include #include #include

int wait_mark; void waiting(); void stop(); void main() { int p1,p2; signal(SIGINT,stop); //signal()初始位置while((p1=fork())==-1); if(p1>0) { signal(SIGINT,stop); while((p2=fork())==-1); if(p2>0) { signal(SIGINT,stop); wait_mark=1; waiting(); kill(p1,10); kill(p2,12); wait(); wait(); printf("parent process is killed!\n"); exit(0);

计算机操作系统实验四

实验四:文件系统<一> [背景知识] 1. 选择文件系统 文件系统决定了操作系统能够对磁盘进行的处理。Windows xp 支持的文件系统主要有: 1) 文件分配表 (File Allocation Table ,FAT) 文件系统 (FAT16) 2) 保护模式FAT 文件系统 (FAT32) 3) Windows NT 文件系统 (NTFS) FAT 文件系统是早期文件系统之一,也是MS-DOS 使用的原始文件系统。它将文件信息储存在位于卷标开头处的文件分配表中,并保存两份文件分配表,以防其中的一个遭到破坏,见图7-1所示。 FAT 文件系统最大的优点是MS-DOS 、Windows 9x 甚至OS/2都能访问FAT 卷标;而其最大的弱点是随着FAT 卷标尺寸的增长,最小的簇尺寸也随之增长。对于大于512MB 的硬盘而言,最小的簇尺寸为16KB ;对于大于2GB 的硬盘,最小的簇尺寸为64KB 。这就导致磁盘空间的极大浪费,因为一个文件必须占用整数个簇。因此,1KB 的文件在2GB 的硬盘上将占用64KB 的磁盘空间。FAT 文件系统不支持尺寸大于4GB 的卷标。 图7-1 FAT 文件系统的结构 FAT32文件系统通过提供长文件名的支持来扩展FAT 文件系统,并与FAT16兼容。FA T (16和32) 文件系统是支持可移动媒体 (例如软盘) 上的惟一的文件系统。 Windows NT 文件系统 (NTFS) 包括了FAT 文件系统的所有功能,同时又提供了对高级文件系统特征 (例如安全模式、压缩和加密) 的支持。它是为在大磁盘上有效地完成文件操作而设计的。与FAT 和保护模式FAT 文件系统不同,它的最小簇尺寸不超过4KB 。但是,NTFS 卷标只能为Windows NT 、2000和XP 操作系统所访问。 Windows xp 提供的新特征 (NTFS 5.0) 使文件系统更安全、更可靠,比以往的Windows 版本更好地支持分布式计算。 此外,Windows xp 支持的文件系统还有: CDFS :光盘文件系统 (Compact Disc File System) 用于光盘的文件存储。 UDF :通用磁盘格式 (Universal Disk Format) 用于DVD 的文件存储。 在文件系统中,FAT16、FAT32和NTFS 这三个文件系统对磁盘子系统的性能影响最大。而事实上,选择NTFS 之外的任何文件系统都只有两个理由,即: 1) 可双引导系统 2) 小于400MB 的卷 如果系统不是这两种情况,那么NTFS 就应该是所选择的文件系统,NTFS 将提供更好的性能、可靠性和安全性。 2. EFS 加密文件系统 EFS (Encrypting File System) 实际上是NTFS 的一个特性, 它提供了核心文件加密技术,

操作系统实验报告_实验四

实验四:进程管理(二) 实验内容: 1.编写一个程序,打印进程的如下信息:进程标识符,父进程标识符,真实用户ID,有效用户ID,真实用户组ID,有效用户组ID。并分析真实用户ID和有效用户ID的区别。 源代码及结果: 真实用户ID和有效用户ID的区别: 真实用户ID:这个ID就是我们登陆unix系统时的身份ID。 有效用户ID:定义了操作者的权限。有效用户ID是进程的属性,决定了该进程对文件的访问权限。 2.阅读如下程序,编译并运行,分析进程执行过程的时间消耗(总共消耗的时间和CPU 消耗的时间),并解释执行结果。再编写一个计算密集型的程序替代grep,比较两次时间的花销。注释程序主要语句。 /* process using time */ #include #include #include #include #include void time_print(char *,clock_t);

int main(void){ //取得进程运行相关的时间 clock_t start,end; struct tms t_start,t_end; start = times(&t_start); system(“grep the /usr/doc/*/* > /dev/null 2> /dev/null”); /*command >/dev/null的作用是将是command命令的标准输出丢弃,而标准错误输出还是在屏幕上。一般来讲标准输出和标准错误输出都是屏幕,因此错误信息还是会在屏幕上输出。>/dev/null 2> /dev/null 标准输出与标准错误输出都会被丢弃*/ // 0 1 2 标准输入标准输出错误输出 // > 将信息放到该文件null中 end=times(&t_end); time_print(“elapsed”,end-start); puts(“parent times”); time_print(“\tuser CP U”,t_end.tms_utime); time_print(“\tsys CPU”,t_end.tms_stime); puts(“child times”); time_print(“\tuser CPU”,t_end.tms_cutime); time_print(“\tsys CPU”,t_end.tms_cstime); exit(EXIT_SUCCESS); } void time_print(char *str, clock_t time) { long tps = sysconf(_SC_CLK_TCK); /*函数sysconf()的作用为将时钟滴答数转化为秒数,_SC_CLK_TCK 为定义每秒钟

计算机操作系统(第三版)考试试题及答案

第一章操作系统引论 (一)单项选择题 1、操作系统目的是提供一个供其他程序执行的良好环境,因此它必须使计算机( ) A.使用方便 B.高效工作 C.合理使用资源 D.使用方便并高效工作 2、允许多个用户以交互方式使用计算机的操作系统是( )。 A.分时操作系统 B.批处理单道系统 C.实时操作系统 D.批处理多道系统 3、下列系统中( )是实时系统。 A.计算机激光照排系统 B.办公自动化系统 C.化学反应堆控制系统 D.计算机辅助设计系统 4、操作系统是一种系统软件,它( )。 A.控制程序的执行 B.管理计算机系统的资源C.方便用户使用计算机 D.管理计算机系统的资源和控制程序的执行5、计算机系统把进行( )和控制程序执行的功能集中组成一种软件,称为操作系统 A.CPU管理B.作业管理 C.资源管理D.设备管理 6、批处理操作系统提高了计算机系统的工作效率,但( )。 A.不能自动选择作业执行 B.无法协调资源分配 C.不能缩短作业执行时间 D.在作业执行时用户不能直接干预 7、分时操作系统适用于( )。 A.控制生产流水线B.调试运行程序C.大量的数据处理D.多个计算机资源共享 8、在批处理兼分时的系统中,对( )应该及时响应,使用户满意。 A.批量作业B.前台作业C.后台作业D.网络通信 9、实时操作系统对可靠性和安全性要求极高,它( )。 A.十分注重系统资源的利用率B.不强调响应速度C.不强求系统资源的利用率 D.不必向用户反馈信息 (二)填空题 1、计算机系统是按用户要求接收和存储信息,自动进行_______并输出结果信息的系统。 2、计算机系统把进行_______和控制程序执行的功能集中组成一种软件称为操作系统。 3、操作系统使用户合理_______,防止各用户间相互干扰。 4、使计算机系统使用方便和_______是操作系统的两个主要设计目标。 5、批处理操作系统、_______和实时操作系统是基本的操作系统。 6、在多道操作系统控制下,允许多个作业同时装入_______,使中央处理器轮流地执行各个作业。 7、批处理操作系统提高了计算机系统的_______,但在作业执行时用户不能直接干预作业的执行。 8、在分时系统中,每个终端用户每次可以使用一个由_______规定的CPU时间。 9、分时系统具有同时性、独立性、及时性和_______等特点。 10、在批处理兼分时系统中,往往把由分时系统控制的作业称为_____作业,把由批处理系统控制的作业称为_____作业。 11、实时系统要求有_______,不强求系统资源的利用率。 12、操作系统的资源管理功能有:处理器管理、_______、文件管理、设备管理和作业管理。 13、_______为用户合理地分配处理器时间.尽可能地使处理器处于忙状态,提高处理器的工作效率。 (三)简答题 1、计算机系统的资源包括哪些? 2、简述操作系统的定义。 3、为计算机设计操作系统要达到什么目的?设计时应考虑哪些目标? 4、从操作系统提供的服务出发,操作系统可分哪几类? 5.何谓批处理操作系统? 6.为什么说批处理多道系统能极大地提高计算机系统的工作效率? 7、分时系统如何使各终端用户感到好像自己独占一台计算机? 8、简述操作系统的五大功能。 第二章-1 进程管理 (一)单项选择题 1.临界区是指( )。 A.并发进程中用于实现进程互斥的程序段B.并发进程中用于实现进程同步的程序段 C.并发进程中用户实现进程通信的程序段D.并发进程中与共享变量有关的程序段

相关文档
相关文档 最新文档