文档库 最新最全的文档下载
当前位置:文档库 › 操作系统精髓与设计原理-第7章_内存管理

操作系统精髓与设计原理-第7章_内存管理

操作系统精髓与设计原理-第7章_内存管理
操作系统精髓与设计原理-第7章_内存管理

第7章内存管理

复习题:

7.1.内存管理需要满足哪些需求?

答:重定位、保护、共享、逻辑组织和物理组织。

7.2.为什么需要重定位进程的能力?

答:通常情况下,并不能事先知道在某个程序执行期间会有哪个程序驻留在主存中。

此外还希望通过提供一个巨大的就绪进程池,能够把活动进程换入和换出主存,以便使处理器的利用率最大化。在这两种情况下,进程在主存中的确切位置是不可预知的。

7.3.为什么不可能在编译时实施内存保护?

答:由于程序在主存中的位置是不可预测的,因而在编译时不可能检查绝对地址来确保保护。并且,大多数程序设计语言允许在运行时进行地址的动态计算(例如,通过计算数组下标或数据结构中的指针)。因此,必须在运行时检查进程产生的所有存储器访问,以便确保它们只访问了分配给该进程的存储空间。

7.4.允许两个或多个进程访问进程的某一特定区域的原因是什么?

答:如果许多进程正在执行同一程序,则允许每个进程访问该程序的同一个副本要比让每个进程有自己单独的副本更有优势。同样,合作完成同一任务的进程可能需要共享访问同一个数据结构。

7.5.在固定分区方案中,使用大小不等的分区有什么好处?

答:通过使用大小不等的固定分区:1.可以在提供很多分区的同时提供一到两个非常大的分区。大的分区允许将很大的进程全部载入主存中。2.由于小的进程可以被放入小的分区中,从而减少了内部碎片。

7.6.内部碎片和外部碎片有什么区别?

答:内部碎片是指由于被装入的数据块小于分区大小而导致的分区内部所浪费的空间。外部碎片是与动态分区相关的一种现象,它是指在所有分区外的存储空间会变成越来越多的碎片的。

7.7.逻辑地址、相对地址和物理地址间有什么区别?

答:逻辑地址是指与当前数据在内存中的物理分配地址无关的访问地址,在执行对内存的访问之前必须把它转化成物理地址。相对地址是逻辑地址的一个特例,是相对于某些已知点(通常是程序的开始处)的存储单元。物理地址或绝对地址是数据在主存中的实际位置。

7.8.页和帧之间有什么区别?

答:在分页系统中,进程和磁盘上存储的数据被分成大小固定相等的小块,叫做页。

而主存被分成了同样大小的小块,叫做帧。一页恰好可以被装入一帧中。

7.9.页和段之间有什么区别?

答:分段是细分用户程序的另一种可选方案。采用分段技术,程序和相关的数据被划分成一组段。尽管有一个最大段长度,但并不需要所有的程序的所有段的长度都相等。

习题:

7.1. 2.3节中列出了内存管理的5个目标,7.1节中列出了5中需求。请说明它们是一致

的。

答: 重定位≈支持模块化程序设计;

保护≈保护和访问控制以及进程隔离;

共享≈保护和访问控制;

逻辑组织≈支持模块化程序设计;

物理组织≈长期存储及自动分配和管理.

7.2.考虑使用大小相等分区的固定分区方案。分区大小为2e16字节,贮存的大小为2e24

字节。使用一个进程表来包含每一个进程对应的分区。这个指针需要多少位?

答:分区的数量等于主存的字节数除以每个分区的字节数:224/216 = 28.需要8个比特来确定一个分区大小为28中的某一个位置。

7.3.考虑动态分区方案,说明平均内存中空洞的数量是段数量的一半。

答: 设n和h为断数量和空洞数量的个数.在主存中,每划分一个断产生一个空洞的概率是0.5,因为删除一个断和添加一个断的概率是一样的.假设s是内存中断的个数那么空洞的平均个数一定等于s/2.而导致空洞的个数一定小余断的数量的直接原因是相邻的两个断在删除是一定会产生一个空洞.

7.4.在实现动态分区中的各种放置算法(见7.2节),内存中必须保留一个空闲块列表。

分别讨论最佳适配、首次适配、临近适配三种方法的平均查找长度。

答:通过上题我们知道,假设s是驻留段的个数,那么空洞的平均个数是s/2。从平均意义上讲,平均查找长度是s/4。

7.5.动态分区的另一种放置算法是最坏适配,在这种情况下,当调入一个进程时,使用最

大的空闲存储块。该方法与最佳适配、首次适配、邻近适配相比,优点和缺点各是什么?它的平均查找长度是多少?

答:一种对最佳适配算法的评价即是为固定分配一个组块后和剩余空间是如此小以至于实际上已经没有什么用处。最坏适配算法最大化了在一次分配之后,剩余空间的大小仍足够满足另一需求的机率,同时最小化了压缩的概率。这种方法的缺点是最大存储块最早被分配,因此大空间的要求可能无法满足。

7.6.如果使用动态分区方案,下图所示为在某个给定的时间点的内存配置:

阴影部分为已经被分配的块;空白部分为空闲块。接下来的三个内存需求分别为40MB,20MB和10MB。分别使用如下几种放置算法,指出给这三个需求分配的块的起始地址。

a.首次适配

b.最佳适配

c.临近适配(假设最近添加的块位于内存的开始)

d.最坏适配

答:

a.40M的块放入第2个洞中,起始地址是80M. 20M的块放入第一个洞中.起始地址是

20M. 10M的块的起始地址是120M。

b.40M,20N,10M的起始地址分别为230M,20M和160M.

c.40M,20M,10M的起始地址是80M,120160M.

d.40M,20M,10M,的起始地址是80M,230M,360M.

7.7.使用伙伴系统分配一个1MB的存储块。

a.利用类似于图7.6的图来说明按下列顺序请求和返回的结果:请求70;请求35;

请求80;返回A;请求60;返回B;返回D;返回C。

b.给出返回B之后的二叉树表示。

答:

a.

b.

7.8.考虑一个伙伴系统,在当前分配下的一个特定块地址为011011110000.

a.如果块大小为4,它的伙伴的二进制地址为多少?

b.如果块大小为16,它的伙伴的二进制地址为多少?

答:

a.011011110100

b.011011100000

7.9.令buddy k(x)为大小为2k、地址为x的块的伙伴的地址,写出buddy k(x)的通用表达式。

答:

7.10.Fabonacci序列定义如下:

F0=0,F1=1,F n+2=F n+1+F n,n≧0

a.这个序列可以用于建立伙伴系统吗?

b.该伙伴系统与本章介绍的二叉伙伴系统相比,有什么优点?

答:

a.是。字区大小可以确定Fn = Fn-1 + Fn-2.。

b.这种策略能够比二叉伙伴系统提供更多不同大小的块,因而具有减少内部碎片的可

能性。但由于创建了许多没用的小块,会造成更多的外部碎片。

7.11.在程序执行期间,每次取指令后处理器把指令寄存器的内容(程序计数器)增加一个

字,但如果遇到会导致在程序中其他地址继续执行的转跳或调用指令,处理器将修改这个寄存器的内容。现在考虑图7.8。关于指令地址有两种选择:

●在指令寄存器中保存相对地址,并把指令寄存器作为输入进行动态地址转换。当

遇到一次成功的转跳或调用时,由这个转跳或调用产生的相对地址被装入到指令

寄存器中。

●在指令寄存器中保存绝对地址。当遇到一次成功的转跳或调用时,采用动态地址

转换,其结果保存到指令寄存器中。

哪种方法更好?

答:使用绝对地址可以减少动态地址转换的次数。但是,我们希望程序能够被重定位。

因此,在指令寄存器中保存相对地址似乎就更好一些。也可以选择在进程被换出主存时将指令寄存器中的地址转换为相对地址。

7.12.考虑一个简单分页系统,其物理存储器大小为232字节,页大小为210字节,逻辑地址

空间为216个页。

a.逻辑地址空间包含多少位?

b.一个帧中包含多少字节?

c.在物理地址中指定帧需要多少位?

d.在页表中包含多少个页表项?

e.在每个页表项中包含多少位?(假设每个页表项中包含一个有效/无效位)

答:

a.物理地址空间的比特数是216*210=226

b.一个帧包含的字节跟一个页是一样的,210比特.

c.主存中帧的数量是232/210=222,所以每个帧的定位要22个比特

d.在物理地址空间,每个页都有一个页表项,所以有216项

e.加上有效/无效位,每个页表项包含23位。

7.13.分页系统中的虚地址a相当于一对(p,w),其中p是页号,w是页中的字节号。令z

是一页中的字节总数,请给出p和w关于z和a的函数。

答:关系是:a = pz + w,其中p =∟a/z , a/z的整数部分。w = Rz(a),a除以z 的余数

7.14.

对如下的每一个逻辑地址,确定其对应的物理地址或者说明段错误是否会发生:

a.0,198

b.2,256

c.1,530

d.3,444

e.0,222

答:

a.段0定位在660,所以我们有物理地址660+190=858.

b. 222+156=378

c.段1长度为422,所以会发生错误

d.996+444=1440

e.660+222=882.

7.15.在内存中,存在连续的段S1,S2,…,S n按其创建顺序一次从一端放置到另一端,如下

图所示:

当段S n+1被创建时,尽管S1,S2,…,S n中的某些段可能已经被删除,段S n+1仍被立即放置在段S n之后。当段(正在使用或已被删除)和洞之间的边界到达内存的另一端时,压缩正在使用的段。

a.说明花费在压缩上的时间F遵循以下的不等式:

F≧(1-f)/1+kf), k=t/2s-1

其中,s表示段的平均长度(以字为单位);l标识段的平均生命周期,按存储器

访问;f表示在平衡条件下,未使用的内存部分。提示:计算边界在内存中移动的

平均速度,并假设复制一个字至少需要两次存储器访问。

b.当f=0.2,t=1000,s=50时,计算F。

答:

a.很明显,在一个周期t内一些段会产生而一些段会被删除.因为系统是公平的,一个

新的段会在t内被插入,此外,边界会医s/t的速度移动.假设t0是边界到达空洞的

时间,t0=fmr/s, m=内存的长度,在对段进行压缩时会有(1-f)m个数被移动,压缩时

间至少是2(1-f)m.则花在压缩上的时间F为F=1-t0/(t0+t c)。

b.K=(t/2s)-1=9;F≧(1-0.2)/(1+1.8)=0.29

操作系统精髓与设计原理-第11章_IO管理和磁盘调度,第12章_文件管理

第十一章 I/O管理和磁盘调度 复习题 11.1列出并简单定义执行I/O的三种技术。 ·可编程I/O:处理器代表进程给I/O模块发送给一个I/O命令,该进程进入忙等待,等待操作的完成,然后才可以继续执行。 ·中断驱动I/O:处理器代表进程向I/O模块发送一个I/O命令,然后继续执行后续指令,当I/O模块完成工作后,处理器被该模块中断。如果该进程不需要等待I/O完成,则后续指令可以仍是该进程中的指令,否则,该进程在这个中断上被挂起,处理器执行其他工作。 ·直接存储器访问(DMA):一个DMA模块控制主存和I/O模块之间的数据交换。为传送一块数据,处理器给DMA模块发送请求,只有当整个数据块传送完成后,处理器才被中断。 11.2逻辑I/O和设备I/O有什么区别? ·逻辑I/O:逻辑I/O模块把设备当作一个逻辑资源来处理,它并不关心实际控制设备的细节。逻辑I/O模块代表用户进程管理的一般I/O功能,允许它们根据设备标识符以及诸如打开、关闭、读、写之类的简单命令与设备打交道。 ·设备I/O:请求的操作和数据(缓冲的数据、记录等)被转换成适当的I/O指令序列、通道命令和控制器命令。可以使用缓冲技术,以提高使用率。 11.3面向块的设备和面向流的设备有什么区别?请举例说明。 面向块的设备将信息保存在块中,块的大小通常是固定的,传输过程中一次传送一块。通常可以通过块号访问数据。磁盘和磁带都是面向块的设备。 面向流的设备以字节流的方式输入输出数据,其末使用块结构。终端、打印机通信端口、鼠标和其他指示设备以及大多数非辅存的其他设备,都属于面向流的设备。 11.4为什么希望用双缓冲区而不是单缓冲区来提高I/O的性能? 双缓冲允许两个操作并行处理,而不是依次处理。典型的,在一个进程往一个缓冲区中传送数据(从这个缓冲区中取数据)的同时,操作系统正在清空(或者填充)另一个缓冲区。 11.5在磁盘读或写时有哪些延迟因素? 寻道时间,旋转延迟,传送时间 11.6简单定义图11.7中描述的磁盘调度策略。 FIFO:按照先来先服务的顺序处理队列中的项目。 SSTF:选择使磁头臂从当前位置开始移动最少的磁盘I/O请求。 SCAN:磁头臂仅仅沿一个方向移动,并在途中满足所有未完成的请求,直到

计算机操作系统原理课程设计

上海电力学院 课程设计报告 课程名称:操作系统原理 题目名称:采用可变分区存储管理,模拟主存空间的分配和回收 姓名: xxx 学号: xxx 班级: 2013054 同组姓名: xxx 课程设计时间: 2015.7.6~2015.7.10 评语: 成绩:

课程设计题目 一、设计内容及要求 可变分区存储管理模拟 设计内容:编写程序模拟实现可变分区存储管理。 具体要求: 编写程序模拟实现可变分区存储管理,实现存储管理的基本功能,包括内存的分配、内存的回收、地址变换等。 输入:1、输入新进程名称及使用内存的大小(可创建多个进程); 2、撤销某个指定的进程; 3、某个进程的逻辑地址; 输出:显示每次创建进程或者撤销进程后内存使用的状况,包括每一个进程占据的内存的位置和大小; 计算并输出给定逻辑地址对应的物理地址。 必须分别使用以下分配算法完成模拟: 1、首次适应算法; 2、最佳适应算法; 3、最差适应算法; 小组分工: 程序设计讨论: 程序主体设计: 程序调试及修改: 实验报告设计: 总结: (要求注明小组分工情况) 二、详细设计 1)原理概述 对于可变分区存储管理的内存分配与回收,主要为设计以下几个部分: 1、设计动态输入空闲分区表的程序 2、设计内存分配的程序 3、设计内存回收的程序 首次适应算法: FF算法要求空闲分区表或空闲分区链以地址递增的次序链接。在分配内时,从链首开始查找,直至找到一个大小能满足要求分区为止;然后再按照作业大小,从该分区中划一块内存空间分配给请求者,余下的空闲分区仍留在空闲链中。如从链首直至链尾都不能找到一个能满足要求的分区,则此次分配失败,返回 最佳适应算法: BF算法是指每次为作业分配内存,总是把满足要求、又是最小的空闲分区分配给作业,避免“大材小用”。为了加速寻找,该算法要求所有的空闲分区按其容量以从小到大的顺序形成一空闲分区链。这样,第一次找到能满足要求的空闲区,

《操作系统精髓与设计原理·第五版》练习题及答案

第1章计算机系统概述 1.1、图1.3中的理想机器还有两条I/O指令: 0011 = 从I/O中载入AC 0111 = 把AC保存到I/O中 在这种情况下,12位地址标识一个特殊的外部设备。请给出以下程序的执行过程(按照图1.4的格式): 1.从设备5中载入AC。 2.加上存储器单元940的内容。 3.把AC保存到设备6中。 假设从设备5中取到的下一个值为3940单元中的值为2。 答案:存储器(16进制内容):300:3005;301:5940;302:7006 步骤1:3005->IR;步骤2:3->AC 步骤3:5940->IR;步骤4:3+2=5->AC 步骤5:7006->IR:步骤6:AC->设备 6 1.2、本章中用6步来描述图1.4中的程序执行情况,请使用MAR和MBR扩充这个描述。 答案:1. a. PC中包含第一条指令的地址300,该指令的内容被送入MAR中。 b. 地址为300的指令的内容(值为十六进制数1940)被送入MBR,并 且PC增1。这两个步骤是并行完成的。 c. MBR中的值被送入指令寄存器IR中。 2. a. 指令寄存器IR中的地址部分(940)被送入MAR中。 b. 地址940中的值被送入MBR中。 c. MBR中的值被送入AC中。

3. a. PC中的值(301)被送入MAR中。 b. 地址为301的指令的内容(值为十六进制数5941)被送入MBR,并 且PC增1。 c. MBR中的值被送入指令寄存器IR中。 4. a. 指令寄存器IR中的地址部分(941)被送入MAR中。 b. 地址941中的值被送入MBR中。 c. AC中以前的内容和地址为941的存储单元中的内容相加,结果保存 到AC中。 5. a. PC中的值(302)被送入MAR中。 b. 地址为302的指令的内容(值为十六进制数2941)被送入MBR,并 且PC增1。 c. MBR中的值被送入指令寄存器IR中。 6. a. 指令寄存器IR中的地址部分(941)被送入MAR中。 b. AC中的值被送入MBR中。 c. MBR中的值被存储到地址为941的存储单元之中。 1.4、假设有一个微处理器产生一个16位的地址(例如,假设程序计数器和地址寄存器都是16位)并且具有一个16位的数据总线。 a.如果连接到一个16位存储器上,处理器能够直接访问的最大存储器地址空间为多少? b.如果连接到一个8位存储器上,处理器能够直接访问的最大存储器地址空间为多少? c.处理访问一个独立的I/O空间需要哪些结构特征? d.如果输入指令和输出指令可以表示8位I/O端口号,这个微处理器可以支持

操作系统课程设计报告

上海电力学院 计算机操作系统原理 课程设计报告 题目名称:编写程序模拟虚拟存储器管理 姓名:杜志豪.学号: 班级: 2012053班 . 同组姓名:孙嘉轶 课程设计时间:—— 评语: 成绩: 目录 一、设计内容及要求 (4) 1. 1 设计题目 (4) 1.2 使用算法分析: (4)

1. FIFO算法(先进先出淘汰算法) (4) 1. LRU算法(最久未使用淘汰算法) (5) 1. OPT算法(最佳淘汰算法) (5) 分工情况 (5) 二、详细设计 (6) 原理概述 (6) 主要数据结构(主要代码) (6) 算法流程图 (9) 主流程图 (9) Optimal算法流程图 (10) FIFO算法流程图 (10) LRU算法流程图 (11) .1源程序文件名 (11) . 2执行文件名 (11) 三、实验结果与分析 (11) Optimal页面置换算法结果与分析 (11) FIFO页面置换算法结果与分析 (16) LRU页面置换算法结果与分析 (20) 四、设计创新点 (24) 五、设计与总结 (27)

六、代码附录 (27) 课程设计题目 一、设计内容及要求 编写程序模拟虚拟存储器管理。假设以M页的进程分配了N

块内存(N

习题答案-Linux操作系统原理实践教程-崔继-清华大学出版社

第1章 1、在VMwane中安装CentOS 7的基本步骤有哪些? (1)新建虚拟机 (2)虚拟机设置 (3)启动虚拟机 (4)设置安装信息,包括软件选择,安装位置,分区等 (5)完成最后安装 2、安装Linux时可以设置哪些分区?有哪些分区是必须的? 能够设置的分区可以根据安装系统时提示,主要包括:/,/boot,swap,/home,/opt 等等;其中/(根)分区是必须的。 第2章 1、针对Linux 系统启动运行,有哪些运行目标?每个运行目标的含义是什么? CentOS 从7.0 开始使用systemd 代替init 作为系统启动和服务器守护进程的管理器,负责在系统启动或运行时,激活系统资源,管理服务器进程。systemd 用目标(target)替代了运行级别的概念,提供了更大的灵活性,比如可以继承一个已有的目标,并添加其他服务来创建自己的目标。CentOS 7.0 之前的运行级别和systemd 目标之间的对应关系如下表所示。 2、Linux 有几种关机方法,每种关机操作有何异同? 关闭系统的命令有: shutdown(最安全的方式),halt,init,telinit,poweroff,reboot,具体含义可以参考

帮助手册页。 第3章 more、less、cat、wc 命令有什么区别? 这几个命令可用于对文本文件的处理显示,主要区别在:more命令以分页(一次一屏)显示文本信息;less类似于more,但增加了回滚功能;cat本意是连接文件并在标准输出上输出,也就是将文件一次全部输出;wc用于统计输出文件中的行数、单词数、字节数等。 第4章 (1)发出命令显示行号。 底端命令方式下 :set nu (2)保存到文件AboutLinux,并不退出。 底端命令方式下 :w AboutLinux (3)删除一句“It is this kernel that forms the base around which a Linux operating system is developed.”。 在命令方式下,先把光标移到It处,再按d$。(从当前光标处到行末的所有字符删除)(4)查找单词“Finland”。 命令方式下输入/Finland,回车后会在第一个Finland处停下来。 (5)把第一段的“Finland”单词后的内容换行,使其变成三段内容。 插入方式下,将光标移到Finland后,按回车键即可。(vi的换行标志是回车符) (6)将第二段的内容复制到文档的最后。 命令方式下:先用yy命令,然后移到文档最后,再按p键。 (7)删除第三段的内容。 命令方式下,光标移到第三段,用dd命令。(注,这里的段实际上是第3行。) (8)恢复被删除的一段内容。 命令方式下,用u命令。 (9)查找所有的“Minix”单词,并全部改为“MINIX”。 底端命令方式下,:1,$s/Minix/MINIX/g (10)不保存修改,退出vi。 底端命令方式下,:q! (11)使用vi再次打开文件AboutLinux,在第二段后插入“He began his work in 1991 when he released version 0.02 and worked steadily until 1994 when version 1.0 of the Linux Kernel was released.”。 shell命令提示符下输入:vi AboutLinux(打开保存的文件)

《操作系统精髓与设计原理·第六版》中文版标准答案

《操作系统精髓与设计原理·第六版》中文版答案

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

复习题答案 第1章计算机系统概述 1.1 列出并简要地定义计算机的四个主要组成部分。 主存储器,存储数据和程序;算术逻辑单元,能处理二进制数据;控制单元,解读存储器中的指令并且使他们得到执行;输入/输出设备,由控制单元管理。 1.2 定义处理器寄存器的两种主要类别。 用户可见寄存器:优先使用这些寄存器,可以使机器语言或者汇编语言的程序员减少对主存储器的访问次数。对高级语言而言,由优化编译器负责决定把哪些变量应该分配给主存储器。一些高级语言,如C语言,允许程序言建议编译器把哪些变量保存在寄存器中。 控制和状态寄存器:用以控制处理器的操作,且主要被具有特权的操作系统例程使用,以控制程序的执行。 1.3 一般而言,一条机器指令能指定的四种不同操作是什么? 处理器-寄存器:数据可以从处理器传送到存储器,或者从存储器传送到处理器。 处理器-I/O:通过处理器和I/O模块间的数据传送,数据可以输出到外部设备,或者从外部设备输入数据。 数据处理:处理器可以执行很多关于数据的算术操作或逻辑操作。 控制:某些指令可以改变执行顺序。 1.4 什么是中断? 中断:其他模块(I/O,存储器)中断处理器正常处理过程的机制。 1.5 多中断的处理方式是什么? 处理多中断有两种方法。第一种方法是当正在处理一个中断时,禁止再发生中断。第二种方法是定义中断优先级,允许高优先级的中断打断低优先级的中断处理器的运行。 1.6 内存层次的各个元素间的特征是什么? 存储器的三个重要特性是:价格,容量和访问时间。 1.7 什么是高速缓冲存储器? 高速缓冲存储器是比主存小而快的存储器,用以协调主存跟处理器,作为最近储存地址的缓冲区。 1.8 列出并简要地定义I/O操作的三种技术。 可编程I/O:当处理器正在执行程序并遇到与I/O相关的指令时,它给相应的I/O模块发布命令(用以执行这个指令);在进一步的动作之前,处理器处于繁忙的等待中,直到该操作已经完成。 中断驱动I/O:当处理器正在执行程序并遇到与I/O相关的指令时,它给相应的I/O模块发布命令,并继续执行后续指令,直到后者完成,它将被I/O模块中断。如果它对于进程等待I/O的完成来说是不必要的,可能是由于后续指令处于相同的进程中。否则,此进程在中断之前将被挂起,其他工作将被执行。 直接存储访问:DMA模块控制主存与I/O模块间的数据交换。处理器向DMA模块发送一个传送数据块的请求,(处理器)只有当整个数据块传送完毕后才会被中断。 1.9 空间局部性和临时局部性间的区别是什么? 空间局部性是指最近被访问的元素的周围的元素在不久的将来可能会被访问。临时局部性(即时间局部性)是指最近被访问的元素在不久的将来可能会被再次访问。 1.10 开发空间局部性和时间局部性的策略是什么? 空间局部性的开发是利用更大的缓冲块并且在存储器控制逻辑中加入预处理机制。时间局部性的开发是利用在高速缓冲存储器中保留最近使用的指令及数据,并且定义缓冲存储的优先级。 第2章操作系统概述

操作系统原理及应用试题附答案

操作系统原理及应用试题附答案 第一部分选择题一、单项选择题(本大题共4小题,每小题2分,共8分) 1、从静态角度来看,进程由__________、数据集合、进程控制块及相关表格三部分组成。()A、JCB B、PCB C、程序段 D、I/O缓冲区 2、请求页式管理方式中,首先淘汰在内存中驻留时间最长的帧,这种替换策略是_____.()A、先进先出法(FIFO) B、最近最少使用法(LRU) C、优先级调度 D、轮转法 3、文件安全管理中,___________安全管理规定用户对目录或文件的访问权限。()A、系统级 B、用户级 C、目录级 D、文件级 4、排队等待时间最长的作业被优先调度,这种算法是___________。A、优先级调度 B、响应比高优先 C、短作业优先D、先来先服务第二部分非选择题 二、填空题(本大题共16小题,每小题1分,共16分) 5、常规操作系统的主要功能有:_处理机管理_、存贮管理、设备管理、文件管理以及用户界面管理。 6、操作系统把硬件全部隐藏起来,提供友好的、易于操作的用户界面,好象是一个扩展了的机器,即一台操作系统虚拟机。 7、进程管理的功能之一是对系统中多个进程的状态转换进行控制。 8、逻辑_文件是一种呈现在用户面前的文件结构。 9、操作系统中实现进程互斥和同步的机制称为同步机构_。 10、内存中用于存放用户的程序和数据的部分称为用户区(域)。 11、存贮器段页式管理中,地址结构由段号、段内页号和页内相对地址三部分组成。 12、在操作系统中,通常用户不使用设备的物理名称(或物理地址),而代之以另外一种名称来操作,这就是逻辑设备名。 13、在操作系统中,时钟常有两种用途:报告日历和时间,对资源使用记时。 14、库文件允许用户对其进行读取、执行,但不允许修改.

操作系统原理期末试卷10套含答案7

操作系统原理期末试卷10套含答案7 一、单项选择题(每题2分,共20分) 1.以下著名的操作系统中,属于多用户、分时系统的是( B ). A.DOS系统B.UNIX系统 C.Windows NT系统D.OS/2系统 2.在操作系统中,进程的最基本的特征是( A ). A.动态性和并发性B.顺序性和可再现性 C.与程序的对应性D.执行过程的封闭性 3.操作系统中利用信号量和P、V操作,( C ). A.只能实现进程的互斥B.只能实现进程的同步 C.可实现进程的互斥和同步D.可完成进程调度 4.作业调度的关键在于( C ). A.选择恰当的进程管理程序B.用户作业准备充分 C.选择恰当的作业调度算法D.有一个较好的操作环境 5.系统抖动是指( D ). A.使用机器时,屏幕闪烁的现象 B.由于主存分配不当,偶然造成主存不够的现象 C.系统盘有问题,致使系统不稳定的现象 D.被调出的页面又立刻被调入所形成的频繁调入调出现象 6.在分页存储管理系统中,从页号到物理块号的地址映射是通过( B )实现的. A.段表B.页表 C. PCB D.JCB 7.在下述文件系统目录结构中,能够用多条路径访问同一文件(或目录)的目录结构是( D ) A.单级目录B.二级目录

C.纯树型目录D.非循环图目录 8.SPOOLing技术可以实现设备的( C )分配. A.独占B.共享 C.虚拟D.物理 9.避免死锁的一个著名的算法是( C ). A.先人先出算法B.优先级算法 C.银行家算法D.资源按序分配法 10.下列关于进程和线程的叙述中,正确的是( C ). A.一个进程只可拥有一个线程 B.一个线程只可拥有一个进程 C.一个进程可拥有若干个线程 D.一个线程可拥有若干个进程 二、判断题(选择你认为正确的叙述划√,认为错误的划×并说明原因.每题2分,共10分) 1.简单地说,进程是程序的执行过程.因而,进程和程序是一一对应的.( ) 2.V操作是对信号量执行加1操作,意味着释放一个单位资源,加l后如果信号量的值小于等于零,则从等待队列中唤醒一个进程,使该进程变为阻塞状态,而现进程继续进行.( ) 3.段页式存储管理汲取了页式管理和段式管理的长处,其实现原理结合了页式和段式管理的基本思想,即用分段方法来分配和管理用户地址空间,用分页方法来管理物理存储空间.( ) 4.在采用树型目录结构的文件系统中,各用户的文件名必须互不相同.( ) 5.用户程序应与实际使用的物理设备无关,这种特性就称作与设备无关性.( ) 答案:1.(×)改正为:进程和程序不是一一对应的. 2.(×)改正为:V操作是对信号量执行加1操作,意味着释放一个单位资源,加1后如果信号量的值小于等于零,则从等待队列中唤醒一个进程,现进程变为就绪状态,否则现进程继续进行. 3.(√) 4.(×)改正为:在采用树型目录结构的文件系统中,不同用户的文件名可以相同. 5.(√) 三、填空题(每空2分,共30分)

操作系统原理课程设计实践报告

操作系统原理课程设计 实践报告 题目: 仿真多进程并发环境中死锁的预防、避免、检测与解除 姓名: 学院: 信息科技学院 专业: 计算机科学技术系 班级: 学号: 指导教师: 职称: 20010年4月8日 仿真多进程并发环境中死锁的预防、避免、检测与解除 摘要:在多道程序系统中,多个程序并发执行时可能造成死锁。所谓死锁是指多

个进程在运行过程中因争夺资源而造成的一种僵局。当进程处于这种僵局状态时若无外力作用,它们都将无法再向前推进,造成资源的浪费。该程序将模拟多进程并发时死锁现象的产生、避免、检测与解除。死锁避免用最著名的银行家算法,用银行家安全性算法类似的死锁检测算法来检测进程状况,又用资源剥夺法来实现死锁的解除。该程序实现操作简易,表示清晰并且形象描述多进程并发环境中死锁的预防、避免、检测与解除。 关键字:死锁;避免死锁;安全状态;银行家算法 引言:在操作系统、数据库系统以及网络通信中,由于进程并发和资源共享,当系统中资源分配顺序或者进程推进顺序不当就会造成系统死锁[1]。处于死锁状态的系统中,进程之间互相等待资源而永远不能继续向前推进,严重地影响了系统的可靠性。因而有时需要合理的对资源进行分配必要的时候加以限制保证系统安全、高效、稳定的运行。 1理论分析 1.1 死锁的概念 如果一个进程集合中的每个进程都在等待只能由此集合中的其他进程才能引发的事件,而无限期陷入僵持的局面称为死锁[2]。 1.2 产生死锁的条件: 1、互斥使用(资源独占):一个资源每次只能给一个进程使用。 2、不可强占(不可剥夺):资源申请者不能强行的从资源占有者手中夺取资 源,资源只能由占有者自愿释放。 3、请求和保持(部分分配,占有申请):一个进程在申请新的资源的同时保 持对原有资源的占有(只有这样才是动态申请,动态分配)。 4、循环等待:存在一个进程等待队列{P1,P2,…,Pn},其中P1等待P2占 有的资源,P2等待P3占有的资源,…,Pn等待P1占有的资源,形成一个进程等待环路[3]。 1.3死锁的预防 在系统设计时确定资源分配算法,保证不发生死锁。具体的做法是破坏产生死锁的四个必要条件之一。 ①破坏“不可剥夺”条件 在允许进程动态申请资源前提下规定,一个进程在申请新的资源不能立即得到满足而变为等待状态之前,必须释放已占有的全部资源,若需要再重新申请。 ②破坏“请求和保持”条件 要求每个进程在运行前必须一次性申请它所要求的所有资源,且仅当该进程所要资源均可满足时才给予一次性分配。 ③破坏“循环等待”条件 采用资源有序分配法:把系统中所有资源编号,进程在申请资源时必须严格按资源编号的递增次序进行,否则操作系统不予分配。

操作系统精髓与设计原理课后答案

操作系统精髓与设计原理课后答案 第1章计算机系统概述 1.1列出并简要地定义计算机的四个主要组成部分。 主存储器,存储数据和程序;算术逻辑单元,能处理二进制数据;控制单元,解读存储器中的指令并且使他们得到执行;输入/输出设备,由控制单元管理。 1.2定义处理器寄存器的两种主要类别。 用户可见寄存器:优先使用这些寄存器,可以使机器语言或者汇编语言的程序员减少对主存储器的访问次数。对高级语言而言,由优化编译器负责决定把哪些变量应该分配给主存储器。一些高级语言,如C语言,允许程序言建议编译器把哪些变量保存在寄存器中。 控制和状态寄存器:用以控制处理器的操作,且主要被具有特权的操作系统例程使用,以控制程序的执行。 1.3一般而言,一条机器指令能指定的四种不同操作是什么? 处理器-寄存器:数据可以从处理器传送到存储器,或者从存储器传送到处理器。 处理器-I/O:通过处理器和I/O模块间的数据传送,数据可以输出到外部设备,或者从外部设备输入数据。 数据处理:处理器可以执行很多关于数据的算术操作或逻辑操作。 控制:某些指令可以改变执行顺序。 1.4什么是中断? 中断:其他模块(I/O,存储器)中断处理器正常处理过程的机制。 1.5多中断的处理方式是什么? 处理多中断有两种方法。第一种方法是当正在处理一个中断时,禁止再发生中断。第二种方法是定义中断优先级,允许高优先级的中断打断低优先级的中断处理器的运行。 1.6内存层次的各个元素间的特征是什么? 存储器的三个重要特性是:价格,容量和访问时间。 1.7什么是高速缓冲存储器? 高速缓冲存储器是比主存小而快的存储器,用以协调主存跟处理器,作为最近储存地址的缓冲区。1.8列出并简要地定义I/O操作的三种技术。 可编程I/O:当处理器正在执行程序并遇到与I/O相关的指令时,它给相应的I/O模块发布命令(用以执行这个指令);在进一步的动作之前,处理器处于繁忙的等待中,直到该操作已经完成。 中断驱动I/O:当处理器正在执行程序并遇到与I/O相关的指令时,它给相应的I/O模块发布命令,并继续执行后续指令,直到后者完成,它将被I/O模块中断。如果它对于进程等待I/O的完成来说是不必要的,可能是由于后续指令处于相同的进程中。否则,此进程在中断之前将被挂起,其他工作将被执行。 直接存储访问:DMA模块控制主存与I/O模块间的数据交换。处理器向DMA模块发送一个传送数据块的请求,(处理器)只有当整个数据块传送完毕后才会被中断。 1.9空间局部性和临时局部性间的区别是什么? 空间局部性是指最近被访问的元素的周围的元素在不久的将来可能会被访问。临时局部性(即时间局部性)是指最近被访问的元素在不久的将来可能会被再次访问。 1.10开发空间局部性和时间局部性的策略是什么? 空间局部性的开发是利用更大的缓冲块并且在存储器控制逻辑中加入预处理机制。时间局部性的开发是利用在高速缓冲存储器中保留最近使用的指令及数据,并且定义缓冲存储的优先级。 第2章操作系统概述

操作系统原理与应用第2章文件管理

第2章文件管理习题解答 1.什么是文件和文件系统?文件系统有哪些功能? 【解答】文件是具有符号名而且在逻辑上具有完整意义的信息项的有序序列。 文件系统是指操作系统系统中实现对文件的组织、管理和存取的一组系统程序,它实现对文件的共享和保护,方便用户“按名存取”。 文件系统的功能“ (1)文件及目录的管理。如打开、关闭、读、写等。 (2)提供有关文件自身的服务。如文件共享机制、文件的安全性等。 (3)文件存储空间的管理。如分配和释放。主要针对可改写的外存如磁盘。(4)提供用户接口。为方便用户使用文件系统所提供的服务,称为接口。文件系统通常向用户提供两种类型的接口:命令接口和程序接口。不同的操作系统提供不同类型的接口,不同的应用程序往往使用不同的接口。 2.Linux文件可以根据什么分类?可以分为哪几类?各有什么特点? 【解答】在Linux操作系统中,文件可以根据内部结构和处理方式进行分类。 在Linux操作系统中,可以将文件分为普通文件、目录文件、特别文件三类。 各类文件的特点是: 普通文件:由表示程序、数据或正文的字符串构成的文件,内部没有固定的结构。这种文件既可以是系统文件,也可以是库文件或用户文件。 目录文件:由文件目录构成的一类文件。对它的处理(读、写、执行)在形式上与普通文件相同。 特别文件:特指各种外部设备,为了便于管理,把所有的输入/输出设备都按文件格式供用户使用。这类文件对于查找目录、存取权限验证等的处理与普通文件相似,而其他部分的处理要针对设备特性要求做相应的特殊处理。 应该指出,按不同的分类方式就有不同的文件系统。 3.什么是文件的逻辑结构?什么是文件的物理结构?Linux文件系统分别采用什么样的结构?有什么优点和缺点? 【解答】文件的逻辑结构:用户对文件的观察的使用是从自身处理文件中数据时采用的组织方式来看待文件组织形式。这种从用户观点出发所见到的文件组织方式称为文件的逻辑组织。 文件的物理结构:从系统的角度考察文件在实际存储设备上的存放形式,又称为文件的存储结构。 在Linux系统中,所有文件的逻辑结构都被看作是流式文件,系统不对文件进行格式处理。 在Linux系统中,文件的物理结构采用的是混合多重索引结构,即将文件所占用盘块的盘块号,直接或间接地存放在该文件索引结点的地址项中。 在Linux系统中,采用混合索引结构的优点是,对于小文件,访问速度快;对于大中

操作系统原理课程设计报告

操作系统原理课程设计报告

系(院):计算机科学学院 专业班级: 姓名: 学号: 指导教师: 设计时间:2020.5.25——2020.5.30 设计地点:

一、课程设计目的 (4) 二、课程设计的任务和要求 (4) 三、模拟程序的描述: (5) 四、运行环境 (7) 五、算法原理 (8) 1)多级反馈队列调度算法 (13) 2)优先权调度算法 (14) 六、需求分析 (16) 七、总体设计 (17) 八、详细设计与实现[含代码和实现界面] (19) 九、主要代码分析: (26) 十、总结 (44)

一、课程设计目的 《操作系统原理》是计算机科学与技术专业的一门专业核心课程,也是研究生入学考试中计算机专业综合中所涉及的内容。该课程理论性强,纯粹的理论学习相对枯燥乏味,不易理解。通过课程设计,可加强学生对原理知识的理解。 二、课程设计的任务和要求 本次课程设计的题目是,时间片轮转调度算法的模拟实现。要求在充分理解时间片轮转调度算法原理的基础上,编写一个可视化的算法模拟程序。 具体任务如下: 1、根据需要,合理设计PCB结构,以适用于时间片轮转调度算法;

2、设计模拟指令格式,并以文件形式存储,程序能够读取文件并自动生成指令序列。 3、根据文件内容,建立模拟进程队列,并能采用时间片轮转调度算法对模拟进程进行调度。 三、模拟程序的描述: 模拟指令的格式:操作命令+操作时间 ● C :表示在CPU上计算 ●I :表示输入 ●O :表示输出 ●W :表示等待 ●H :表示进程结束 操作时间代表该操作命令要执行多长时间。这里假设I/O设备的数量没有限制,I和O设备都只有一类。 I,O,W三条指令实际上是不占有CPU的,执行这三条指令就应该将进程放入对应的等待队列(输入等待队列,输出等待队列,其他等待队列)。

(完整word版)操作系统参考书目

参考书目: 1.[美]William Stallings,陈渝等译.操作系统-精髓与设计原理(第五版).北 京:电子工业出版社,2006 2.James L. Peterson,Operating System Concepts(Second Edition), Addison-Wesley Publishing Company Inc.,1985 3.[荷]特纳鲍姆,现代操作系统(英文版.第2版),北京,机械工业出版社, 2002 4.[美]Andrew S.Tanenbaum & Albert S.Woodhull,王鹏等译.操作系统: 设计与实现(第二版).北京:电子工业出版社,1998 5.[美]Larry L.Peterson, Bruce S.Davie著, 计算机网络系统方法(英文.第 三版), 机械工业出版社,2005 6.张尤腊,仲萃豪等,计算机操作系统,北京,科学出版社,1979 7.孙钟秀,费翔林,骆斌,谢立,操作系统教程(第三版),北京,高等教育 出版社,2003 8.汤子瀛,哲凤屏,汤小丹.计算机操作系统(修订版).西安,西安电子科技 大学出版社,2001 9.何炎祥,李飞等,计算机操作系统,北京,清华大学出版社,2006 10.陈向群,向勇等,Windows 操作系统原理(第2版),北京,机械工业出版社, 2004 11.左万历,周长林,计算机操作系统教程(第二版),北京,高等教育出版社, 2005 12.孟庆昌,操作系统,北京,电子工业出版社,2004 13.蒋静,徐志伟,操作系统-原理.技术与编程,北京,机械工业出版社,2004 14.张尧学,史美林.计算机操作系统教程(第2版).北京:清华大学出版社, 2000 15.盂静.操作系统原理教程.北京:清华大学出版社,2001 16.冯耀霖,杜舜国,操作系统(第2版),陕西,西安电子科技大学出版社, 1996 17.李学干,计算机系统结构(第三版),陕西,西安电子科技大学出版社,2000 18.曾平,曾慧.操作系考点精要与解题指导.北京,人民邮电出版社,2002 19.徐甲同,网络操作系统,吉林,吉林大学出版社,2000 20.David A. Rusling,The Linux Kernel,北京,机械工业出版社,2000 21.陈莉君,Linux操作系统内核分析,北京,人民邮电出版社,2000

操作系统原理课程设计

操作系统原理课程设计 ——银行家算法模拟 指导老师:周敏唐洪英杨宏雨 杨承玉傅由甲黄贤英 院系:计算机学院计算机科学与技术班级:0237-6 学号:2002370609 姓名:刘洪彬 同组者:杨志 时间:2005/1/10---2005/1/14

银行家算法模拟 一、设计目的 本课程设计是学生学习完《计算机操作系统》课程后,进行的一次全面的综合训练,通过课程设计,让学生更好地掌握操作系统的原理及实现方法,加深对操作系统基础理论和重要算法的理解,加强学生的动手能力。 二、设计要求 银行家算法是避免死锁的一种重要方法,本实验要求用高级语言编写和调试一个简单的银行家算法程序。加深了解有关资源申请、避免死锁等概念,并体会和了解死锁和避免死锁的具体实施方法。 从课程设计的目的出发,通过设计工作的各个环节,达到以下教学要求:两人一组,每组从所给题目中任选一个(如自拟题目,需经教师同意),每个学生必须独立完成课程设计,不能相互抄袭,同组者文档不能相同; 设计完成后,将所完成的工作交由老师检查; 要求写出一份详细的设计报告。 三、设计内容 编制银行家算法通用程序,并检测所给状态的系统安全性。 1)银行家算法中的数据结构 假设有n个进程m类资源,则有如下数据结构: 可利用资源向量Available。这是一个含有m个元素的数组,其中的每一个元素代表一类可利用的资源数目,其初始值是系统中所配置的该类全部可用资源的数目,其数值随该类资源的分配和回收而动态地改变。Available[j]=K,则表示系统中现有Rj 类资源K个。 最大需求矩阵Max。这是一个n*m的矩阵,它定义了系统中n个进程中的每一个进程对m类资源的最大需求。如果Max[i,j]=K,则表示进程i需要Rj类资源的最大数目为K。 分配矩阵Allocation。这也是一个n*m的矩阵,它定义了系统中每一类资源当前已分配给没一进程的资源数。如果Allocation[i,j]=K,则表示进程i 当前已分得Rj类资源的数目为K。 需求矩阵Need。这也是一个n*m的矩阵,用以表示每一个进程尚需的各类资源数。如果Need[i,j]=K,则表示进程i还需要Rj类资源K个,方能完成其任务。

操作系统原理与实践教程(第二版)第2章习题答案

第2章操作系统的界面 (1) 请说明系统生成和系统引导的过程。 解: 系统的生成过程:当裸机启动后,会运行一个特殊的程序来自动进行系统的生成(安装),生成系统之前需要先对硬件平台状况进行检查,或者从指定文件处读取硬件系统的配置信息,以便根据硬件选择合适的操作系统模块组,比较重要的信息通常有:CPU类型、内存大小、当前关联设备的类型和数量以及操作系统的重要功能选项和参数。按照这些信息的指示,系统生成程序就可以正确地生成所需的操作系统。 系统引导的过程:系统引导指的是将操作系统内核装入内存并启动系统的过程。主要包括初始引导、内核初始化、全系统初始化。初始引导工作由BIOS完成,主要完成上电自检,初始化基本输入输出设备,载入操作系统内核代码等工作。内核被载入内存后,引导程序将CPU控制权交给内核,内核将首先完成初始化功能,包括对硬件、电路逻辑等的初始化,以及对内核数据结构的初始化,如页表(段表)等。全系统初始化阶段要做的就是启动用户接口程序,对系统进行必要的初始化,使系统处于等待命令输入状态。 (2) 操作系统具有哪些接口?这些接口的作用是什么? 解: 操作系统为用户提供的接口有图形接口、命令接口和程序接口几种形式。 操作系统包括三种类型的用户接口:命令接口(具体又可分为联机命令接口与脱机命令接口)、程序接口及图形化用户接口。其中,命令接口和图形化用户接口支持用户直接通过终端来使用计算机系统,而程序接口则提供给用户在编制程序时使用。 (3) 请说明操作系统具有的共性服务有哪些不同类别,这些类别分别用于完成什么功能? 解:所有的操作系统都通过一些基本服务来帮助用户简单便捷地使用计算机各类资源,它们包括以下几个类别: 1.控制程序运行:系统通过服务将用户程序装入内存并运行该程序,并且要控制程序 在规定时间内结束。 2.进行I/O操作:用户是不能直接控制设备的,只能通过操作系统与外部设备进行交 互,由系统调用将结果显示在屏幕上或交给用户。 3.操作文件系统:为了保证实现“按名存取”,文件系统应该为用户提供根据文件名 来创建、访问、修改、删除文件的方法,以确保文件数据的安全可靠以及正确存取。 4.实现通信:操作系统需要提供多个程序之间进行通讯的机制,来控制程序的执行顺 序。 5.错误处理:操作系统通过错误处理机制,以便及时发现错误并采取正确的处理步骤, 避免损害系统的正确性和统一性。 (4) 系统调用的用途是什么? 解: 通常,在操作系统内核设置有一组用于实现各种系统功能的子程序(过程),并将它们提供给用户程序调用。每当用户在程序中需要操作系统提供某种服务时,便可利用一条系统调用命令,去调用所需的系统过程。这即所谓的系统调用。系统调用的主要类型包括: 1.进程控制类,主要用于进程的创建和终止、对子进程结束的等待、进程映像的替换、 进程数据段大小的改变以及关于进程标识符或指定进程属性的获得等; 2.文件操纵类,主要用于文件的创建、打开、关闭、读/写及文件读写指针的移动和

专科《操作系统原理及应用》

[试题分类]:专科《操作系统原理及应用》_08004260 [题型]:单选 [分数]:2 1.批处理最主要的一个缺点是()。 A.用户无法与程序交互 B.没有实现并发处理 C.CPU的利用率较低 D.一次只能执行一个程序 答案:A 2.磁盘空闲块常用的组织形式有三种,其中一种为()。 A.空闲块连续 B.空闲块索引 C.空闲块压缩 D.空闲块链 答案:D 3.常用的文件物理结构有三种,其中的一种形式是()。 A.记录文件 B.压缩文件 C.索引文件 D.流式文件 答案:C 4.批处理系统中,作业的状态可分为多种,其中一种为()。 A.提交 B.就绪 C.创建 D.等待 答案:A 5.并发执行的一个特点是()。 A.计算结果会出错 B.不会顺序执行 C.程序与计算不再一一对应 D.结果可再现

6.下列选项()不是操作系统关心的。 A.管理计算机资源 B.提供用户操作的界面 C.高级程序设计语言的编译 D.管理计算机硬件 答案:C 7.当CPU执行用户程序的代码时,处理器处于()。 A.核心态 B.就绪态 C.自由态 D.用户态 答案:D 8.根据对设备占用方式的不同,设备分配技术中的一种是()。 A.动态分配 B.永久分配 C.静态分配 D.虚拟分配 答案:D 9.评价作业调度的性能时,衡量用户满意度的准确指标应该是()。 A.周转时间 B.平均周转时间 C.带权周转时间 D.平均带权周转时间 答案:C 10.在手工操作阶段,存在的一个严重的问题是()。 A.外部设备太少 B.用户使用不方便 C.计算机的速度不快 D.计算机的内存容量不大 答案:B 11.作业的处理一般分为多个作业步,连接成功后,下一步的工作是()。

《操作系统原理》课程设计

《操作系统原理》课程设计 课题名称:进程调度算法 姓名: 班级: 学号: 课程设计起止时间:2005年1月2日——2005年1月7日指导教师:成绩:

课程设计任务书

进程调度算法 一、设计说明 该程序实现了进程的创建,且对该进程队列进行动态优先权抢占式和时间片轮转算法的调度。 二、详细设计 1. 流程图

2. 程序运行环境 Turbo C 2.0 3. 变量的名称、作用及含义说明 链表结构process,整型变量name表示进程名称,整型变量prior表示优先数,整型变量needtime表示需要执行时间,整型变量CPUtime表示CPU执行时间,整型变量runtime表示进程执行时间,整型变量state表示运行状态(1:ready, 2:execute, 3:finish)。 4. 各主要模块的功能表述 [ 子函数] ①Createp() 用来创建新进程,其中的整型变量n表示需要创建的进程个数; ②PrintP1(h) 用来打印输出时间片轮转算法的创建进程和运行进程的各变量值; ③Finish(h) 用来判断某个进程是否执行完; ④Find(h) 用来查找该进程队列中优先数最大的进程; ⑤PrintP2(h) 用来打印输出动态优先权抢占式算法的创建进程和运行进程的各变量值; ⑥ExecuteP_prio(h) 执行动态优先权抢占式进程调度算法; ⑦ExecuteP_time(h) 执行时间片轮转进程调度算法; [ 主函数] main()中使用字符变量select表示a和b中的一个字母,整型变量num表示1至3中的一个数,用双层switch语句实现各模块功能。 5.程序源代码 #include #include #include #include #define NULL 0 #define Max_Pri 100 struct Process { int name; int prio; int needtime; int piecetime; int CPUtime; int runtime; int state; struct Process *next;

河北师大地理信息系统原理与实践考研真题及答案

地理信息系统2010年考研试题 一名词解释(40分共8个小题每题5分) 1、对象模型:也称要素模型,将研究的整个地 理空间看成一个空域,地理现象和空间实体作为独立对象分布在该空域中。24页 2、关系模型:它是将数据的逻辑结构归结为满 足一定条件的二维表,这种表称为关系。 3、误差:表示数据与其真值之间的差。84页 4、层次分类编码法:是按照分类对象的从属和 层次关系为排列顺序的一种代码。它的优点是能明确表示出分类对象的类别,代码结构有严格的隶属关系。64页 5、网格GIS:网格被称为第三代互联网应用,它是把整个互联网整合成一台巨大的超级计算机,能实现各种资源的全面共享。 6、邻接关系:它是指空间图形中同类元素之间 的拓扑关系。 7、TIN:是专为产生DEM数据而设计的一种采样表示系统 8、ComGIS:是面向对象技术和组件式软件在GIS软件开发中的应用。(186页) 二简答题(70分,每题10分) 1、GIS是解决什么问题的? 答:“有用的空间信息和知识”可归纳为位置、条件、趋势、模型和模拟等五个基本问题,GIS的价值和作用就是通过地理对象的重建,利 用空间分析工具,实现对这五个基本问题的求解。 地理信息系统包括以下五项基本功能:(1)数据采集与输入(2)数据编辑与更新(3)数据存储与管理 (4)空间查询与分析(5)数据显示与输出2、什么是矢量数据结构?其特点是什么? 答:适量数据结构:通过记录空间对象的坐标 及空间关系表达空间对象的几何位置。 矢量结构的特点:定位明显,属性隐含。 3、空间数据的获取方式有哪些? 答:(1)数字化仪矢量化(2)扫描数字化(3)遥感数据获取(4)外业测量数据获取(5)全球定们系统数据获取(6)数字摄影测量数据获取(7)已有数据的获取与转换4、什么是空间数据压缩?空间数据压缩的方 法? 答:空间数据压缩是指从取得的数据集合中抽取一个子集,这个子集作为一个新的信息源,在规定的精度范围内最好地逼近原集合,而又取得尽可能大的压缩比。 (1)栅格数据压缩:栅格数据压缩是指栅格数据量的减少,这与栅格数据结构密切相关。其压缩方法有游程长度编码、链码、块状编码、四叉树编码等 (2)曲线矢量数据压缩:①间隔取点法:每隔一规定的距离取一点,舍去那些离已选点较近的点,但首末点必须保留。 ②垂距法,垂距法是按垂距的限差选取符合或超过限差的点。 ③偏角法,是按偏角的限差选取符合或超过限差的点。 ④特征点筛选法,是通过筛选抽取曲线特征点,并删除非特征点以实现数据压缩。 5、试述DEM的建立方法?以及包含的模型有哪些? 答:(1)DEM数据源(2)DEM数据采集方法(3)数据摄影测量获取DEM(4)DEM的空间插值方法 DEM的主要表示模型:规则格网模型、不规则三角网模型、等高线模型。 6、GIS工程的特点?GIS工程的建设过程?(202页) 答:GIS工程的主要特点有以下几个方面: ⑴空间数据的管理在工程中处于核心地 位 ⑵系统体系结构相对复杂 ⑶系统维护工作量大 ⑷系统更新速度快 ⑸应用领域广阔 GIS工程的建设过程: ⑴工程定义阶段 ⑵工程设计阶段 ⑶数据工程阶段 ⑷工程实施阶段 ⑸工程的评价与维护阶段 7、试述ArcCatalog主要功能249页 答:ArcCatalog数据管理功能

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