操作系统原理,作业

操作系统原理,作业

ID:13187425

大小:50.50 KB

页数:6页

时间:2018-07-21

操作系统原理,作业_第1页
操作系统原理,作业_第2页
操作系统原理,作业_第3页
操作系统原理,作业_第4页
操作系统原理,作业_第5页
资源描述:

《操作系统原理,作业》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第3章作业3.2试比较进程和程序的区别。答:(1)进程是一个动态概念,而程序则是一个静态概念。程序是指令的有序集合,没有任何执行的含义。而进程则强调执行过程,它动态地被创建,并被调度执行后消亡;(2)进程具有并发特征,而程序没有;(3)进程是竞争计算机系统资源的基本单位,从而其并发性受到系统自己的制约。这里制约就是对进程独立性和异步性;(4)不同的进程可以包含同一程序,只要该程序所对应的数据集不同。3.3我们说程序的并发执行将导致最终结果失去封闭性。这话对所有的程序都成立吗?试距离说明。答:并非对所有的程序都成立。如:Beginlocalx;x=10;print(x);End上述程序中x是

2、内部变量,不可能被外部程序访问,因此这段程序的运行不会手外部环境影响。3.7并发进程间的制约有哪2种?引起制约的原因是什么?答:并发进程间的制约有两种:直接制约和间接制约。直接制约是由并发进程互相共享对方的私有资源所引起的。间接制约是由竞争公有资源引起的。3.8什么是进程间的互斥?什么是进程间的同步?答:进程间的互斥是指:一组并发进程中的一个或多个程序段,因共享某一共有资源而导致它们必须以一个不许交叉执行的单位执行,集不允许两个以上的共享该资源的并发进程同时进入临界区。进程间的同步是指:异步环境下的一组并发进程阴直接制约互相发送消息二进行合作、互相等待,是个进程按一定的速度执行的过程。3.

3、13编写一个程序使用系统调用fork生成三个子进程,并使用系统调用pipe创建一管道,使得这3个子进程和父进程公用同一条管道进行信息通信。答:main(){ intr,i,P1,P2,fd[2]; charbuf[50],s[50]; pipe(fd); while((P1=fork())==-1); if(P1==0) {  lockf(fd[1],1,0);  sprintf(buf,"childprocessP1issendingmessages!");  printf("childprocessP1!");  write(fd[1],buf,50);  sleep(5); 

4、 lockf(fd[1],0,0);  exit(0); } else {  while((P2=fork())==-1);  if(P2==0)   {     lockf(fd[1],1,0);     sprintf(buf,"childprocessP2issendingmessages!");     printf("childprocessP2!");     write(fd[1],buf,50);     sleep(5);     lockf(fd[1],0,0);     exit(0);   }else {  while((P3=fork())==-1);  

5、if(P3==0)   {     lockf(fd[1],1,0);     sprintf(buf,"childprocessP3issendingmessages!");     printf("childprocessP3!");     write(fd[1],buf,50);     sleep(5);     lockf(fd[1],0,0);     exit(0);}wait(0);  if(r=read(fd[0],s,50)==-1)     printf("can'treadpipe");  else printf("%s",s);  wait(0)

6、;  if(r=read(fd[0],s,50)==-1)     printf("can'treadpipe");  else printf("%s",s);wait(0);  if(r=read(fd[0],s,50)==-1)     printf("can'treadpipe");  else printf("%s",s);exit(0);   } }}3.14设有5个哲学家,共享一张放有五把椅子的桌子,每人分得一把椅子。但是桌子上总共只有5支筷子,在每人两边分开各放一支。哲学家们在肚子饥饿时才试图分两次从两边拾起筷子就餐。条件:(1)只有拿到两只筷子时,哲学家才能

7、吃饭;(2)如果筷子已在他人手上,则该哲学家必须等待到他人吃完之后才能拿到筷子;(3)任一哲学家在自己未拿到两只筷子吃饭之前,绝不放下自己手中的筷子。试:(1)描述一个保证不会出现两个邻座同时要求吃饭的通信算法。(2)描述一个既没有两邻座同时吃饭,又没有人饿死(永远拿不到筷子)的算法。(3)在什么情况下,5个哲学家全部吃不上饭。答:(1)设信号量c[0]~c[4],初始值均为1,分别表示I号筷子被拿(I=0,1,2,3,

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

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

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