计算机操作系统实验报告10130.pdfVIP

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

计算机操作系统实验报告

实验一

一、实验目的

在单处理器环境下,实现互斥和同步的控制。

熟悉并掌握常用Windows命令行。

更进一步理解PV操作的并发控制的实现。

二、Windows命令行常用命令

dir是英文单词directory(目录)的缩写,主要用来显示一个目录下的文件和子目录。

md是英文makedirectory(创建目录)的缩写。功能:创建一个子目录

cd是英文changedirectory(改变目录)的缩写,功能:改变目录

rd是英文removedirectory(删除目录)的缩写,功能;:删除目录

copy功能:复制一个或一组文件至指定的目录中

del是英文delete(删除)的缩写,功能:删除指定目录下一个或一组文档

edit功能:edit是一个简单的编辑软件,可用于编辑程序或批处理文件。

bacc功能:编译指定的文件(如baccdd)

bainterp功能:运行指定文件(如:bainterpdd)

三、并发程序设计

题目:在BACI环境下,对程序并发执行的实验:

(1)没有控制时正确的程序执行的结果不正确;

(2)BACI中PV操作的并发控制的实现。

实验1、多进程共享内存堆栈

(1)设计思路:

(2)代码:

1

intstack[10];semaphores=1;inttop=4;

voidrelease(intfree)

{

p(s);

top++;

stack[top]=free;

v(s);

}

main()

{

inti;

for(i=0;i10;i++)stack[i]=-1;

stack[0]=0;

stack[1]=156;

stack[2]=254;

stack[3]=129;

stack[4]=23;

cobegin{getspace();release(100);}

for(;top=0;top--)

}

实验2、同步关系_奇数偶数

假定有三个进程R、W1、W2共享一个缓冲区B,而B每次只能存放一个整数。当缓冲区中无数时,进程

R可以从输入设备上读入一个整数并存入B中;若存到B中的数是奇数,则允许进程W1将其取出打印;

若是偶数,则允许进程W2将其取出打印。另外规定:进程R必须等B中的数被取出打印后才能再存放下

一个数,进程W1或W2对每次存入的数只能打印一次并且都不能从空的缓冲区中取数。请用PV操作实

现R、W1和W2三个进程的并发执行。

代码:

2

Intbuf;voidw2()

semaphores1=1;s2=0;s3=0;{p(s3);p(s3);

voidr()

{p(s1);p(s1);v(s1);}

endl;main(){

cinbuf;cobegin{

if(buf%2)v(s2);r();

elsev(s3);}r();

voidw1()w1();

{p(s2);p(s2);

文档评论(0)

188****9648 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档