操作系统精髓与设计重点店课后习题整理

操作系统精髓与设计重点店课后习题整理
操作系统精髓与设计重点店课后习题整理

1 3 4 9 7 8 11 1

2 6章

第10章多CPU调度,实时调度

第1章作业:习题P25 (更正印刷错误106)

操作系统的大神求解答假设有一个32位微处理器,其32位的指令由两个域组成:第一个字节包含操作码,其余部分为一个直接操作数或一个操作数地址。如果微处理器总线具有如下特征,分析

a、最大可直接寻址的存储器能力为多少以字节为单位

如果微处理器总线具有如下特征,分析对系统速度的影响:

b、(1)一个32位局部地址总线和一个16位局部数据总线,或者

(2)一个16位局部地址总线和一个16位局部数据总线。

C、程序计数器和指令寄存器分别需要多少位

答案:没必要全写捡重点

(定长)指令32位,1字节操作码,则后3字节为立即数或内存地址

(a) 最大可直接寻址

直接寻址是一种基本的寻址方法,其特点是:在指令格式的地址的字段中直接指出操作数在内存的地址。由于操作数的地址直接给出而不需要经过某种变换,所以称这种寻址方式为直接寻址方式。2^24

(b) 总线问题

地址总线32位,数据总线16位

直接寻址存储器24位,bus32位,地址传送一次即可;但指令32位,操作数32位(因为是

32位微处理器),要两次传送

地址总线16位,数据总线16位

传送地址,传送指令/数据全部需要2次。地址可视作:先行地址后列地址

(c) PC和IR 至少:PC24位,IR8位

一般:PC32bit IR 32bit

更现实复杂情形:是否分段,使用段寄存器; 直接寻址中逻辑地址/位移/偏移offset,与有效地址effective address区别

OS中,逻辑地址与物理地址

一个DMA模块从外部设备给内存传送字节,传送速度为9600位每秒(b/s)。处理器可以每秒100万次的速度取指令,由于DMA活动,处理器的速度将会减慢多少

答案:没必要全写捡重点

看清楚题干:每秒100万次取指令,即1M/s取一次指令,不是100M!

该CPU主频多少不知,是否使用cache不知,执行一条指令多少时钟周期不知,此题中无需知道

还假设,此CPU只取指令要访问内存,执行指令不需要读写数据,不访内存. 还假设DMA 一次访问内存传送1个字节凭什么如此假设

9600b/s=1200B/s 即1s中要传送1200次,而原本CPU要1M次访存,现在因DMA要减少1200次,所以影响是1200/1M=%

一台计算机包括一个CPU和一台I/O设备D,通过一条共享总线连接到主存储器M,数据总

线的宽度为1个字。CPU每秒最多可执行106条指令,平均每条指令需要5个机器周期,其中3个周期需要使用存储器总线。存储器读/写操作使用1个机器周期。假设CPU正在连续不断地执行后台程序,并且需要保证95%的指令执行速度,但没有任何I/O指令。假设1个处理器周期等于1个总线周期,现在要在M和D之间传送大块数据。

a.若使用程序控制I/O,I/O每传送1个字需要CPU执行两条指令。请估计通过D的I/O数据传送的最大可能速度。

b.如果使用DMA传送,请估计传送速度。

答案:没必要全写捡重点

题干信息:多少位CPU不知,字长多少位不知,以处理器周期为单位,访问内存(读1条指令读1字数据)要1周期,执行1指令需要5周期。CPU每秒最多执行10^6条指令

程序IO:传送1字要2条指令

限制只能有5%的CPU处理用于IO

程序IO:传送1字要2条指令

限制只能有5%的CPU处理用于IO

此限制下,1秒可执行用于IO的指令为5% * 10^6条指令

而2条指令才可传送1字数据,

所以每秒IO最大可传送的字为*5%*10^6=25000字/秒

DMA情形:最大速度:在CPU执行后台程序时,总共能找到多少周期可以利用。1周期传送1字

5%CPU处理能力,全部可用于DMA,可执行指令条数为5%*10^6,而1条有5周期,所以可传送字:5*5%*10^6 个字

DMA情形:最大速度:在CPU执行后台程序时,总共能找到多少周期可以利用。1周期传送1字

最大吗要见缝插针!

后台程序执行时,执行1条指令共5个周期,但只在3个周期中访存,还有2个没有使用,DMA可用这两个周期

DMA情形:最大速度:在CPU执行后台程序时,总共能找到多少周期可以利用。1周期传送1字

最后,DMA最大速度为:

10^6 × 5 + × 2) = × 10^6 即字/秒

第三章:进程描述与控制P103 , P104

1、概念:交换(swapping):操作系统将内存中进程的内容或部分内容写入硬盘,或反之的操作。

进程:具有一定独立功能的程序关于一个数据集合的一次运行活动。

2. 进程有哪三个基本状态试说明状态转换的典型原因,图示。

(1)处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程就由就绪状态变为执行状态

(2)正在执行的进程因发生某事件而无法执行,如暂时无法取得所需资源,则由执行状态转变为阻塞状态。

(3)正在执行的进程,如因时间片用完或被高优先级的进程抢占处理机而被暂停执行,该进程便由执行转变为就绪状态。

(2)状态转换1不会立即引起其他状态转换。状态转换2必然立即引发状态转换1:状态转换2发生后,进程调度程序必然要选出一个新的就绪进程投入运行,该新进程可能是其他进程,也可能是刚从执行状态转换成就绪状态的那个进程。

状态转换3可能立即引发状态转换1:状态转换3发生后,若就绪队列非空,则进程调度程序将选出一个就绪进程投入执行。状态转换4可能引发状态转换

1:状态转换4发生后,若CPU空闲,并且没有其他进程竞争CPU,则该进程将被立即调度。另外,状态转换4还可能同时引发状态转换1和2:若系统采用抢占调度方式,而新就绪的进程具备抢占CPU的条件(如其优先权很高),则它可立即得到CPU转换成执行状态,而原来正在执行的进程则转换成就绪状态。

什么是交换,目的

是什么:操作系统将内存中进程的内容或部分内容写入硬盘,或反之的操作。

目的:将暂时无法运行的进程(阻塞状态)从内存中移出,空出内存,以便在内存中装入尽可能多的可运行的进程。

模式切换与进程切换是什么有什么区别

是什么:为便于OS实现和管理,处理器一般支持两种(以上的)执行模式:用户态和内核态。OS在内核态下运行,用户进程在用户态下运行。

从用户态到内核态的改变或反之,称之为模式切换。

用户进程运行时,如处理器响应中断,进入中断处理程序,则由用户态进入内核态;而中断返回后,从内核态返回用户态。

区别:模式切换不一定会改变当前运行的进程的状态,而进程切换过程中必然会出现模式切换。

模式切换(对应的中断处理)保存/恢复的状态信息少,而进程切换需要保存/恢复的状态信息多。

中断

A)中断如何支持多道程序设计:

1.外部设备具备中断能力后,CPU才可能在外部设备开始工作到完成之间执行其它程序;(轮询方式中,外部设备工作完成之前,CPU一直循环测试外部设备的状态,不可能执行其它程序)

2.利用中断方式,操作系统可以及时获得控制权,在多个程序之间选择调度。

B)中断如何支持错误处理:

在硬件发生异常时,如奇偶校验错,掉电等,以特殊中断形式出现;

程序中出现系统错误时,如除零,地址越界,(无访问权限的)非法访问,以特殊中断形式出现;

程序中应用语义级的错误,也可以中断形式出现;

各种错误统一地用中断方式处理,只要分别编制相应的中断处理程序即可,

简化了硬件设计,也方便了用户程序开发。

C)对于单线程而言,说明一个能够引起中断并且导致进程切换的情景,另外说明能引起中断但没有进程切换的例子

导致切换例:用户进程要求输入,则在启动外部设备工作后,用户进程进入阻塞状态,进行进程切换;

不导致切换例:发生时钟中断,当前运行的用户进程的时间片还未用完,则继续执行。(另,若不限定为外部中断,则用户进程执行系统调用时,发生中断,若系统调用不涉及IO,则不会发生进程切换)

第四章线程对称处理SMP和微内核

概念:线程是进程中一个相对独立的执行流,是CPU调度的单位。

1、为什么要引入线程,多线程有何优点

操作系统引入线程后,可以简化并发程序的设计,方便在一个进程内实现多个并行处理。多线程的优点包括:实现进程内并行处理;方便数据共享;降低了切换时的系统开销;提高了CPU的利用率;改善了程序的响应性。

2.比较TCB与PCB内容。

TCB:线程标识,线程状态(运行,就绪,阻塞),处理器状态,(堆栈,私用数据段的)指针PCB: (TCB中没有的)进程的虚拟空间指针,文件等资源,进程的权限,进程间通信等。

3.比较用户级线程与内核级线程的异同

用户级:优点:不需要OS支持,调度方式灵活,开销小;缺点:不能并行,一线程阻塞,

其它线程也不能运行。

内核级:优点:可并行,一线程阻塞不会阻塞其它线程,缺点:创建切换开销相对大

第九章:单处理器调度P291 , ,

简要描述三种类型的处理器调度

长程调度:决定加入到待执行的进程池中;中程调度:决定加入到部分或全部在主存中的进程集合中;短程调度:决定哪一个可用进程将被处理器执行。

抢占式和非抢占式有什么区别

非抢占:在这种情况下,一旦进程处于运行态,他就不断执行直到终止,或者为等待

I/O

或请求某些操作系统服务而阻塞自己。抢占:当前正在运行的进程可能被操作系统中断,并转移到就绪态。关于抢占的决策可能是在一个新进程到达时,或者在一个中断发生后把一个被阻塞的进程置为就绪态时,或者基于周期性的时间中断。

简答定义最高响应比优先调度

调度基于抢占原则并且使用动态优先级机制。当一个进程第一次进入系统时,它被放置在RQ0。当它第一次被抢占后并返回就绪状态时,它被防止在RQ1。在随后的时间里,每当它被抢占时,它被降级到下一个低优先级队列中。一个短进程很快会执行完,不会在就绪队列中降很多级。一个长进程会逐级下降。因此,新到的进程和短进程优先于老进程和长进程。在每个队列中,除了在优先级最低的队列中,都使用简单的FCFS

机制。一旦一个进程处于优先级最低的队列中,它就不可能再降低,但是会重复地返回该队列,直到运行结束。

补充题:分析多级反馈算法(指出其目标,假设,内容及效果)

反馈调度算法分析:目标

系统效率:减少平均等待时间,提高系统呑吐量

公平:减少饥饿现象出现或减轻程度

尽量减少系统开销

反馈调度算法分析:假设,理由

程序由CPU阵发期,IO阵发期交替构成

程序完成一次IO后,紧接着可能是一个短暂的IO阵发期

程序一开始,一般都是一个CPU阵发期

程序运行时间有长有短;长时间运行没有结束的程序可能还需要很长时间才能结束

反馈调度算法分析:内容

设置多个分成优先级不同的就绪队列,高优先级队列的时间片短,低优先级队列的时间片长。(任一优先级的进程被调度运行时,时间片内不会被抢占。)

调度时,某一优先级队列的进程只在所有比其高的队列都为空时,才会调度这一队列中的进程。

进程新创建时,进入优先级最高的队列。

每一进程被调度运行,用完时间片仍未结束重新回到就绪状态时,移入下一优先级队列

而进程从阻塞状态到就绪状态时,提高优先级

反馈调度算法分析:效果

体现了短作业“优先”:因为其所需的时间片少,优先级不会下降很多,会被优先调度,从而很快运行结束。

因此,响应时间短,平均周转时间短

有较好的响应时间:因为新进程优先级最高,被优先调度执行,所以响应时间短;IO结束的进程提高优先级,也会相对优先被调度执行,同样响应时间短(用户在输入完成后,进程很快会有反应)

长作业的系统开销较小:长作业最终会落到优先级最低,时间片最长的就绪队列中。一旦此类作业被调度运行时,(大)时间片用完之前不会有抢占调度,减少了调度次数,所以系统开销小。

公平性和饥饿:由于长作业最终的时间片长,可以减少周转时间;在发生一次IO操作后可提升优先级,可以部分抵消“短作业优先”的不公平,也可减轻长作业的饥饿程序。

选做

第七章:内存

1. 什么是重定位,为什么需要重定位,如何实现重定位

2. P227, (不做d小题) (删除"用6位表示页号"描述)

1.什么是重定位,为什么需要重定位,如何实现重定位

什么是:重定位指在执行过程中,程序在内存中的位置发生了移动。(可重定位指代码在内

存中移动后仍能正确执行)

为什么需要:为了实现多道程序设计,在内存中存在多个程序,一个程序一旦被换出内存,当它再次换入时可能原来的位置已经被占用,故收到限制,需要找其他空闲的内存存放,这时便需要重定位。

如何实现:代码中只使用相对的逻辑地址,不使用绝对的物理地址,在加载时根据分配的物理内存地址,由加载工具将代码中逻辑地址改写为物理地址;或者在指令执行时由CPU完成逻辑地址到物理地址的转换。

重定位:与页式管理中逻辑地址—物理地址转换无必然关系。

2.P227, (不做d小题) (删除"用6位表示页号"描述)

在一个32位机器上,假设把逻辑地址分为8位,6位,6位,12位四个部分。换句话说,系统使用3级页表,其中第一个8位是第一季,后边的6位是第二季,以此类推。在这个系统中,用6位表示页号,假设内存是按照字节访问的。

A), 页大小2^12=4096字节

B), 一个进程的页面个数为2^20=1M个

C), 逻辑地址空间为2^32=4GB字节

如题干中,改为“用6位表示页框号”,则D)答案:物理内存最大为2^6 *4K=256K

第八章虚拟内存

1.解释下列术语:抖动,TLB,工作集,LRU算法

2. P266 题目印刷错误

1.解释下列术语:

TLB:存放页表内容的特殊Cache,一般多采用联想寄存器实现。CPU在地址转换时,首先检查该虚拟地址的页号的映射项在TLB中是否存在,TLB命中可大大缩短逻辑地址到物理地址的转换。

抖动/颠簸:CPU将绝大多数时间用在进程的换进换出而不是执行用户程序的现象。出现抖动时,应改进替换算法;增加物理内存的容量;减少并发执行的进程的个数。

页表:是页式内存管理中使用的数据结构,存放逻辑地址到物理地址的映射。工作集(working set):进程在过去一段时间内所访问页面的集合。工作集随时间变化而变化。如果一个进程的工作集没有在内存中,则会影响进程的执行效率。LRU算法:页式内存管理中的替换算法。选择最近最少使用的页替换,即最后一次访问时间最早的页,推测该页在不远的将来被访问的可能性最低。理论分析LRU 的准确性很高,但是实现复杂,系统开销大,实际使用时一般采用LRU的简化版本。

2.P266 题目印刷错误

P266

一个进程分配给4个页框(下面的所有数字均为十进制数,每一项都是从0开始计数的)。上一次把一页装入到一个页框的时间,上一次访问页框中的页的时间,每个页框中的虚拟页号以及每个页帧的访问位(R)和修改位(M)如下表所示(时间均为从进程开始到该事件之间的时钟时间,而不是从事件发生到当

前的时钟值)

题目印刷错误 3-5

当虚拟页4发生错误时,使用下列内存管理策略,哪一个页帧将用于置换解释原因。

(先进先出)算法

(最近最少使用)算法

算法

d.最佳(使用下面的访问串)算法

e.在页错误之前给定上述内存状态,考虑下面的虚拟页访问序列:4,0,0,2,4,2,1,0,3,2

如果使用窗口大小为4的工作集策略来代替固定分配,会发生多少页错误每个页错误何时发生

P266 题目印刷错误

说明:clock算法按“加载时间”顺序查找

E)算法:LRU,窗口4时间单位

A).替换页框3,因为其内容最早装入(加载时间20)

B).替换页框1,因为最后一次访问时间最早(访问时间160)

C).替换页框0,因为这个页框是扫描时最一个遇到的访问位为0的页框

D).替换页框3,因为其内容(页号3)将来最晚被访问。4,0,0,0,2,4,2,1,0,3,2

E).P266 工作集策略可变分配!

E).P266 工作集策略工作集窗口示意图

第十一章:I/O管理和磁盘管理

P363 ,(0,1,5级),

选做:P364,(a),(多少个扇区,柱面), ,

磁盘读写延迟因素:

寻道时间:指磁头移动到指定柱面所需要的时间;

旋转延迟:指要访问的指定扇区转动到磁头位置所需要的时间;

传送时间:指完成对指定扇区读写操作所需要的时间。

简单定义7个RAID级别 RAID(0,1,5级)

0级:分条,指逻辑上连续的数据被分散存放在多个可用磁盘中,以后(连续)读写时,可利用多个磁盘并行工作以缩短操作时间;

1级:镜像,指数据重复存放在多个磁盘中,通过这种冗余的方式来提高整体可靠性;

5级:块分布奇偶校验,指逻辑上连续的数据分块,并计算逐位奇偶校验和,然后分散到N 个磁盘构成的磁盘组中。以后如果组中任一个磁盘发生故障,可利用其余N-1个可用磁盘计算出故障磁盘中的所有数据。

(常用:0,1,5及0+1)

0:非冗余

1:被镜像;每个磁盘都有一个包含相同数据的镜像磁盘。

2:通过汉明码实现冗余;对每个数据磁盘中的相应都计算一个错误校正码,并且这个码位保存在多个奇偶校验磁盘中相应的文件。

3:交错位奇偶校验;类似于第二层,不同之处在于RAID3为所有数据磁盘中同一位置的位的集合计算一个简单的奇偶校验位,而不是错误校正码。

4:交错块分布奇偶校验;对每个数据磁盘中相应的条带计算一个逐位奇偶。

5:交错块分布奇偶校验;类似于第四层,但把奇偶校验条带分布在所有磁盘中。

6:交错块双重分布奇偶校验;两种不同的奇偶校验计算保存在不同磁盘的不同块中。

典型磁盘扇区大小:512字节

(在今天超大容量磁盘中,真正的物理扇区的大小是512的2^n,如4096,但OS和应用程序在逻辑上仍然可以认为扇区为512字节。)

512比特,比特

512KB

如果磁盘中扇区大小固定为每扇区512字节,并且每磁道128个扇区,每面130个磁道,一共有12个可用的面,计算存储90000条200比特长的逻辑记录需要多少磁盘空间(扇区,磁道和面).忽略文件头的记录和磁道索引,并假设记录不能跨越两个扇区。

200比特=25字节,一扇区512字节中,可存放512/25 = 20个记录(因记录不跨扇区存放) 90000记录需要90000/20=4500个扇区。

一个柱面有128*12=1536个扇区

90000记录需要4500/1536==3个柱面

或2个完整柱面+1428个扇区

考虑中的提到的磁盘系统,假设磁盘转速是1200转/分,磁盘控制器每旋转一圈可以讲一个扇区读入其内部缓冲区,接着操作系统以字节为单位读取这些数据,每读取一个字节,磁盘控制器会产生一个中断

A)如果中断服务列成处理每个中断的时间是微妙,那么系统读入整个扇区需要花多少时间(不考虑寻道所需要花费的时间)

1200转/分,则每秒20转

一转为1/20秒=50ms

题意:“每旋转一圈可以将一个扇区读入内部缓冲区”

一字节一中断,一扇区512字节,中断512次,共需要时间:

*512==

B)在系统读取数据的过程汇总,操作系统可以用于处理其他进程的时间是多少相对于读取磁盘的总传输时间所占的百分比是多少

50ms中用于中断,

其余时间CPU处理其它内容,

=

百分比: ( /50 = %

(另外一种理解:磁盘控制器先从盘面将数据读入内部缓冲区(50ms),然后再一个字节一个字节中断,共,百分比为50/(50+=%)

再次考虑中的磁盘系统,假设磁盘控制器和系统内存之间的数据传输采用DMA方式,总线速度为2MB/S,在该条件下,系统读入整个扇区需要花费多少时间在这段时间内,操作系统可以用于处理其他进程的时间是多少

总线速度2MB/s,则传输一字节时间为:1/2M = μs

传512字节时间为*512=256μs=

依前例,磁盘控制器准备一扇区数据需要50ms

所以,其它处理时间为

=

百分比:50=%

(与同样:若考虑磁盘先读盘面数据,然后再DMA传送,没有任何并行,则百分比计算为:50/(50+.256))

第十二章文件管理概念文件,文件系统,文件目录文件系统功能,P404

文件(file):(文件系统中)具有符号名而且在逻辑上具有完整意义的信息项的序列。

文件系统:文件与管理文件的方法和程序集合称作文件系统。

文件目录:包含文件信息的一类特殊文件,文件系统利用其完成从文件名到文件号(inode)的映射。

文件系统功能:

建立文件目录;

提供必要的存取方法以适应不同应用的要求;

完成从文件的逻辑组织到物理组织的转换;

有效地管理文件在外存的存放;

实现文件保护和共享;

提供对文件进行操作的系统调用命令.

考虑由一个索引节点表示的UNIX文件的组织见图假设有12个直接快指针,在每个索引节点中由一个一级,二级,和三级间接指针,此外,假设系统块大小和磁盘扇区大小都是8K。如果磁盘块指针是32位,其中8位用于标识物理磁盘,24位用于标识物理块,那么

A)该系统支持的最大文件大小是多少

A)8K*(12+2K+4M+8G)

=8K*(56)

=791552

B)该系统支持的最大文件系统分区是多少

B)8K*2^24

=8K*16M=128GB

C)假设内存中除了文件索引节点外没有别的信息,访问在位置13 423 956中的字节需要多少次磁盘访问

C)文件的索引结点已读入

操作系统精髓与设计原理-第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:磁头臂仅仅沿一个方向移动,并在途中满足所有未完成的请求,直到

操作系统课程设计题目

课程设计任务书 一、课程设计目的 《计算机操作系统》课程设计是计算机类专业的集中实践性环节之一,是学习完《计算机操作系统》课程后进行的一次全面的综合练习。其目的在于加深对操作系统课程的理解,使学生更好地掌握操作系统的基本概念、基本原理、及基本功能,理解操作系统在计算机系统中的作用、地位和特点,具有分析实际操作系统,设计、构造和开发现代操作系统的基本能力,为今后从事的各种实际工作,如设计、分析和改进各种系统软件和应用软件提供必要的软件理论基础。 二、课程设计内容及要求 课程设计要求: 每位同学从下述设计任务中任选一个任务完成,上机验收运行结果,现场提问,并提交所完成该任务的课程设计报告。 实验要求: 1)上机前认真使用C语言编写好程序,采用Visual C++6.0作为编译环境; 2)上机时独立调试程序 3)上机验收运行结果,现场提问 4)根据具体任务要求,提交课程设计实验报告,报告内容包括:课程设计目的、内容、基本原理、模块划分、数据结构、算法设计、程序流程图(包括主程序流程图、模块详细设计流程图等)、以及算法源码(必须有相关注释,以有助于说明问题为宜,不得全盘打印而不加任何注释)、心得体会等。

设计内容一页式虚拟存储管理页面置换算法 1.目的和要求 在熟练掌握计算机虚拟存储技术的原理的基础上,利用一种程序设计语言模拟实现几种置换算法,一方面加深对原理的理解,另一方面提高学生通过编程根据已有原理解决实际问题的能力,为学生将来进行系统软件开发和针对实际问题提出高效的软件解决方案打下基础 2.实验内容 阅读教材《计算机操作系统》,掌握存储器管理相关概念和原理。 模拟实现页式虚拟存储管理的三种页面置换算法(OPT、FIFO和LRU),并通过比较性能得出结论。 前提: (1)页面分配采用固定分配局部置换。 (2)作业的页面走向和分得的物理块数预先指定。可以从键盘输入也可以从文件读入。 (3)置换算法的置换过程输出可以在显示器上也可以存放在文件中,但必须清晰可读,便于检验。 3.实验环境 Windows操作系统、VC++6.0、C语言 4.实验提示 (1)基础知识 存储管理是操作系统进行资源管理的一个重要功能。现代操作系统广泛采用虚

操作系统课程设计

课程设计报告 2015~2016学年第一学期 操作系统综合实践课程设计 实习类别课程设计 学生姓名李旋 专业软件工程 学号130521105 指导教师崔广才、祝勇 学院计算机科学技术学院 二〇一六年一月

- 1 -

- 2 -

一、概述 一个目录文件是由目录项组成的。每个目录项包含16B,一个辅存磁盘块(512B)包含32个目录项。在目录项中,第1、2字节为相应文件的外存i节点号,是该文件的内部标识;后14B为文件名,是该文件的外部标识。所以,文件目录项记录了文件内、外部标识的对照关系。根据文件名可以找到辅存i节点号,由此便得到该文件的所有者、存取权、文件数据的地址健在等信息。UNIX 的存储介质以512B为单位划分为块,从0开始直到最大容量并顺序加以编号就成了一个文件卷,也叫文件系统。UNIX中的文件系统磁盘存储区分配图如下: 本次课程设计是要实现一个简单的模拟Linux文件系统。我们在内存中开辟一个虚拟磁盘空间(20MB)作为文件存储器,并将该虚拟文件系统保存到磁盘上(以一个文件的形式),以便下次可以再将它恢复到内存的虚拟磁盘空间中。文件存储空间的管理可采用位示图方法。 二、设计的基本概念和原理 2.1 设计任务 多用户、多级目录结构文件系统的设计与实现。可以实现下列几条命令login 用户登录 logout 退出当前用户 dir 列文件目录 creat 创建文件 delete 删除文件 open 打开文件 close 关闭文件 - 3 -

read 读文件 write 写文件 mkdir 创建目录 ch 改变文件目录 rd 删除目录树 format 格式化文件系统 Exit 退出文件系统 2.2设计要求 1) 多用户:usr1,usr2,usr3,……,usr8 (1-8个用户) 2) 多级目录:可有多级子目录; 3) 具有login (用户登录)4) 系统初始化(建文件卷、提供登录模块) 5) 文件的创建:create (用命令行来实现)6) 文件的打开:open 7) 文件的读:read8) 文件的写:write 9) 文件关闭:close10) 删除文件:delete 11) 创建目录(建立子目录):mkdir12) 改变当前目录:cd 13) 列出文件目录:dir14) 退出:logout 新增加的功能: 15) 删除目录树:rd 16) 格式化文件系统:format 2.3算法的总体思想 - 4 -

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

第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端口号,这个微处理器可以支持多少8位I/O端口? 答案:对于(a)和(b)两种情况,微处理器可以直接访问的最大存储器地址空间为216 = 64K bytes;唯一的区别是8位存储器每次访问传输1个字节,而16位存储器每次访问可以传输一个字节或者一个16位的字。 对于(c)情况,特殊的输入和输出指令是必要的,这些指令的执行体会产生特殊的“I/O信号”(有别于“存储器信号”,这些信号由存储器类型指令的执行体产生);在最小状态下,一个附加的输出针脚将用来传输新的信号。对于(d)情况,它支持28 = 256个输入和28 = 256个输出字节端口和相同数目的16位I/O端口;在任一情况,一个输入和一个输出端口之间的区别是通过被执行的输入输出指令所产生的不同信号来定义的。 1.5、考虑一个32位微处理器,它有一个16位外部数据总线,并由一个8MHz的输入时钟驱动。假设这个微处理器有一个总线周期,其最大持续时间等于4个输入时钟周期。请问该微处理器可以支持的最大数据传送速度为多少?外部数据总线增加到21位,或者外部时钟频率加倍,哪种措施可以更好地提高处理器性能?请叙述你的设想并解释原因。 答案:时钟周期=1/(8MHZ)=125ns 总线周期=4×125ns=500ns 每500ns传输2比特;因此传输速度=4MB/s 加倍频率可能意味着采用了新的芯片制造技术(假设每个指令都有相同的时钟周期数);加倍外部数据总线,在芯片数据总线驱动/锁存、总线控制逻辑的修改等方面手段广泛(或许更新)。在第一种方案中,内存芯片的速度要提高一倍(大约),而不能降低微处理器的速度;第二种方案中,内存的字长必须加倍,以便能发送/接受32位数量。

《操作系统课程设计》题目要求

操作系统课程设计要求 一.设计目的 熟悉Linux编程环境,加强对Linux命令的理解及函数的运用 二.设计内容 1. 在Linux环境下模拟实现简单命令解释器。 (1)要求实现的基本命令包括: pwd //显示当前所在目录的路径名 dir <目录名> //列出指定目录名中的所有目录及文件 cd <目录名或路径>//改变当前工作目录 newdir <目录名> //新建目录 deldir <目录名> //删除目录 exit //退出命令解释程序 (2)可选做的扩展命令包括: rename <旧文件名> <新文件名> //重命名一个文件或目录 find <目录> -name <待查找的文件名> //在指定的目录及其子目录中查找指定的文件date //显示当前日期 (3)提示:整个程序的大致框架可参考如下: while ( exit未被输入) { 接收键盘的一行输入 分析输入的命令 对输入的命令进行处理,调用系统函数实现功能 } 2. 设计要求 (1) 设计必须在Linux环境下进行。 (2) 命令解释程序的提示符为:姓名拼音@ (3) 程序编写中不得使用system()系统调用。 (4) 整个程序必须严格经过测试,完成所有基本功能。源程序应有较详尽的注释。 3.可能用到的系统调用: open(),close(),read(),write(),creat() chdir(), opendir(),readdir(),rewinddir(),closedir(),rmdir(),mkdir() getcwd(), ftw() time(), localtime(), asctime()

Linux操作系统课程设计任务书

Linux操作系统课程设计任务书 一、设计题目 每个人完成在linux上面的J2EE环境部署,并且开发出简单的个人网站(基于J2EE)。 二、设计目的 Linux操作系统课程设计是信息管理类专业的集中实践性环节之一,是学习完《Linux操作系统》课程后进行的一次全面的综合练习。其目的在于加深对Linux操作系统的基础理论和基本知识的理解,在此基础上掌握linux环境下部署与开发软件系统的能力(基于J2EE),提高在Linux操作系统上解决实际问题的能力。 三、设计任务 每人需单独完成,严禁抄袭 四、时间安排 五、设计内容 分为多个步骤。 1、在linux上部署jdk。参考步骤如下: Step1: # 将解压好的jdk1.7.0_04文件夹用最高权限复制到/usr/lib/jvm目录里 sudocp -r ~/jdk1.7.0_04/ /usr/lib/jvm/ Step2: # 配置环境变量 sudogedit ~/.profile 在末尾加上:

export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_04 然后保存关闭,使用source更新下 $ source ~/.profile 使用env命令察看JAVA_HOME的值 $ env 如果JAVA_HOME=/usr/lib/jvm/jdk1.7.0_04,说明配置成功。 Step3: # 将系统默认的jdk修改过来 $ sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0_04/bin/java 300 输入sun jdk前的数字就好了 $ sudo update-alternatives --install /usr/bin/javacjavac /usr/lib/jvm/jdk1.7.0_04/bin/javac 300 $ sudo update-alternatives --config java $ sudo update-alternatives --configjavac Step4: 然后再输入java -version,看到如下信息,就说明改成sun的jdk了: java version "1.7.0_04" Java(TM) SE Runtime Environment (build 1.7.0_04-b20) Java HotSpot(TM) Server VM (build 23.0-b21, mixed mode) 2、安装部署Mysql,源码安装方式参考步骤如下,也可以下载安装包,此安装相对简单。 (1) -------------预备工作---------- 1:假如下载的文件名为:mysql-5.0.45.tar.gz 2:假如copy到/home下 3:groupaddmysql #添加mysql组 4:useradd -gmysqlmysql #添加一个mysql用户 5:cd /home #进入到该目录 -----------------------编译过程----------------------- 6:tar zxvf mysql-5.0.45.tar.gz #解压后,在该目录下会出现一个同名的文件夹 7:cd /home/mysql-5.0.45 8:./configure --prefix=/usr/local/mysql --with-charset=utf8 --with-collation=utf8_general_ci --with-extra-charsets=latin1 #参数设置,可以先不明白,以后再修改配置 9:make 10:make install

操作系统-课程设计

课程设计说明书(操作系统) 题目:进程调度 院系:计算机科学与工程学院 专业班级:信息安全13-2 学号:20133029xx 学生姓名:xx 指导教师:xx 2015年12月15日

安徽理工大学课程设计(论文)任务书计算机科学与工程学院

安徽理工大学课程设计(论文)成绩评定表

摘要 现代计算机系统中,进程是资源分配和独立运行的基本单位,是操作系统的核心概念。因而,进程就成为理解操作系统如何实现系统管理的最基本,也是最重要的概念。进程调度是进程管理过程的主要组成部分,是必然要发生的事件。 在现代操作系统中,进程的并发机制在绝大多数时候,会产生不断变化的进程就绪队列和阻塞队列。处于执行态的进程无论是正常或非正常终止、或转换为阻塞状态,都会引发从就绪队列中,由进程调度选择一个进程进占CPU。 进程调度的核心是进程调度的算法.在本课程设计中,用良好清晰的界面向用户展示了进程调度中的时间片轮转调度算法。在最终实现的成果中,用户可指定需要模拟的进程数,CPU时间片和进程的最大执行时间,并且选择需要演示的算法,界面将会动态的显示进程调度过程及各个队列的变化。通过此进程调度模拟系统,用户可以对时间片轮转调度算法有进一步以及直观的了解。 关键词:进程,调度,PCB,时间片轮转

目录 1.设计目的 (6) 2.设计思路 (6) 3.设计过程 (8) 3.1流程图 (8) 3.2算法 (8) 3.3数据结构 (10) 3.4源代码 (10) 4.实验结果及分析 (20) 4.1 使用说明 (20) 4.2程序演示 (20) 5.实验总结 (24) 6.参考文献 (24)

操作系统课程设计任务书

重要说明: ①凡是上机未到者,每次扣除5分。 ②上机时间内,做与本课程设计无关事情者,予以警告。屡教不改者当次上机视为旷课。处理办法见第①条。 ③上机时间内,无正当理由离开实验室长达半小时者,当次上机视为旷课。处理办法见第①条。 课程设计说明: 1,课程设计分组进行,每组人数最多4人,选出小组长1名; 2,从课程设计任务书里的题目任选一题(也可由学生自己选题,由教师审核批准,请主动联系老师); --------以上步骤最迟第1天下午完成。每个组长负责提交本组的成员以及选题情况给学习委员,学习委员填写文件《11网络工程--操作系统课程设计分组.xls》并提交给老师(该文件由老师提供)。 3,所选题目需要完成基本功能,要求每一个组员都要明确完成一个任务。时间充裕可自行添加扩充功能,完成基本任务的同学也可继续完成其它题目的内容,可酌情加分。 4,需撰写课程设计报告,初稿最迟倒数第2天下午完成并提交。组长负责提交初稿的word 文档,文档命名为:组长姓名_课程设计题目.doc 5,每一组都需要在最后1天进行简易的答辩,随时完成随时进行,答辩主要由组员简单介绍、演示所完成的系统,老师进行简单的提问(如针对其中一个组员提问该组员完成的任务情况)。 6,组长提交最终版课程设计报告,有源代码的也需要同时提交源代码,并同时提交系统的用户手册。同时提交另外一个文件:组长姓名_工作量分配.txt 该文件包含各个组员(包括组长)的贡献率,组员贡献率加起来需为100%,文件内容示例如下: 张三:30%,主要工作为课程设计报告的撰写 李四:60%,主要工作为模块a的编写 王五:10%,主要工作为模块b的编写 工作量分配作为评分的参考之一。 《操作系统》课程设计任务书 学年学期:2013-2014学年第1学期 专业班级:11网络工程

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

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

————————————————————————————————作者:————————————————————————————————日期: 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章操作系统概述

2017操作系统(含课程设计) - 随堂练习

随堂练习提交截止时间:2017-12-15 23:59:59 当前页有10题,你已做10题,已提交10题,其中答对10题。 1.(单选题) 操作系统是基本的特征是() A、并发 B、共享 C、虚拟 D、异步 答题: A. B. C. D. (已提交) 参考答案:A 问题解析: 2.(单选题) 下面不属于操作系统设计目标的是() A、提高资源利用率 B、提高系统吞吐量 C、用户操作计算机更方便 D、并行执行多个进程 答题: A. B. C. D. (已提交) 参考答案:D 问题解析: 3.(单选题) 历史上最早出现的操作系统是() A、单道批处理系统 B、多道批处理系统 C、分时系统 D、实时系统 答题: A. B. C. D. (已提交) 参考答案:A 问题解析: 4.(单选题) 实时操作系统必须在()内处理完来自外部的事件。 A、响应时间 B、周转时间 C、被控对象规定时间 D、调度时间 答题: A. B. C. D. (已提交) 参考答案:C 问题解析: 5.(单选题) 操作系统是对()进行管理的软件。 A、软件 B、硬件 C、计算机资源 D、应用程序 答题: A. B. C. D. (已提交) 参考答案:C 问题解析: 6.(单选题) 配置了操作系统的计算机是一台比原来的物理计算机功能更强的计算机,这样的一台计算机只是一台逻辑上的计算机,称为()计算机。 A、并行 B、真实 C、虚拟 D、共享 答题: A. B. C. D. (已提交)

问题解析: 7.(单选题) 操作系统中采用多道程序设计技术提高了CPU和外部设备的() A、利用率 B、可靠性 C、稳定性 D、兼容性 答题: A. B. C. D. (已提交) 参考答案:A 问题解析: 8.(单选题) 在操作系统中,并发性是指若干事件____发生( ) A、在同一时刻 B、在不同时刻 C、在某一时间间隔内 D、依次在不同时间间隔内 答题: A. B. C. D. (已提交) 参考答案:C 问题解析: 9.(单选题) ()操作系统允许在一台主机上同时联接多台终端,多个用户可以通过各自的终端同时交互地使用计算机。 A、网络操作系统 B、批处理操作系统 C、实时操作系统 D、分时操作系统 答题: A. B. C. D. (已提交) 参考答案:D 问题解析: 10.(单选题) 下面关于操作系统的叙述中正确的是 ( ) A、批处理作业必须提交作业控制信息 B、分时系统不一定都具有人机交互功能 C、从响应时间的角度看,实时系统与分时系统差不多 D、由于采用了分时技术,用户可以独占计算机的资源 答题: A. B. C. D. (已提交) 参考答案:A 问题解析:

操作系统课程设计论文

学年论文(课程设计)题目:操作系统课程设计 学院数学与计算机学院 学科门类工学 专业网络工程 学号 姓名 指导教师王煜 年月日

河北大学学年论文(课程设计)任务书 (指导教师用表) 指导教师签字: 系主任签字: 主管教学院长签字: 装 订 线

河北大学学年论文(课程设计)成绩评定表学院:数学与计算机学院 装 订 线

摘要 此系统实现了存储管理、设备管理和进程管理。 存储管理部分主要实现主存空间的分配和回收。存储管理采用可移动的可变分区存储管理方式。采用数组来模拟主存,大小为512个字节。 设备管理主要包括设备的分配和回收。模拟系统中有A、B、C三种独占型设备,A设备3个,B设备2个,C设备1个。设备分配时采用采用先来先服务策略。设备回收时唤醒等待设备的进程。 进程管理主要包括进程调度,进程的创建和撤销、进程的阻塞和唤醒,中断作用的实现。其中硬件中的中央处理器用不断循环的函数CPU( )模拟,重要寄存器(如:程序状态寄存器PSW、指令寄存器IR)用全局变量模拟,中断的发现是在函数CPU中加检测PSW 的方式来模拟,时钟的模拟通过timer控件实现。进程控制块的模拟通过数组,本系统最多容纳10个。进程调度时采用时间片轮转调度算法,时间片为5。 关键词:存储管理设备管理进程管理时间片

ABSTRACT The system has storage management, equipment management and process management. The storage management has achieved the allocation and recovery of the main memory space. Variable storage management is used as storage management .We simulate the main memory by array, whose size is 512 bytes. The device management, including the distribution and recovery of devicet. We simulate three devices ,A,B,C. the numbers of them are 3,2,1. The distribution of device used to adopt first-come first-service strategy. It awakes the blocking process when the device is recycled. The process management, including scheduling ,creating revocation ,blocking and waking up the process, the realization of the interruption.We simulate the central processing unit by the cycling function named CPU(),simulate the important register by global variable, simulate the recovering of interruption by checking PSW in the function of CPU(),simulate the clock by the timer control. The simulation of the process control block by array, whose number is up to 10. When the scheduling of the process happens, we use the algorithm of time piece rotation scheduling, and the time piece is 5. Key words: storage device process time

(完整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

操作系统课程设计任务书

《操作系统》课程实验指导书 一、设计题目 题目一:模拟实现页式虚拟存储管理页面置换算法 题目二:模拟实现虚拟存储管理(请求分页存储管理) 题目三:模拟实现可变分区存储管理 题目四:模拟实现算法多级反馈队列进程调度算法 题目五:模拟银行家算法 二、设计目的 《操作系统》课程实验是计算机类专业的集中实践性环节之一,是学习完《操作系统》课程后进行的一次全面的综合练习。其目的在于加深对操作系统课程的理解,使学生更好地掌握操作系统的基本概念、基本原理、及基本功能,理解操作系统在计算机系统中的作用、地位和特点,具有分析实际操作系统,设计、构造和开发现代操作系统的基本能力,为今后从事的各种实际工作,如设计、分析和改进各种系统软件和应用软件提供必要的软件理论基础。 、设计内容 设计内容一页式虚拟存储管理页面置换算法 1.目的和要求 在熟练掌握计算机虚拟存储技术的原理的基础上,利用一种程序设计语言模拟实现几种置换算法,一方面加深对原理的理解,另一方面提高学生通过编程根据已有原理解决实际问题的能力,为学生将来进行系统软件开发和针对实际问题提出高效的软件解决方案打下基础。

2.设计内容 阅读教材《计算机操作系统》第四章,掌握存储器管理相关概念和原理。 模拟实现页式虚拟存储管理的三种页面置换算法(OPT、FIFO和LRU),并通过比较性能得出结论。 前提: (1)页面分配采用固定分配局部置换。 (2)作业的页面走向和分得的物理块数预先指定。可以从键盘输入也可以从文件读入。 (3)置换算法的置换过程输出可以在显示器上也可以存放在文件中,但必须清晰可读,便于检验。 3.设计环境 Windows操作系统、VC++6.0 C语言 4.设计提示 (1)基础知识 存储管理是操作系统进行资源管理的一个重要功能。现代操作系统广泛采用虚拟存储的技术对内存进行扩充。实现虚拟存储的一个主要技术手段就是将辅存和主存统一管理,在二者之间进行对换,从而形成物理上两级而逻辑上一级的存储管理系统。一个置换算法的好坏对这个逻辑上的单级虚存的性能起着极其重要的作用,而且会影响处理机的调度性能。 对于本任务规定的前提:页面分配采用固定分配局部置换,则置换发生的时机是作业已经将操作系统分配的固定数目的物理块全部用完且发生缺页的时候。此时必须要将已经装入内存的部分逻辑页面换出以便将所缺的页面调入内存。置换算法就是一个决定将内存中“哪一个”页面换出的算法。 (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章操作系统概述

操作系统课程设计题目

实验一进程调度 一、实验目的 观察、体会Linux 系统的进程调度方法,并通过一个简单的进程调度模拟程序的实现,加深对进程调度算法,进程切换的理解。 二、实验内容 采用动态优先数的方法,编写一进程调度程序模拟程序。模拟程序只进行相应的调度模拟操作,不需要实际程序。 [提示]: (1) 假定系统有五个进程,每一个进程用一个进程控制块PCB来代表,进程控制块的格式为: 进程名 指针 要求运行时间 优先数 状态 其中,进程名——作为进程的标识,假设五个进程的进程名分别为P1,P2,P3,P4,P5。 指针——按优先数的大小把五个进程连成队列,用指针指出下一个进程的进程控制块的首地址,最后一个进程中的指针为“0”。 要求运行时间——假设进程需要运行的单位时间数。 优先数——赋予进程的优先数,调度时总是选取优先数大的进程先执行。 状态——可假设有两种状态,“就绪”状态和“结束”状态。五个进程的初始状态都为“就绪”,用“R”表示,当一个进程运行结束后,它的状态为“结束”,用“E”表示。 (2) 在每次运行你所设计的处理器调度程序之前,为每个进程任意确定它的“优先数”和“要求运行时间”。 (3) 为了调度方便,把五个进程按给定的优先数从大到小连成队列。用一单元指出队首进程,用指针指出队列的连接情况。 (4) 处理器调度总是选队首进程运行。采用动态改变优先数的办法,进程每运行一次优先数就减“1”。由于本实习是模拟处理器调度,所以,对被选中的进程并不实际的启动运行,而是执行: 优先数-1 要求运行时间-1 来模拟进程的一次运行。 提醒注意的是:在实际的系统中,当一个进程被选中运行时,必须恢复进程的现场,让它占有处理器运行,直到出现等待事件或运行结束。在这里省去了这些工作。 (5) 进程运行一次后,若要求运行时间?0,则再将它加入队列(按优先数大小插入,且置队首标志);若要求运行时间=0,则把它的状态修改成“结束”(E),且退出队列。 (6) 若“就绪”状态的进程队列不为空,则重复上面(4)和(5)的步骤,

操作系统课程设计-任务书

《计算机操作系统》课程设计任务书 一、课程设计的目的和意义 本课程设计是学生学习完《计算机操作系统》课程后,进行的一次全面的综合训练,通过课程设计,让学生更好地掌握操作系统的原理及实现方法,加深对操作系统基础理论和重要算法的理解,加强学生的动手能力。 二、总体要求 1、一个班分若干个组,自由组合,每组选定一个课程设计题目; 2、人员分工:组长1人、组员若干,简单题目人员组成不宜超过3人。组长可由小组 人员自行选出或自荐,组长的职责是负责与老师交流,合理安排分配本组的各项任务——系统总体设计、编码、测试、相关文档等。 三、设计要求 本课程设计以Windows或Linux操作系统为实验平台,进行操作系统各种算法的模拟或对源代码分析和修改或应用。通过该课程设计,使学生掌握操作系统各部分结构、实现机理和各种典型算法,系统地了解操作系统的设计和实现思路,运用内核开发环境实现对内核的修改,培养学生的系统设计能力,并了解操作系统的发展动向和趋势。。 要求如下: 1、要充分认识课程设计对培养自己的重要性,认真做好设计前的各项准备工作。 2、既要虚心接受老师的指导,又要充分发挥主观能动性。结合课题,独立思考,努力钻研,勤于实践,勇于创新。 3、独立按时完成规定的工作任务,不得弄虚作假,不准抄袭他人内容,否则成绩以不及格计。 4、课程设计期间,无故缺席按旷课处理;缺席时间达四分之一以上者,其成绩按不及格处理。 5、在设计过程中,要严格要求自己,树立严肃、严密、严谨的科学态度,必须按时、按质、按量完成课程设计。 6、小组成员之间,分工明确,但要保持联系畅通,密切合作,培养良好的互相帮助和团队协作精神。 四、成绩评定 1、同学平时表现占总成绩20%,若迟到扣5分,无故旷课每次扣10 分。 2、课程设计程序功能占总成绩40%,课程设计报告占总成绩40%,在规定时间内 上交。 3、严禁抄袭,复制设计内容,查出后相关同学设计成绩以不及格处理。

2操作系统课程设计任务书(141410007)

《操作系统课程设计》任务书 一、课程编号:141410007 二、适用专业: 计算机科学与技术专业 三、课程设计学时和学分:学时0.5周, 0.5学分 四、《操作系统课程设计》目的 《操作系统》是一门重要的专业基础课,是涉及较多硬件知识的计算机系统软件课程。在计算机软硬件课程的设置上,它起着承上启下的作用。操作系统对计算机系统资源实施管理,是所有其他软件与计算机硬件的唯一接口,所有用户在使用计算机时都要得到操作系统提供的服务。 操作系统课程设计的主要任务是研究计算机操作系统的基本原理和算法,掌握操作系统的进程管理、存储管理、文件管理和设备管理的基本原理与主要算法。目的是使学生掌握常用操作系统(如DOS、Windows或Linux)的一般管理方法,了解它是如何组织和运作的,对操作系统的核心概念和算法有一个透彻的理解,并对系统运行的机制有一个全面的掌握,从而充分理解系统调用与程序设计之间的关系。 五、课程设计的要求 1.要求学生已有先导课程《数据结构》、《操作系统》和一门高级程序设计语言的基础。 2.在课程设计环节,要求学生选择那些最典型的操作系统概念和机制,通过模拟实现的方式来体现操作系统的管理原理与算法,进而深刻理解操作系统的运行机制和数据结构。 3.人员、题目分配:每组4到6人,每组一题。学生需独立完成课程设计,要求自行进行选题的设计、开发、调试与测试, 实现课程设计要求的系统功能。 4.具体课程设计要求: 1)写出操作系统课程设计各个阶段的报告; 2)能够实现课程设计目标,根据选题内容设计出软件的结构和功能,写出系统的主要功能和使用说明; 3)设计有效的测试方法与测试数据,提交可运行的软件系统:最终的软件对问题的描述应正确无误,运行稳定、可靠,界面友好; 4)对于不同算法的比较应提供直观的性能分析方法及数据,写入课程设计

相关文档
最新文档