操作系统

页面置换算法:

  最佳置换算法

  先进先出算法

  最近最久未使用算法

  时钟算法

进程调度算法:

  先来先服务

  短作业优先

  最高响应比

  时间片轮转

进程间的通信方式:

  信号

  管道

  消息队列

  共享内存

  套接字

孤儿进程,僵尸进程:

  孤儿进程:父进程在它的子进程结束之前就退出了,那么这些子进程就成为孤儿进程。孤儿进程会被init(pid=1)进程所收养,回收这些孤儿进程。 
  僵尸进程:父进程创建了子进程,若子进程退出,但是父进程并没有调用wait()或者waitpid()获取子进程的状态,那么子进程的进程描述符就仍然保存在系统中。这些进程称为僵尸进程。

孤儿进程

     父进程在子进程结束之前死亡(return或者exit)

     在一定时间内,当系统发现孤儿进程时,init进程就收养孤儿进程,成为它的father,child进程exit后资源回收都又init进程完成。

僵死进程

     子进程在父进程之前结束了,但是父进程没有用wait或waitpid回收子进程【子进程在父进程之前结束,但父进程没有回收子进程的pid,造成资源浪费

  僵尸进程的危害:

  若一个进程产生子进程后不调用wait()或waitpid()的话,那么子进程退出后的进程描述符不会释放,进程号也就一直被占用,但是系统使用的进程号是有限的,如果大量产生僵尸进程,就有可能导致系统没有可用的进程号了而不能产生新进程,这就是僵尸进程的危害。

最后,fork与vfork的区别:

  1. fork要拷贝父进程的数据段;而vfork则不需要完全拷贝父进程的数据段,在子进程没有调用exec和exit之前,子进程与父进程共享数据段


  2. fork不对父子进程的执行次序进行任何限制;而在vfork调用中,子进程先运行,父进程挂起,直到子进程调用了exec或exit之后,父子进程的执行次序才不再有限制

参考:http://blog.csdn.net/qq_23948283/article/details/52627864

原文地址:https://www.cnblogs.com/shunyu/p/8532722.html