2.进程的创建

操作系统需要一种方式来创建进程。一些非常简单的系统,即那种只为运行一个应用程序设计的系统(例如,微波炉中的控制器),可能在系统启动之时,以后所需的所有进程都已存在。然而,在通用系统中,需要有某种方法在运行时按需要创建撤销进程,现在开始考察这个问题。4种主要事件会导致进程的创建:

  • 系统初始化。
  • 正在运行的程序执行了创建进程的系统调用。
  • 用户请求创建一个进程。
  • 一个批处理作业的初始化。

系统初始化

启动操作系统时,通常会创建若干个进程。其中有些是前台进程,也就是同用户(人类)交互并且替他们完成工作的那些进程。其他的是后台进程,这些进程与特定的用户没有关系,相反,却具有某些专门的功能。例如,设计一个后台进程来接收发来的电子邮件,这个进程在一天的大部分时间都在睡眠,但是当电子邮件到达时就突然被唤醒了。也可以设计另一个后台进程来接收对该机器中Web页面的访问请求,在请求到达时唤醒该进程以便服务该请求。停留在后台处理诸如电子邮件,Web页面,新闻,打印之类活动的进程称为守护进程(daemon)。在大型系统中通常有很多守护进程。在UNIX中,可以用PS程序列出正在运行的进程;在Windows中,可使用任务管理器。

正在运行的程序执行了创建进程的系统调用

除了在启动阶段创建进程之外,新的进程也可以以后创建。一个正在运行的进程经常发出系统调用,以便创建一个或多个新进程协助其工作。在所要从事的工作可以容易地划分成若干相关的但没有相互作用的进程时,创建新的进程就特别有效果。例如,如果有大量的数据要通过网络调取并进行顺序处理,那么创建一个进程取数据,并把数据放入共享缓冲区中,而让第二个进程取走数据项并处理之,应该比较容易。在多处理机中,让每个进程在不同的CPU上运行会使整个作业运行得更快。

你可能感兴趣的:(2.进程的创建)