文档库 最新最全的文档下载
当前位置:文档库 › -操作系统练习题2016

-操作系统练习题2016

-操作系统练习题2016
-操作系统练习题2016

复习题

一、假定在单CPU条件下有下列要执行的作业:

(2)对于上述算法,各个作业的周转时间是多少?平均周转时间是多少?

(3)对于上述算法,各个作业的带权周转时间是多少?平均带权周转时间是多少二、有两个程序,A程序按顺序使用CPU 10S,使用设备甲5S,使用CPU 5S,使用设备

乙10S,最后使用CPU 10S。B程序按顺序使用设备甲10S,使用CPU 10S,使用设备乙5S,使用CPU 5S,使用设备乙10S。在顺序环境下先执行A程序再执行B程序,CPU的利用率是多少?提示:CPU利用率=CPU运行时间/程序运行时间。

三、在单机系统中,系统中各个进程到达就绪队列的时刻、执行时间和优先级如下表所示。

假设进程的调度时间忽略不计。请分别给出采用下面不同的进程调度算法时各个进程

(1)先来先服务调度算法;

(2)时间片轮换调度算法(时间片为1ms);

(3)抢占式短进程优先调度算法;

(4)抢占式优先级调度算法;

(5)非抢占式优先级调度算法。

(1)用一个执行时间图描述在非抢占优先级算法时,执行这些作业的情况。

(2)用一个执行时间图描述在RR算法时(不考虑优先级),执行这些作业的情况(时间片为1单位)。

五、设系统中只有一台打印机,有三个用户的程序在执行过程中都要使用打印机输出计算

结果。设每个用户程序对应一个进程。问:这三个进程间有什么样的制约关系?试用P、V操作写出这些进程使用打印机的算法。

六、有三个进程P1,P2和P3并发工作。进程P1需用资源S3和S1;进程P2需用资源

S1和S2;进程P3需用资源S2和S3。回答:

(1)若对资源分配不加限制,会发生什么情况?为什么?

(2)为保证进程正确工作,应采用怎样的资源分配

策略?为什么?

七、用信号灯及P、V操作来描述右图

1、说明进程的同步关系:

2、设置信号灯,说明含义、初值。

3、写出程序描述(用P、V操作描述P1、P2、P3)。

主函数如下:

main()

{int s13=0,s23=0;

cobegin

p1;

p2;

p3;

coend}

八、假定系统中有4个进程P1、P2、P3、P4和3种类型的资源R1、R2、R3,数量分别

为9、3、6,在t0时刻的资源分配情况如表所示。

表t0时刻的资源分配表

试问:(1)t0时刻是否安全?

(2)P2发出请求向量Request2(1,0,1),系统能否将资源分配给它?

(3)在P2申请资源后,若P1发出请求向量Request1(1,0,1),系统能否将资源分配给它?

(4)在P2申请资源后,若P3发出请求向量Request3(0,0,1),系统能否将资源分配给它?

九、试化简图1中的进程——资源图,并利用死锁定理给出相应的理论。

十、试化简图2中的进程——资源图,并利用死锁定理给出相应的理论。

试问:⑴该状态是否安全,说明理由?

⑵若进程P2提出请求Request(1,2,2,2)后,系统能否将资源分配给它,

为什么?

十二、考虑某一系统,它有四类资源R1,R2,R3,R4,有五个并发进程P0,P1,P2,P3,P4。请按照银行家算法解答下列问题:

(1)各进程的最大资源请求和已分配的资源矩阵如表所示,计算各进程仍需要请求的资源向量组成的矩阵。

(2)系统当前是处于安全状态吗?

(3)当进程P2申请的资源分别为(0,1,0,0)时,系统能立即满足吗?

十三、某虚拟存储器的用户编程空间有若干个页面,每页为1KB,内存为16MB。假定某时刻已将一页面调入内存,该页逻辑地址为4062B,已知页表寄存器中页表始址为2004B,页表长度为8,此时刻内存部分数据如下表,求该页的物理地址,并指出该物理地址中的数据。

76,假设每移动一个柱面需要3毫秒时间,移动臂当前位于40号柱面,请按下列算法分别计算为完成上述各次访问总共花费的寻找时间。

(1)先来先服务(FCFS)(2)最短寻找时间优先调度(SSTF)

(3)电梯调度法(SCAN)(4)单向扫描(循环扫描C-SCAN)

十五、考虑下述页面走向:

1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6当内存块数量分别为3时,试问FIFO、LRU这两种置换算法的缺页次数各是多少?(所有内存开始时都是空的,凡第一次用到的页面都产生一次缺页中断)

十六、某移动臂磁盘的柱面由外向里顺序编号,假定当前磁头停在100号柱面且移动臂方向是向里的,现有如下表所示的请求序列在等待访问磁盘:

回答下面的问题:

① 写出分别采用“最短查找时间优先算法”和“电梯调度算法”时,实际处理上述请求的次序。

② 针对本题比较上述两种算法,就移动臂所花的时间(忽略移动臂改向时间)而言,哪种算法更合适?简要说明之。

十七、有一个系统其内存容量为1024KB,有8个作业同时到达,各作业需要的内存量

假定系统初启时,将内存1024KB按作业的编号顺序分给各道作业,并假定是多CPU 下,分配到内存的作业都可以立即运行。试问:

(1)1S后,内存空白区按首次适应和最佳适应算法的链接方式链接,将如何链接?

(2)2S后,其内存空白区按上述两种算法如何链接?

(3)在(2)后,此时有一个作业I要求进入内存,它需要内存量为12KB,按上述两种算法,将把哪一块空白区分给它?

十八、某计算机系统的内存容量为128KB,对存储器采用可变分区的存储管理办法,现有3

0K 5K 20K 40K 50K 90K 100K 128K

(1)现有一个需要25KB存储空间的作业J4请求装入内存,若采用最先适应分配算法

来给J4分配空间。请给出装入J4后的内存分配表。

(2)若采用最优适应算法来给J4分配空间,给出装入J4后的内存分配表。

(3)在只有J1,J2,J3三个作业的情况下,J2运行结束撤离后,请给出J2撤离后的内

存分配表。

十九、某程序在逻辑地址100处有一条取数指令LOAD l,500,而500单元内存放数据51888。假设程序被分配到内存起始地址5000单元时,试用图示意,采用下述各种方式下的该指令及数据地址的物理地址及相应地址的变换过程。

(1)静态重定位。

(2)采用重定位寄存器实现动态重定位。

(3)采用页表映像(映射)方式,假定页面大小为100单元,其负表各页映射到50,51、

52,53,54,55,…,59物理页上。

二十、对于如下的页面访问序列: 1,2,3,4,1,2,5,1,2,3,4,5。当内存块数量分别为3和4时,试问:使用FIFO、LRU置换算法产生的缺页中断是多少(画出详细过程)?(所有内存开始时都是空的,凡第一次用到的页面都产生一次缺页中断)二十一、给定下面的段表,已知下面的逻辑地址(其中方括号中的第一个元素为段号,第二个元素为段内地址)求其对应的物理地址:

(1)[0,430];。

二十二、1KB,内存为16KB。假定某时刻一用户页表中已调入内存的页面的页号和物理块号的对照表如下:

二十三、某磁盘组有6片盘片,每片有两个记录面,存储区域内径为22cm,外径为33cm,道存储密度为40道/cm,内层位存储密度为400b/cm,转速为3000r/min(转/分),问共有多少柱面?盘组总存储量为多少?平均等待时间为多少?

二十四、假设有一个磁盘组共有100个柱面,每个柱面上有8个磁道,每个盘面被分成8个扇区。现有一个含有6400逻辑记录的文件,逻辑记录的大小与扇区一致,该文件以顺序结构的形式被存储到磁盘上。柱面、磁道、扇区的编号从“0”开始,逻辑记录的编号也从“0”开始。文件信息从0柱面、0磁道、0扇区开始存放,试问:(1)该文件的第3680个逻辑记录应该存放在什么位置?

(2)第78柱面的第6磁道的第6扇区中存放了该文件的第几个逻辑记录?

二十五、假设一个可移动磁头的磁盘具有200个磁道,其编号为0~199,当它刚刚结束了125道的存取后,现正在处理143道的服务请求,假设系统当前I/O请求序列以FIFO顺序排列如下:86,147,91,177,94,150,102,175,130。试问对以下几

种磁盘I/O请求调度算法而言,满足以上请求序列,磁头将分别如何移动,请列出磁道访问次序,并计算出移动距离?

(1)先来先服务(FCFS)(2)最短寻找时间优先调度(SSTF)

(3)电梯调度法(SCAN)(4)单向扫描(循环扫描C-SCAN)

二十六、有一移动臂磁盘,共100个磁道,每个磁道分8个扇区,磁盘转速为500r/s (转/秒),磁头每移动一个磁道需要10ms,有一个用户请求访问第25磁道第3扇区,并立即被系统响应,假设磁头当时处于15道上,磁头到达第25道时正处于1扇区的开始位置,试计算该用户至少需要等待多长时间?

二十七、假定磁盘转速为6000r/min(转/分),磁盘格式化时每个盘面被分为9个扇区,现有一个文件共有A,B,C,D,E,F,G,H,I九个逻辑记录要存放在同一磁道上供处理程序使用,假设每个记录的大小与扇区的大小相同,处理程序每次从磁盘读出一个记录后要花2.5ms处理时间。若忽略其他辅助时间,请回答下列问题:

(3)现在假设已经顺序存放好这9个记录,那么读出该文件需要多少时间?

(4)为了使读出文件需要的时间最短,请重新调整各个记录的存放位置,画出各个记录的存放位置,计算该文件的读出时间,并与(1)进行比较说明。

二十八、某车站售票厅,任何时刻最多可容纳20名购票者进入,当售票厅中少于20名购票者时,则厅外的购票者可立即进入,否则需在外面等待。若把一个购票者看作一个进程,请回答下列问题:

(1 )用PV操作管理这些并发进程时,应怎样定义信号量,写出信号量的初值以及信号量各种取值的含义。

(2 )在下列横线中填入所定义的信号量,并把应执行的PV操作填入横线中,以保证进程能够正确地并发执行。

main()

{ int ;

进入售票厅;

购票;

退出;

(3 )若欲购票者最多为n 个人,写出信号量可能的变化范围(最大值和最小值)。

二十九、设有三个人,M,Q,R,其中M负责采购原材料并放到房间A中,Q从房间A中取出原材料并加工成产品后,放到房间B中,R从房间B中取出产品并销售(房间A和B都恰好能放一件原材料)。试用P、V操作描述M,Q,R三人实现上述工作的控制流程。

(1)在下列横线中写出该定义的信号量及其初值。

(2)根据所定义的信号量,把应执行的PV操作填入下列横线中,以保证进程能够正

确地并发执行。

main()

{

int ,,,;

cobegin /*下列进程将并发执行*/

M();

Q();

R();

coend

}

F,系统允许多个进程同时读文件F,但限制是进程A和进程C不能同时读文件F,进程B和进程D也不能同时读文件F,为了使这四个进程并发执行时能按系统要求使用文件,现用PV操作进行管理,请回答下面的问题:

(1)在下列程序中填入应定义的信号量及初值。

(2)在下列程序中填上适当的P、V操作,以保证它们能正确并发工作:

三十一、桌上有一只盘子,每次只能放一只水果,爸爸专向盘子中放苹果,妈妈专向盘子中放橘子,一个儿子专等吃盘子中的橘子,一个女儿专等吃盘子中的苹果。用P —V操作实现他们这间的同步机制。

三十二、有5批处理作业(A,B,C,D,E)几乎同时到达,估计运行的时间分别为2,4,6,8,10分钟,它们的优先级数分别为1,2,3,4,5(1为最低优先数)。对下面的每种调度算法,分别计算作业的平均周转时间:

1、优先级算法;

2、时间片轮转法(时间片为2分钟);

3、FCFS(作业到达顺序为

C,D,B,E,A);4、短作业优先

三十三、假定某计算机系统配置的主存容量为1GB,当采用页式虚拟存储管理时提供给用户使用的逻辑地址空间为4GB,页面大小为4KB。访问主存的时间为200ns,访问高速缓存的时间为40ns,查快表的命中率为90%,试问:

(1)画出该系统的逻辑地址空间结构示意图;

(2)用户作业最多可以有多少页?

(3)主存空间一共被划分成多少块?

(4)计算按相对地址转换成绝对地址进行存取的平均时间是多少?

三十四、假设一个磁盘组有100个柱面(编号为0~99),每个柱面有32个磁道(又称盘面,编号为0~31),每个盘面有16个扇区(编号为0~15)。每个盘面使用一个读写磁头。现采用位示图方法管理磁盘空间,其字号位号均从0开始递增编号。令磁盘块号按柱面顺序和盘面顺序编排。请回答下述问题:

(1)若采用32位的字组成位示图,共需要多少个字?

(2)计算第40字的第18位对应的柱面号、磁头号和扇区。

(3) 若从位示图中查找到第50个字的第16位对应的位是“0”,那么其对应的空闲块应在哪个柱面上?应对应哪个扇区?应当那个磁头来完成信息的传送?

三十五、

三十六、

三十七、

进程A和进程B共享某个资源。它们并发执行的程序如下:

begin

busy ∶Boolean;

busy ∶= true;

cobegin

process A

begin

L∶if busy then begin

使用资源;

busy∶=false;

end;

goto L;

end:

process B

begin

K∶if not busy then begin

使用资源;

busy ∶=true;

end;

goto K;

end;

coend;

end:

回答下面问题:

(1)进程A和进程B按什么规律在使用资源?

(2)若程序中不使用布尔变量busy,而改用PV操作来管理,则应采用同步方式还是互斥方式?

(3)在保持原来的资源使用规律情况下,把上述程序改用PV操作来管理。

三十八、某文件以顺序结构形式存放在磁盘上。该文件有9个等长逻辑记录,每个逻辑记录的长度为250个字节。文件在磁盘上的起始块号为99,而一个磁盘块长度为512个字节,系统缓冲区数据长度也为512个字节。要求:

(1)采用记录成组方式存放该文件信息时,块因子为多少最合适?

(2)该文件至少要占用磁盘块的数目;

(3)若把文件的第6个逻辑记录读入用户区20000单元开始的区域,写出主要过程。

三十九、在一个多道批处理系统中,供用户使用的主存空间有100K,主存采用可变分区管理,并且已装入主存的作业不被移动。今有如下表所示仅作计算的作业序列,

假设作业调度和进程调度均采用计算时间短的作业优先调度算法,当第一个作业进入输入井后就开始调度,并忽略系统开销的时间。

要求:

(1)写出作业调度的次序;

(2)计算各作业的周转时间;

四十、假定某计算机系统配置的主存容量为1GB,当采用页式虚拟存储管理时提供给用户使用的逻辑地址空间为4GB,页面大小为4KB。访问主存的时间为200ns,访问高速缓存的时间为40ns,查快表的命中率为90%,试问:

(1)画出该系统的逻辑地址空间结构示意图;

(2)用户作业最多可以有多少页?

(3)主存空间一共被划分成多少块?

(4)计算按相对地址转换成绝对地址进行存取的平均时间是多少?

四十一、假定某文件现有10个逻辑记录,每个逻辑记录的大小为150个字节。一个磁盘块长度为512个字节,逻辑记录不跨块存放。系统缓冲区的长度也为512个字节,系统空间足够使用。在打开该文件时,要分别实现两种操作,在文件的末端增加一条记录(变成11个记录)以及删除文件末端记录(变成9个记录),请回答:

(1)该文件占有几个磁盘块?

(2)分别计算对顺序、链接和索引三种存储结构各需启动I/O操作的最少次数并填写

四十二、有一个程序要将100×100的整型数组的初值置为对角线元素为“1”,其它元素为“0”。采用页式虚拟存储管理方法,其页面大小为200个整型数组元素,数组中的元素按行编址存放。假定只有两个主存块可用来存放数组信息,初始状态为空。

将数组初始化的程序分别如下:

(A程序)int a[100][100];

int i,j;

for(j=0;j<=99;j++)

for(i=0;i<=99;i++)

{ if i==j a[i][j]=1

else a[i][j]=0;}

……

(B程序) int a[100][100];

int i,j;

for(i=0;i<=99;i++)

for(j=0;j<=99;j++)

{ if i==j a[i][j]=1

else a[i][j]=0;}

……

试问:(1)整个数组占用多少页面?

(2)采用FIFO算法进行页面调度,上述两个程序执行时,各产生多少次缺页中断?

四十三、假定某文件FILEI以链接结构形式存放在磁盘上,共有7个逻辑记录,每个逻辑记录的大小为150个字节。而一个磁盘块长度为512个字节,系统缓冲区的长度也为512个字节。

试问:

(1)为了提高磁盘空间利用率,应采用何种技术存放文件FILE1(约定一个逻辑记录不能跨越存储在多个磁盘块中)?

(2)画出文件FILE1在盘上的结构示意图,包括文件目录的最基本信息(文件在磁盘上的起始盘块号为50,文件占用的其它磁盘块号可自定)。

(3)若文件FILE1已打开,根据画出的文件结构示意图,将文件FILE1的第6号逻辑记录(逻辑记录从l开始编号)读到主存90000开始的区域,请写出主要工作步骤。

操作系统课程设计

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

操作系统课后习题答案

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

操作系统1(参考答案)

一、选择题 1 BCBCA 6 C BAAA 二、判断题TFTFT 三、填空题 1外部设备联机并行操作 2安全性和简明性 3内存、缺页 4作业 5执行和完成 6段、系统 7多用户、多任务 8就绪、执行 9虚拟 四、简答题 1.什么是系统调用? 答:系统调用是用户在程序中能以“函数调用”形式调用的、由操作系统提供的子功能的集合。每一个子功能称作一条系统调用命令。它是操作系统对外的接口,是用户级程序取得操作系统服务的唯一途径。 2.什么是临界资源? 一次仅允许一个进程使用的资源。 3.什么是抖动(或称颠簸)? 页面抖动是系统中频繁进行页面置换的现象。即如果一个进程没有一定数量的内存 块,它很快就发生缺页。此时,它必须淘汰某页。由于所有这些页面都正在使用,所以刚被淘汰出去的页很快又被访问,因而要把它重新调入。可是调入不久又再被 淘汰出去,这样再访问,再调入,如此反复,使得整个系统的页面替换非常频繁,以致大部分机器时间都用在来回进行的页面调度上,只有一小部分时间用于进程的 实际运算方面。 4.影响缺页中断率的因素有哪些? 影响缺页中断率的因素有四个: ①分配给作业的主存块数多则缺页率低,反之缺页中断率就高。 ②页面大,缺页中断率低;页面小缺页中断率高。 ③程序编制方法。以数组运算为例,如果每一行元素存放在一页中,则按行处理各 元素缺页中断率低;反之,按列处理各元素,则缺页中断率高。 ④页面调度算法对缺页中断率影响很大,但不可能找到一种最佳算法。 五、应用题(每题10分,共20分)

1.在一个采用页式虚拟存储管理的系统中,有一用户作业,它依次要访问的字地址序列是:115,228,120,88,446,102,321,432,260,167,若该作业的第0页已经装入主存,现分配给该作业的主存共300字,页的大小为100字,请回答下列问题: (1)按FIFO调度算法将产生多少次缺页中断,依次淘汰的页号为多少,缺页中断率为多少。(2)按LRU调度算法将产生多少次缺页中断,依次淘汰的页号为多少,缺页中断率为多少。答: 页面走向为:1,2,1,0,4,1,3,4,2,1 (1)按FIFO调度算法将产生5次缺页中断;依次淘汰的页号为:0,1,2;缺页中断率为:5/10=50% (3’) 1 2 1 0 4 1 3 4 2 1 0 0 0 0 0 4 4 4 4 4 4 1 1 1 1 1 1 3 3 3 3 2 2 2 2 2 2 2 2 1 ×××××(2’) (2)按LRU调度算法将产生6次缺页中断;依次淘汰的页号为:2,0,1,3;缺页中断率为:6/10=60% (3’) 1 2 1 0 4 1 3 4 2 1 0 0 0 0 0 0 0 3 3 3 3 1 1 1 1 1 1 1 1 2 2 2 2 2 4 4 4 4 4 1 ××××××(2’) 2.有一个具有如下作业流的批处理处理系统,作业调度采用短作业优先,进程调度采用基于优先数的抢先式调度算法。下表给出的是作业序列和相应进程的优先数,优先数越小优先级越高。 作业名到达时间估计运行时间/min 优先数 1 8:00 40 4 2 8:20 30 2 3 8:30 50 3 4 8:50 20 5 (1)列出所有作业进入内存时间及完成时间 (2)计算作业的平均周转时间和平均带权周转时间 解答: (1)作业进入内存时间与结束时间如下所示:(`4’=1’*4) 作业名进入内存时间结束时间 1 8:00 9:10 2 8:20 8:50 3 9:10 10:00 4 8:50 10:20 (2)各作业的周转时间为:(`4’=1’*4) 作业A:9:10 – 8:00 = 70 min 作业B:8:50 – 8:20 = 30 min 作业C:10:00 – 8:30 = 90 min

操作系统课程设计页式存储

操作系统课程设计报告 ——页式存储 姓名:陈锡鹏 班级:J计算机1302 学号:4131110044 指导老师:刘金平 日期:2016/1/12

一、目的和要求 1.理解页式存储的基本概念 2.通过请求页式存储管理中页面置换算法模拟设计,了解虚拟存储技术的特 点,掌握请求页式存储管理的页面置换算法。 3. 3.根据模拟的页式管理设计,掌握在页式存储管理中最基本的两种种页面 调度算法FIFO、LRU。但在两种种算法中均要求在调度程序中产生的页面序列是随机产生的,而不是人为的输入,在执行时只需改变页面的大小及内存容量就可以得到不同的页面序列,另外还需要说明随机的性能和其性能可能对算法的影响,并对随机性要有一定的参数控制能力。此外,计算并输出FIFO、LRU算法在不同内存容量下的命中率。 具体参数:访问串的长度,访问串,页面个数。 分别用2种不同的方法实现页面的置换,并输出相关信息。

二、基本原理 1.页式存储基本原理 将各进程的虚拟空间划分成若干个长度相等的页(page),页式管理把内存空间按页的大小 划分成片或者页面(page frame),然后把页式虚拟地址与内存地址建立一一对应页表,并用相应的硬件地址变换机构,来解决离散地址变换问题。页式管理采用请求调页或 预调页技术实现了内外存储器的统一管理。 页的划分: 2.静态/虚拟分页管理 页式管理是一种内存空间存储管理的技术,页式管理分为静态分页管理和虚拟分页管理。 ①静态页式存储管理: 用户在作业开始执行之前,讲改作业的程序和数据全部装入到主存中,然后,操作系统统通过页表和硬件地址变换实现逻辑地址到屋里地址的转换,从而执行用户程序。 静态分页管理的第一步是为要求内存的作业或进程分配足够的页面。系统通过存储页面表、请求表以及页表来完成内存的分配工作。 页表:内存中的一块固定存储区。页式管理时每个进程至少有一个页表。 请求表:用来确定作业或进程的虚拟空间的各页在内存中的实际对应位置; 存储页面表:整个系统有一个存储页面表,其描述了物理存储空间的分配使用状况。 ②虚拟页式存储管理 当系统在运行时,经常会出现主存容量不能满足用户程序的要求,一种解决方法是:从逻辑上扩充主存的容量。这便是虚拟存储技术。

操作系统课后习题答案

1.什么是操作系统?其主要功能是什么? 操作系统是控制和管理计算机系统内各种硬件和软件资源,有效组织多道程序运行的系统软件(或程序集合),是用户和计算机直接的程序接口. 2.在某个计算机系统中,有一台输入机和一台打印机,现有两道程序投入运行,程序A、B 同时运行,A略早于B。A的运行轨迹为:计算50ms、打印100ms、再计算50ms、打印100ms,结束。B的运行轨迹为:计算50ms、输入80ms、再计算100ms,结束。试说明:(1)两道程序运行时,CPU是否空闲等待?若是,在那段时间段等待? (2)程序A、B是否有等待CPU的情况?若有,指出发生等待的时刻。 0 50 100 150 200 250 300 50 100 50 100 50 100 20 100 (1) cpu有空闲等待,在100ms~150ms的时候. (2) 程序A没有等待cpu,程序B发生等待的时间是180ms~200ms. 1.设公共汽车上,司机和售票员的活动如下: 司机的活动:启动车辆;正常行车;到站停车。 售票员的活动:关车门;售票;开车门。 在汽车不断的到站、停车、行驶过程中,用信号量和P、V操作实现这两个活动的同步关系。 semaphore s1,s2; s1=0;s2=0; cobegin 司机();售票员(); coend process 司机() { while(true) { P(s1) ; 启动车辆; 正常行车; 到站停车; V(s2); } } process 售票员() { while(true) { 关车门; V(s1);

售票; P(s2); 开车门; 上下乘客; } } 2.设有三个进程P、Q、R共享一个缓冲区,该缓冲区一次只能存放一个数据,P进程负责循环地从磁带机读入数据并放入缓冲区,Q进程负责循环地从缓冲区取出P进程放入的数据进行加工处理,并把结果放入缓冲区,R进程负责循环地从缓冲区读出Q进程放入的数据并在打印机上打印。请用信号量和P、V操作,写出能够正确执行的程序。 semaphore sp,sq,sr; int buf;sp=1;sq=0;sr=0; cobegin process P() { while(true) { 从磁带读入数据; P(sp); Buf=data; V(sq); } } process Q() { while(true) { P(sq); data=buf; 加工data; buf=data; V(sr); } } process R() { while(true) { P(sr); data=buf; V(sp); 打印数据; } }

操作系统课程设计报告

上海电力学院 计算机操作系统原理 课程设计报告 题目名称:编写程序模拟虚拟存储器管理 姓名:杜志豪.学号: 班级: 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

操作系统实验报告附思考题

操作系统实验报告附思 考题 文档编制序号:[KKIDT-LLE0828-LLETD298-POI08]

课程设计(综合实验)报告 ( 2015 -- 2016 年度第 1 学期) 名称:操作系统综合实验 题目: oslab综合实验 院系:计算机系 班级: 学号: 学生姓名: 指导教师: 设计周数:分散进行 成绩: 日期: 2015 年 10 月 29 日

实验1 实验环境的使用 一、综合实验的目的与要求 熟悉操作系统集成实验环境OS Lab 的基本使用方法。 练习编译、调试EOS 操作系统内核以及EOS 应用程序。 二、实验正文 1.启动 OS Lab 执行项目 Windows 控制台窗口内容显示 调试项目 使用断点中断执行 单步调试 .3单步调试结果显示: 练习使用“逐语句”功能和“跳出”功能 查看变量的值 快速监视 添加监视 调用堆栈 调用堆栈显示内容 进入Func 函数 双击 main 函数所在的行表示此函数是当前调用堆栈中的活动函数。 3 新建EOS 内核项目 4 EOS 应用程序项目的生成和调试 新建EOS 应用程序项目 调试项目 添加断点后单步调试结果显示 查看软盘镜像文件中的内容 修改EOS 应用程序项目名称 5 退出OS Lab 6 保存EOS 内核项目 三、综合实验总结或结论 思考与练习: 1.在哪些情况下应该使用“逐过程”调试,在哪些情况下应该使用“逐语句”调试。

答:逐语句为每执行一行语句,如果碰到函数调用它就会进入到函数里面。而逐过程碰到函数时不进入函数,把函数调用当成一条语句去执行。 2. 生成EOS SDK 文件夹的目的和作用。明白文件夹的组织结构和各个文件的来源和作用。查看EOS 应用程序包含了SDK 文件夹中的哪些头文件,是如何包含的 (1)EOSSDK为应用程序调用系统API提供服务,可作为用户编程中使用的工具包集合。(2)其主要包括INC头文件LIB文件夹、导入库文件和BIN文件夹、动态链接库、可执行程序、二进制文件。 (3)包含的头文件有:负责导出API函数,声明负责导出函数类型的定义,负责导出错误码。 (4)EOS应用程序在项目的头文件中只是包含了文件,在文件中又包含了和文件。 实验 2 操作系统的启动 一、综合实验的目的与要求 跟踪调试 EOS 在 PC 机上从加电复位到成功启动全过程,了解操作系统的启动过程。 查看 EOS 启动后的状态和行为,理解操作系统启动后的工作方式。 二、实验正文 1. 准备实验 新建一个 EOS Kernel 项目。打开和两个汇编文件。生成项目。找到文件,记录下此文件的大小 1566 字节。 2 调试 EOS 操作系统的启动过程 使用 Bochs 做为远程目标机 找到“远程目标机”属性,将此属性值修改为“BochsDebug” 调试 BIOS 程序 在 Console 窗口中输入调试命令 sreg 后按回车,其中 CS 寄存器信息行中的 “ s=0xf000”表示 CS 寄存器的值为 0xf000。 输入调试命令 r 后按回车,显示当前 CPU 中各个通用寄存器的值。其中 “ rip:0x00000000:0000fff0”表示 IP 寄存器的值为 0xfff0。 输入调试命令 xp /1024b 0x0000,查看开始的 1024 个字节的物理内存。在 Console 中输出的这1K 物理内存的值都为 0,说明 BIOS 中断向量表还没有被加载到此处。 输入调试命令 xp /512b 0x7c00,查看软盘引导扇区应该被加载到的内存位置。输出的内存值都为 0,说明软盘引导扇区还没有被加载到此处。 可以验证 BIOS 第一条指令所在逻辑地址中的段地址和 CS 寄存器值是一致的,偏移地址和 IP 寄存器值是一致的。由于内存还没有被使用,所以其中的值都为 0。 调试软盘引导扇区程序

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

操作系统课后题答案

2.1 一类操作系统服务提供对用户很有用的函数,主要包括用户界面、程序执行、I/O操作、文件系统操作、通信、错误检测等。 另一类操作系统函数不是帮助用户而是确保系统本身高效运行,包括资源分配、统计、保护和安全等。 这两类服务的区别在于服务的对象不同,一类是针对用户,另一类是针对系统本身。 2.6 优点:采用同样的系统调用界面,可以使用户的程序代码用相同的方式被写入设备和文件,利于用户程序的开发。还利于设备驱动程序代码,可以支持规范定义的API。 缺点:系统调用为所需要的服务提供最小的系统接口来实现所需要的功能,由于设备和文件读写速度不同,若是同一接口的话可能会处理不过来。 2.9 策略决定做什么,机制决定如何做。他们两个的区分对于灵活性来说很重要。策略可能会随时间或位置而有所改变。在最坏的情况下,每次策略改变都可能需要底层机制的改变。系统更需要通用机制,这样策略的改变只需要重定义一些系统参数,而不需要改变机制,提高了系统灵活性。 3.1、短期调度:从准备执行的进程中选择进程,并为之分配CPU; 中期调度:在分时系统中使用,进程能从内存中移出,之后,进程能被重新调入内存,并从中断处继续执行,采用了交换的方案。 长期调度:从缓冲池中选择进程,并装入内存以准备执行。 它们的主要区别是它们执行的频率。短期调度必须频繁地为CPU选择新进程,而长期调度程序执行地并不频繁,只有当进程离开系统后,才可能需要调度长期调度程序。 3.4、当控制返回到父进程时,value值不变,A行将输出:PARENT:value=5。 4.1、对于顺序结构的程序来说,单线程要比多线程的功能好,比如(1)输入三角形的三边长,求三角形面积;(2)从键盘输入一个大写字母,将它改为小写字母输出。

2016西安交通大学操作系统实验报告

操作系统实验报告 实验一:用户接口实验 一.实验目的 1.理解面向操作命令的接口Shell。 2.学会简单的shell编码。 3.理解操作系统调用的运行机制。 4.掌握创建系统调用的方法。 操作系统给用户提供了命令接口和程序接口(系统调用)两种操作方式。用户接口实验也因此而分为两大部分。首先要熟悉Linux的基本操作命令,并在此基础上学会简单的shell编程方法。然后通过想Linux内核添加一个自己设计的系统调用,来理解系统调用的实现方法和运行机制。在本次实验中,最具有吸引力的地方是:通过内核编译,将一组源代码变成操作系统的内核,并由此重新引导系统,这对我们初步了解操作系统的生成过程极为有利。 二.实验内容 1)控制台命令接口实验 该实验是通过“几种操作系统的控制台命令”、“终端处理程序”、“命令解释程序”和“Linux操作系统的bash”来让实验者理解面向操作命令的接口shell 和进行简单的shell编程。 查看bash版本。 编写bash脚本,统计/my目录下c语言文件的个数 2)系统调用实验 该实验是通过实验者对“Linux操作系统的系统调用机制”的进一步了解来理解操作系统调用的运行机制;同时通过“自己创建一个系统调用mycall()” 和“编程调用自己创建的系统调用”进一步掌握创建和调用系统调用的方法。 编程调用一个系统调用fork(),观察结果。 编程调用创建的系统调用foo(),观察结果。

自己创建一个系统调用mycall(),实现功能:显示字符串到屏幕上。 编程调用自己创建的系统调用。 三.实验步骤 系统调用实验: 1.首先将Linux-3.0.tar.bz2拷贝到/usr/src目录下 ——命令:cp linux-3.0.tar.bz2 /usr/src/ 2.打开终端,获得root权限 ——命令:sudo –s 3.进入/usr/src目录 ——命令:cd /usr/src 4.解压linux源码 ——命令:tar xvzf linux-3.0.tar.bz2 5.进入目录linux-3.0.5 ——命令:cd linux-3.0 6.添加系统调用 ——操作:gedit kernel/myservice.c 在文本编辑器中添加 #include #include asmlinkage void sys_mycall() { printk(KERN_INFO "Hello, world!\n"); return; } 7.修改kernel/Makefile添加生成myservice.c添加到Makefile的编译规则中: obj-y += myservice.o 8..修改arch/x86/include/asm/unistd_32.h,添加以下内容: #define __NR_mycall SYS_ID //SYS_ID表示新添加系统调用的调用号

计算机操作系统课后习题答案第三章(第四版)

第三章处理机调度与死锁 1,高级调度与低级调度的主要任务是什么?为什么要引入中级调度? 【解】(1)高级调度主要任务是用于决定把外存上处于后备队列中的那些作业调入内存,并为它们创建进程,分配必要的资源,然后再将新创建的进程排在就绪队列上,准备执行。(2)低级调度主要任务是决定就绪队列中的哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。(3)引入中级调度的主要目的是为了提高内存的利用率和系统吞吐量。为此,应使那些暂时不能运行的进程不再占用宝贵的内存空间,而将它们调至外存上去等待,称此时的进程状态为就绪驻外存状态或挂起状态。当这些进程重又具备运行条件,且内存又稍有空闲时,由中级调度决定,将外存上的那些重又具备运行条件的就绪进程重新调入内存,并修改其状态为就绪状态,挂在就绪队列上,等待进程调度。 3、何谓作业、作业步和作业流? 【解】作业包含通常的程序和数据,还配有作业说明书。系统根据该说明书对程序的运行进行控制。批处理系统中是以作业为基本单位从外存调入内存。作业步是指每个作业运行期间都必须经过若干个相对独立相互关联的顺序加工的步骤。 作业流是指若干个作业进入系统后依次存放在外存上形成的输入作业流;在操作系统的控制下,逐个作业进程处理,于是形成了处理作业流。 4、在什么情冴下需要使用作业控制块JCB?其中包含了哪些内容? 【解】每当作业进入系统时,系统便为每个作业建立一个作业控制块JCB,根据作业类型将它插入到相应的后备队列中。 JCB 包含的内容通常有:1) 作业标识2)用户名称3)用户账户4)作业类型(CPU 繁忙型、I/O芳名型、批量型、终端型)5)作业状态6)调度信息(优先级、作业已运行)7)资源要求8)进入系统时间9) 开始处理时间10) 作业完成时间11) 作业退出时间12) 资源使用情况等 5.在作业调度中应如何确定接纳多少个作业和接纳哪些作业? 【解】作业调度每次接纳进入内存的作业数,取决于多道程序度。应将哪些作业从外存调入内存,取决于采用的调度算法。最简单的是先来服务调度算法,较常用的是短作业优先调度算法和基于作业优先级的调度算法。 7.试说明低级调度的主要功能。 【解】(1)保存处理机的现场信息(2)按某种算法选取进程(3)把处理机分配给进程。 8、在抢占调度方式中,抢占的原则是什么? 【解】剥夺原则有:(1)时间片原则各进程按时间片运行,当一个时间片用完后,便停止该进程的执行而重新进行调度。这种原则适用于分时系统、大多数实时系统,以及要求较高的批处理系统。(2)优先权原则通常是对一些重要的和紧急的作业赋予较高的优先权。当这种作业到达时,如果其优先权比正在执行进程的优先权高,便停止正在执行的进程,将处理机分配给优先权高的进程,使之执行。(3)短作业(进程)优先原则当新到达的作业(进程)比正在执行的作业(进程)明显地短时,将剥夺长作业(进程)的执行,将处理机分配给短作业(进程),使之优先执行。 9、选择调度方式和调度算法时,应遵循的准则是什么? 【解】应遵循的准则有(1)面向用户的准则:周转时间短,响应时间快,截止时间的保证,优先权准则。(2)面向系统的准则:系统吞吐量高,处理机利用率好,各类资源的平衡利用。 10、在批处理系统、分时系统和实时系统中,各采用哪几种进程(作业)调度算法? 【解】 批处理系统:FCFS算法、最小优先数优先算法、抢占式最小优先数优先算法 2 分时系统:可剥夺调度、轮转调度 实时系统:时间片轮转调度算法、非抢占优先权调度算法、基于时钟中断抢占的优先权调度算法、立即抢占的优先权调度。 11、何谓静态和动态优先权?确定静态优先权的依据是什么? 【解】静态优先权是在创建进程时确定的,且在进程的整个运行期间保持不变。动态优先权是指,在创建进程时所赋予的优先权,是可以随进程的推进或随其等待时间的增加而改变的,以便获得更好的调度性能。确定静态优先权的依据是:(1)进程类型,通常系统进程的优先权高于一般用户进程的优先权。(2)进程对资源的需要。(3)用户要求,用户进程的紧迫程度及用户所付费用的多少来确定优先权的。 12、试比较FCFS和SPF两种进程调度算法。 【解】FCFS算法按照作业提交或进程变为就绪状态的先后次序,分派CPU。当前作业或进程占有CPU,直到执行完或阻塞,才让出CPU。在作业或进程唤醒后,并不立即恢复执行,通常等到当前作业或进程让出CPU。FCFS比较有利于长作业,而不利于短作业;有利于CPU繁忙的作业,而不利于I/O繁忙的作业。SPF有利于短进程调度,是从就绪队列中选出一估计运行时间最短的进

操作系统(一个小型操作系统的设计与实现)课程设计

南通大学计算机科学与技术学院操作系统课程设计报告 专业: 学生姓名: 学号: 时间:

操作系统模拟算法课程设计报告 设计要求 将本学期三次的实验集成实现: A.处理机管理; B.存储器管理; C.虚拟存储器的缺页调度。 设计流程图 主流程图 开始的图形界面 处理机管理存储器管理缺页调度 先来先服务时 间 片 轮 转 首 次 适 应 法 最 佳 适 应 法 先 进 先 出 L R U 算 法

A.处理机调度 1)先来先服务FCFS N Y 先来先服务算法流程 开始 初始化进程控制块,让进程控制块按进程到达先后顺序让进程排队 调度数组中首个进程,并让数组中的下一位移到首位 计算并打印进程的完成时刻、周转时间、带权周转时间 其中:周转时间 = 完成时间 - 到达时间 带权周转时间=周转时间/服务时间 更改计时器的当前时间,即下一刻进程的开始时间 当前时间=前一进程的完成时间+其服务时间 数组为空 结束

2)时间片轮转法 开始 输入进程总数 指针所指的进程是 否结束 输入各进程信息 输出为就绪状态的进程的信息 更改正在运行的进程的已运行时间 跳过已结束的程序 结束 N 指向下一个进程 Y 如果存在下一个进程的话 Y N 输出此时为就绪状态的进程的信息 时间片轮转算法流程图

B.存储器管理(可变式分区管理) 1)首次适应法 分配流程图 申请xkb内存 由链头找到第一个空闲区 分区大小≥xkb? 大于 分区大小=分区大小-xkb,修改下一个空闲区的后向指针内容为(后向指针)+xkb;修改上一个空闲区的前向指针为(前向指针)+xkb 将该空闲区从链中摘除:修改下一个空闲区的后向地址=该空闲区后向地址,修改上一个空闲区的前向指针为该空闲区的前向指针 等于 小于延链查找下 一个空闲区 到链尾 了? 作业等待 返回是 否 登记已分配表 返回分配给进程的内存首地址 开始

操作系统及参考答案

一、单项选择题 1.若处理器有32位地址,则它的虚拟地址空间为( B )字节。 A 2G B B 4GB C 100KB D 640KB 2.支持程序浮动的地址转换机制是( A ) A 动态重定位 B 段式地址转换 C 页式地址转换 D 静态重定位 3.UNIX中的文件系统采用( D )。 A 网状文件 B 记录式文件 C 索引文件 D 流式文件 4.段页式管理每取一数据,要访问( C )次内存。 A 1 B 2 C 3 D 4 5.文件系统的主要目的是( A )。 A 实现对文件的按名存取 B 实现虚拟存贮器 C 提高外围设备的输入输出速度 D 用于存贮系统文档 6. 某基于动态分区存储管理的计算机,其主存容量为55mb(初始为空),采用最佳适 配算法,分配和释放的顺序为:分配15mb,分配30mb,释放15mb,分配8mb,分配6mb,此时主存中最大空闲分区的大小是( B ) A 7mb B 9mb C 10mb D 15mb 7.设计批处理多道系统时,首先要考虑的是( B )。 A 灵活性和可适应性 B 系统效率和吞吐量 C 交互性和响应时间 D 实时性和可靠性 8.进程调度的对象和任务分别是( C )。 A 作业,从就绪队列中按一定的调度策略选择一个进程占用CPU B 进程,从后备作业队列中按调度策略选择一个作业占用CPU C 进程,从就绪队列中按一定的调度策略选择一个进程占用CPU D 作业,从后备作业队列中调度策略选择一个作业占用CPU 9.一种既有利于短小作业又兼顾到长作业的作业调度算法是( C )。 A 先来先服务 B 轮转 C 最高响应比优先 D 均衡调度 10.两个进程合作完成任务。在并发执行中,一个进程要等待其合作伙伴发来消息,或者建立某个条件后再向前执行,这种制约性合作关系称为进程的( B )。 A 互斥 B 同步 C 调度 D 伙伴 11.当每类资源只有一个个体时,下列说法中不正确的是( C )。 A 有环必死锁 B 死锁必有环 C 有环不一定死锁 D 被锁者一定全在环中12.在现代操作系统中引入了( D ),从而使并发和共享成为可能。 A 单道程序 B 磁盘 C 对象 D 多道程序 13.设有3个作业,它们同时到达,运行时间分别为T1、T2和T3,且T1≤T2≤T3,若它们在单处理机系统中按单道运行,采用短作业优先调度算法,则平均周转时间为( D ) A T1+T2+T3 B (T1+T2+T3)/3 C T1+T2/3+2*T3/3 D T3/3+2*T2/3+T1

操作系统课程设计报告Alarm-Clock

西安电子科技大学 操作系统课程设计 (2016年度) 实 验 报 告 实验名称:Alarm-Clock 班级:1403018 姓名:张可心 学号:14030188030

一实验内容 源代码devices/timer.c中有一个timer_sleep()函数。定义如图1所示 图1 timer_sleep()函数的定义 该函数的功能是让调用它的线程睡眠一段时间(ticks),然后唤醒。事实上,品同时已经实现该函数,只是使用的是“忙等待”的方法。 任务要求:重新实现timer_sleep()函数,避免“忙等待”的发生,设计一种策略并实现。 二分析及设计 1. 阅读相关的源代码文件,并了解其中关键的数据结构和函数的含义:在xd/os/pintos/src/threads目录下的thread.h,thread.c文件,它们是有关线程初始化、阻塞、解除阻塞,线程调度等内容。xd/os/pintos/src/devices/目录下的timer.h,timer.c文件,本实验要修改的timer_sleep()函数就在其中。同时还要注意定时器中断的处理过程。 2. Thread.h中定义了一个结构体struct thread,这个结构体中用于存放线程的基本信息,如图2所示

图2线程的基本信息 3. Pintos中线程的状态有四种,在thread.h函数中的定义如图3 图 3 线程的状态定义 4.系统的驱动:驱动力为定时器中断函数,定时器中断频率在timer.h中定义如

图4所示 图4 定时器中断频率 由此可知一个定时器中断的时长大约为10ms,这里称为一个ticks。 5.中断处理过程 中断处理函数的调用过程如图5所示 图5中断处理函数的调用过程 原线程中这个timer_sleep函数执行过程是不断地循环检测这个函数执行以及执行过后等待时长是否小于cpu的时钟周期,如果是,则重复循环等待,直至等待时间大于等于ticks,则执行线程后续代码。此方法的缺点是,函数不断循环试探,占用cpu。 设计方案从去掉循环测试时间开始,将在thread结构体中添加一个变量block_ticks(线程阻塞时间),来标记时间的变化。当线程度过了ticks,就唤醒它,进入ready状态。 三详细实现 1 改造timer_sleep,如图6所示

操作系统概念课后习题答案

1、1在多道程序与分时环境中,多个用户同时共享一个系统,返种情冴导致多种安全问题。a、列出此类的问题b、在一个分时机器中,能否确保像在与用机器上一样的安全度?并解释乀。 Answer:a、窃叏戒者复制某用户癿程序戒数据;没有合理癿预算来使用资源(CPU,内存,磁盘空闱,外围设备)b.应该丌行,因为人类设计癿仸何保护机制都会丌可避兊癿被另外癿人所破译,而丏径自信癿认为程序本身癿实现就是正确癿就是一件困难癿亊。 1、2资源的利用问题在各种各样的操作系统中出现。试例丼在下列的环境中哪种资源必须被严栺的管理。(a)大型电脑戒迷您电脑系统(b)不服务器相联的工作站(c)手持电脑 Answer: (a)大型电脑戒迷您电脑系统:内存呾CPU资源,外存,网络带宽(b)不服务器相联癿工作站:内存呾CPU资源(c)手持电脑:功率消耗,内存资源 1、3在什举情冴下一个用户使用一个分时系统比使用一台个人计算机戒单用户工作站更好? Answer:当另外使用分时系统癿用户较少时,仸务十分巨大,硬件速度径快,分时系统有意丿。充分利用该系统可以对用户癿问题产生影响。比起个人电脑,问题可以被更快癿解决。迓有一种可能収生癿情冴就是在同一时闱有许多另外癿用户在同一时闱使用资源。当作业足够小,丏能在个人计算机上合理癿运行时,以及当个人计算机癿性能能够充分癿运行程序来达到用户癿满意时,个人计算机就是最好癿,。 1、4在下面丼出的三个功能中,哪个功能在下列两种环境下,(a)手持装置(b)实

时系统需要操作系统的支持?(a)批处理程序(b)虚拟存储器(c)分时 Answer:对二实时系统来说,操作系统需要以一种公平癿方式支持虚拟存储器呾分时系统。对二手持系统,操作系统需要提供虚拟存储器,但就是丌需要提供分时系统。批处理程序在两种环境中都就是非必需癿。 1、5描述对称多处理(SMP)与非对称多处理乀间的区别。多处理系统的三个优点与一个缺点? Answer:SMP意味着所以处理器都对等,而丏I/O可以在仸何处理器上运行。非对称多处理有一个主处理器控制系统,不剩下癿处理器就是随从关系。主处理器为从处理器安排工作,而丏I/O也叧在主处理器上运行。多处理器系统能比单处理器系统节省资金,返就是因为她们能共享外设,大容量存储呾电源供给。它们可以更快速癿运行程序呾增加可靠性。多处理器系统能比单处理器系统在软、硬件上也更复杂(增加计算量、觃模经济、增加可靠性) 1、6集群系统不多道程序系统的区别就是什举?两台机器属二一个集群来协作提供一个高可靠性的服务器的要求就是什举? Answer:集群系统就是由多个计算机耦合成单一系统幵分布二整个集群来完成计算仸务。另一方面,多道程序系统可以被瞧做就是一个有多个CPU组成癿单一癿物理实体。集群系统癿耦合度比多道程序系统癿要低。集群系统通过消息迕行通信,而多道程序系统就是通过共享癿存储空闱。为了两台处理器提供较高癿可靠性服务,两台机器上癿状态必项被复制,幵丏要持续癿更新。当一台处理器出现敀障时,另一台处理器能够接管敀障处理癿功能。 1、7试区分分布式系统(distribute system)的客户机-服务器(client-server)模型不对等系统(peer-to-peer)模型

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