操作系统实验一(陈珂)解读.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《操作系统原理》实验报告 专 业 网络工程 班 级 14-2 学 号 14034460220 姓 名 林浩强 指导教师 陈 珂 完成时间 2016.11.21 成 绩 实验一 进程管理 一、实验目的 ? 加深对进程概念的理解,明确进程和程序的区别。 ? 进一步认识并发执行的实质。 ? 分析进程争用资源的现象,学习解决进程互斥的方法。 二、实验内容 1、进程创建 编写一段程序,利用系统调用fork( )创建两个进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示字符“a”;子进程分别显示字符“b”和字符“c”。 2、进程控制 修改已经编好的程序,将每个进程输出一个字符改为每个进程输出一句话,在观察程序执行时屏幕上出现的现象,并分析原因。 如果在程序中使用系统调用lockf()来给每一个进程加锁,可以实现进程之间的互斥,观察并分析出现的现象。 三、实验步骤 1.1、在VMware运行Linux(Ubuntu 16.4),并打开Terminal 1.2、新建main.c文件,并使用C语言进行编程,实现“实验1:进程创建” 1.3、编译文件“main.c” 1.4、执行“main.c”并观察输出结果,并根据结果体会理解进程的创建原理 2.1、新建main.c文件,并使用C语言进行编程,实现“实验2:进程控制” 2.2、编译文件“main.c” 2.3、执行“main.c”并观察输出结果,并根据结果体会理解进程的控制原理 四、程序清单:注意加注释(包含关键字、方法、变量等),在每个模块前加注释 实验一:进程创建 #include stdio.h #include unistd.h void main() { int p1,p2,i; while((p1=fork())==-1); if (p1==0) for(i=0;i10;i++) { putchar(b); } else { while ((p2=fork()==-1); if (p2==0) { for(i=0;i10;i++) { putchar(c); } } else { for(i=0;i10;i++) { putchar(a); } } } } 实验二:进程控制 #include stdio.h #include unistd.h void main() { int p1,p2,i; while((p1=fork())==-1); if(p1==0) { lockf(1,1,0); for(i=0;i10;i++) { printf(child%d\n,i); } lockf(1,0,0); } else { while((p2=fork())==-1); if(p2==0) { lockf(1,1,0); for(i=0;i10;i++) { printf(son%d

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档