操作系统作业.docx

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

答:

答:

第一次作业

书上的作业

1.1操作系统的两个主要目标是什么?答:

为计算机用户提供一个环境让用户可以方便地在计算机硬件上执行程序

以公平有效的方式分配计算机的资源用于解决特定的问题

1.3多道程序设计的主要优点是什么?答:

通过把各种不同的用户提出的对CPU和I/O设备的请求相互交替执行而更高效地使用CPU。它通过不断让CPU工作而提高CPU的利用率。

监督程序模式和用户模式之间的区别?答:

通过只能在系统模式(或者称为监督程序模式)下执行特权指令可以保证操作系统时刻控制整个计算机系统,并保证关键数据的安全。

陷入与中断之间的区别?答:

中断是一个系统中由硬件产生的用于改变执行流程的信号。一个中断控制程序来处理中断,执行完成后返回被中断的程序指令。

陷阱是一个软件产生的中断。例如可以用陷阱提示I/O操作的完成,或者调用操作系统的系统调用,或者捕获算术运算错误。

2.5下面哪些指令是特权指令?a)设置定时器的值;b)读时钟;c)清除存;d)关闭中断;e)从用户模式切换到监督程序模式。

a,c,d,e是特权指令

补充作业

1.把下面的应用程序分为交互性和批处理两类:字处理、按月生成银行报表、计算圆周率到百万分位、飞行模拟器

答:交互性:字处理、飞行模拟器

批处理:按月生成银行报表、计算圆周率到百万分位2.写出操作系统的五大功能。

答:进程管理、存管理、文件管理、设备管理、与用户之间的接口。

第二次作业

书上的作业

4.2论述短期、中期、长期调度之间的区别

答:短期调度—从就绪队列中选择进程执行并把CPU分配给它。

中期调度—主要在分时系统中使用。将存中的作业换出到外存中等到存允许的情况下再换入到存中执行。

长期调度—确定把哪个作业放到存中执行。

它们之间的主要区别是执行的频率不同。短期调度执行频率高而长期调度执行频率低。

4.4两个进程进行上下文切换的操作3.2

答:通常,操作系统必须保存当前运行进程的状态并恢复下一个要调度的进程的状态。保存一个进程的状态通常包括CPU所有寄存器的值和存的分配情况。

5.3用户级线程和核级线程之间的区别?相互对比的优势在哪里?

(1)核不知道用户级线程的存在,但核知道核级线程的存在(2)核调度核级线程,而用户级线程则由线程库调度

在要体现系统灵活性的时候使用用户级线程好,因为用户级线程可以自己设计自己的调度。核级线程则被核知道,所以可以保证一个线程阻塞时可以调度一个进程的另一个线程,减少系统开销。

补充作业

假设有一个进程,它的工作流程是先运行150ms,然后进行I/O,最后执行250ms结束。如果系统中的进程有三个状态,当时间片为200ms时,请写出进程A从被系统接纳到运行结束所经历的状态转换并说明原因。

答:被系统接纳之后:就绪-运行(原因:被调度执行)、运行-阻塞(原因:执行I/O操作)、阻塞-就绪(原因:I/O操作完成)、就绪-运行(原因:被调度执行)、运行-就绪(原因:时间片到)、就绪-运行(原因:被调度执行)、结束。

答:输出“value=

答:输出“value=5”。

图中程序运行完共有多少进程?

答:一共有

答:一共有8个进程。

第三次作业

7.1什么是忙等待?

答:所谓忙等待是不断测试等待一个条件满足。

7.9吸烟者问题:有3个吸烟者和一个供应者。第一个吸烟者有自己的烟草;第二个吸烟者有自己的纸;第三个吸烟者有自己的火柴。供应者每次随机放两样东西到桌子上提供给3个吸烟者之中的一个以完成吸烟。请用信号量为吸烟者和供应者进程编写程序。

semaphorea[2]={0};semaphoreagent=1;provider()

{

while(true)

{

setitovaluebetween0and2;wait(agent);

//puttwoitemsontableaccordingtoisignal(a[i]);

}

}

Smoker(inti)

{

while(true)

{

wait(a[i]);smoke;signal(agent);

}

}

补充作业

假设有三个进程R、W1、W2共享缓冲区B。B中只能存放一个数。R每次从输入设备中读一个整数放入B中。如果这个整数是奇数,由W1取出打印。如果这个整数是偶数,则由W2取出打印。规定仅当B中没有数据或数据已经被打印才会启动R去读数。W1、W2对B中的数据不能重复打印,当B中没有数据时也不能打印。要求用信号量操作写出R、W1、W2三个进程的程序。(请详细描述所使用变量的含义)

semaphoreS0=1(表示缓冲区中可以存放的数据数目)s

文档评论(0)

hao187 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档