• 进程管理(一)-进程的概念以及进程的创建


    进程

    什么是进程?

    程序一旦跑起来就是一个进程,进程是一个可以运行的实例。

    每个进程都拥有一个自己的虚拟CPU,但是实际上只有一个CPU,其只是在各个进程之间快速的切换,这种快速切换就叫做多道程序设计

    进程和程序有什么区别?

    例子:一个计算机科学家给女儿做蛋糕,他有做蛋糕用的食谱,厨房中有大量的原料,比如香草、鸡蛋、面粉、糖等等。其中食谱就是程序,它就是一种方法。计算机科学家就是CPU,做蛋糕的原料就是数据。

    进程就是厨师阅读食谱,并取来各种原料再到烘焙蛋糕等一系列动作的总和。
    进程就是cpu获取数据,按照程序执行等一系列过程的总和,它是动态的。程序是静态的,它是类似一种方法说明书的东西。

    进程的中断:现在计算机科学家的儿子跑进来说被蜜蜂蜇了(更高优先级的事情发生了),计算机科学家会先记录现在蛋糕做到哪里了(保存进程当前的状态),转而去处理儿子的伤势,当处理完儿子的伤势之后,再返回来继续做蛋糕,按照之前保存的状态继续做蛋糕

    注意的是一段程序执行了两次的话算两个进程

    创建进程

    创建进程的原因

    导致进程被创建的四种原因:

    1.系统初始化

    启动操作系统的时候会创建多个进程,其中有的是前台的进程,除此之外就是后台的进程,这种进程被称为守护进程,其大部分的时间都在休眠,只有在发生特定的事件的时候才被调用。比如等待接收邮件的程序。

    2.正在运行的进程所调用的进程创建系统调用

    已经启动的进程,可以调用系统调用,来创建一个进程来帮助它更好的干活。比如有这么一个网络应用程序,它要和大量数据打交道,那么创建一个进程来帮他把数据放到指定区域,而再让另外一个进程取走并处理,这样会更好,因为有人帮忙总比没有人帮忙好。

    3.用户请求创建一个新的进程

    用户在cmd窗口敲入一个命令,或者用户双击图标,都可以启动一个程序,于此同时会启动一个进程。

    4.一个批处理作业初始化

    这种情况主要在大型机的批处理系统中的应用,用户朝系统提交批处理作业,操作系统认为现在的资源足够可以创建一个进程的时候,它就会创建一个进程。

    UNIX和Windows创建进程

    UNIX创建进程

    unix系统中只有一个系统调用可以用来创建新的进程,就是fork命令。

    Windows创建进程

    一个win32函数调用CreateProcess不但处理进程的创建,也负责把正确的程序装入新的进程。

    父进程和子进程的空间

    进程创建之后,父进程和子进程是有不同的地址空间的,如果某个进程在地址空间修改了一个字,那么其对其子进程来说是不可见的。

  • 相关阅读:
    Windows下输入法全角符,半角符的切换
    hdu 2546 饭卡
    hdu 1712 ACboy needs your help
    hdu 3033 I love sneakers!
    hdu 1171 Big Event in HDU
    hdu 1114 Piggy-Bank
    HDU 1058 Humble Numbers
    hdu 1297
    hdu 2050
    hdu 2563
  • 原文地址:https://www.cnblogs.com/mengxiaoleng/p/11604828.html
Copyright © 2020-2023  润新知