实验一 进程管理(1).doc

实验一 进程管理(1).doc

ID:58152936

大小:202.00 KB

页数:8页

时间:2020-04-11

实验一 进程管理(1).doc_第1页
实验一 进程管理(1).doc_第2页
实验一 进程管理(1).doc_第3页
实验一 进程管理(1).doc_第4页
实验一 进程管理(1).doc_第5页
资源描述:

《实验一 进程管理(1).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、操作系统原理实验班级:学号:姓名:成绩:实验一进程管理一、实验目的l加深对进程概念的理解,明确进程和程序的区别。l进一步认识并发执行的实质。l分析进程争用资源的现象,学习解决进程互斥的方法。二、实验内容1进程创建编写一段程序,利用系统调用fork()创建两个进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示字符“a”;子进程分别显示字符“b”和字符“c”。操作系统原理实验2进程控制修改已经编好的程序,将每个进程输出一个字符改为每个进程输出一句话,在观察程序执行时

2、屏幕上出现的现象,并分析原因。如果在程序中使用系统调用lockf()来给每一个进程加锁,可以实现进程之间的互斥,观察并分析出现的现象。操作系统原理实验3参考程序#includeMain(){操作系统原理实验Intp1,p2;While((p1=fork())==-1);If(p1==0)Putchar(‘b’);Else{While((p2=fork()==-1);If(p2==0)Putchar(‘c’);ElsePutchar(‘a’);}}分析:从进程并发执行来看,输出bac,acb或bca

3、都有可能。原因:fork()创建进程所需要的时间要多于输出一个字符的时间,因此在主进程创建进程2的同时,进程1就输出了”b”,而进程2和主程序的输出次序是有随机性的,所以会出现多种可能结果。进程控制源程序:#includeMain(){intp1,p2;while((p1=fork()==-1);if(p1==0)for(i=0;i<50;i++)printf(“child%d”,i);else{while((p2=fork()==-1);if(p2==0)for(i=0;i<50;i++)p

4、rintf(“son%d”,i);elsefor(i=0;i<50;i++)printf(“daughter%d”,i);}}运行结果: Child…Son…Daughter…或child…son…child操作系统原理实验…son…daughter等分析:由于函数printf()输出的字符串之间不会被中断,因此,字符串内部的字符顺序输出时不变。但是,由于进程并发执行时的调度顺序和父子进程的抢占处理机问题,处处字符串的顺序和先后随着执行的不同而发生变化。参考程序3:#include#inc

5、ludeMain(){Intp1,p2,I;While((p1=fork()==-1);If(p1==0){Lockf(1,1,0);For(i=0;i<50;i++)Printf(“child%d”,i);Lockf(1,0,0);}Else{While((p2=fork()==-1);If(p2==0){Lockf(1,1,0);For(i=0;i<50;i++)Printf(‘son%d”,i);Lockf(1,0,0);}Else{Lockf(1,1,0);For(i=0;i<5

6、0;i++)Printf(“daughter%d”,i);Lockf(1,0,0);}}}背景知识操作系统原理实验1、fork()创建一个新进程intfork()其中返回int取值意义如下:0:创建子进程,从子进程返回的id值大于0:从父进程返回的子进程id值-1:创建失败2、lockf(files,function,size):用作锁定文件的某些段或者整个文件,本函数适用的头文件为:#include参数定义:intlockf(files,function,size)intfiles,fun

7、ction;longsize;其中:files是文件描述符:function是锁定和解锁;1表示锁定,0表示解锁。size是锁定和解锁的字节数,若用0,表示从文件的当前位置到文件尾。操作系统原理实验《操作系统原理》实验报告专业计算机科学与技术班级学号姓名指导教师陈珂完成时间成绩操作系统原理实验报告要求一.   封面—指定样稿 二.   纸张—统一用A4纸打印标题:字体—黑体;大小—小三~小四正文内容:字体—宋体;大小—小四左右页边距:2厘米,有页码 三.撰写内容 1、实验目的2、实验内容与要求3、实验步骤4、程序清

8、单:注意加注释(包含关键字、方法、变量等),在每个模块前加注释5、测试结果(运行结果、结果分析)6、总结(实验效果分析、心得体会,遗留问题)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。