当前位置:  技术问答>linux和unix

求救,要多少分就有多少分

    来源: 互联网  发布时间:2015-03-20

    本文导语:  学校搞实验老师教我们做这个我不会请大侠帮我, 设计(1):进程的创建     请通过自己设计的实验得出:以下程序最多产生了多少个进程?画出进程家族树。若该进程是第i个fork( )调用产生的,则树中该结点的...

学校搞实验老师教我们做这个我不会请大侠帮我,
设计(1):进程的创建    
请通过自己设计的实验得出:以下程序最多产生了多少个进程?画出进程家族树。若该进程是第i个fork( )调用产生的,则树中该结点的编号请用i标识  。

程序:   main( )
                   { fork(); fork() ; fork( ); }


 设计(2):进程的竞争   
编制一段程序,使用fork( )创建一个子进程,这样,在系统中就有一个父进程和一个子进程在活动。让每一进程在屏幕上显示一句话。

试观察、记录程序执行时屏幕上出现的现象,并分析出现该现象的原因。
设计(3):进程的同步  
在Linux环境下用进程控制系统调用实现进程的创建、同步与终止。

按右图实现6个进程的同步。                p1
                              -----------------------
                              |        |            |
                             p2       p3            p4
                              ---------             |
                                 |                  |
                                  ------------------
                                           |
                                           p5

             


|
1.8个进程:
               p1
    -----------------------------
    |           |                |
   p3(2)        p6(3)            p2(1)
    |                            ---------
    |                            |        |
   p5(3)                         p7(3)    p4(2)
                                          |
                                          p8(3)

|
2.
int main() {
  if (fork()==0)
    printf("childn");
  else
    printf("parentn");
}
编译运行后发现:
每次都是先显示parent然后显示child.
说明:调用fork()时,系统kernel要创建子进程空间,然后还要将代码复制到子进程空间,这些工作都需要时间,所以先显示parent,然后显示child.
注:我个人认为,老师不是要这个答案(因为他说有进程竞争).有可能你的题目太模糊.
按照你的已知条件:
编制一段程序,使用fork( )创建一个子进程,这样,在系统中就有一个父进程和一个子进程在活动。让每一进程在屏幕上显示一句话。
可以写出多种程序,下面是另一种:
int main() {
  if (fork()==0) {
    printf("childn");
  } else {
    sleep(5);
    printf("parentn");
  }
}

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 求救!求救!紧急求救!为什么更新不了所指定的内容?
  • 求救!!!硬件高请进、、、、、、(十万火急,高分求救。)
  • 求救求救!!
  • 求救啊 高分求救 UNIX下关于进程通讯的问题~
  • 求救!!!求救!!!机器不能正常启动
  • 关于jdbc,求救求救!在线等待,马上给分
  • 紧急求救,root用户无权限删除文件
  • 晕,特晕...求救...
  • 高分求救~~如何取得linux下进程完整命令行字符串,就是的ps -ef 完整的全路径的CMD那一列,求救!!!!附现在的代码
  • 求救!weblogic6.0后台运行正确,前台页面跳转或调用其他页面时出“页面无法显示错误”
  • 求救:java里如何取整一个浮点数(不做四舍五入)
  • 紧急求救!!
  • Linux下无法启动apache 高分求救!在线等待
  • 紧急求救 我用freebsd通过smbfs连接win2000的一些问题 (分不够可加)
  • 紧急求救 我用freebsd通过smbfs连接win2000的一些问题
  • 求救,linux和windows之间如何联成局域网(设置),并且相互之间移动文件。
  • 求救!!在Redhat7.3下安装scim0.9.3怎么安装?
  • Linux8.0 修改字符集后,再次进系统,无图形界面问题。。。求救。。
  • SUSE网络打印机问题,在线等,求救!!
  • 散分一百,紧急求救!ROOT密码忘记


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    操作系统 iis7站长之家