进程和线程

进程是对正在运行的程序的一个抽象;顺序进程(简称,进程)。

进程

进程模型

       一个进程就是一个正在执行的程序的实例,包括程序计数器,寄存器和变量的当前值;

      假设只有一个CPU,那么就只有一个物理程序计数器,每个进程被执行时,进程的程序计数器被装入物理程序计数器,执行结束(或暂停)时,物理程序计数器被保存在该进程的程序计数器中(在内存中);

创建进程

      有4种情况下,会去创建进程:

      1.系统初始化:创建2类进程,前台进程和后台进程。后台进程中,有一类进程平时处于睡眠状态,受到通知时,就被唤醒,这种进程被称为守护进程。

      2.正在执行的进程通过系统调用去创建进程;

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

      4.一个批处理作业的初始化:这种情况只出现在大型机的批处理系统中,用户提交批处理左右,机器创建去进程去运行它;

      其实,上面的所有的情况都可以认为是,一个父进程执行系统调用创建一个子进程;

      无论是UNIX还是Windows,进程创建后,父进程和子进程拥有自己的地址空间,如果其中一个进程在其地址空间修改了一个字,这个修改对其他进程是不可见的;

      在UNIX中,子进程的初始地址空间是父进程的一个副本(但他们是两个地址空间),对于这两个进程,不可写的内存区是共享的(某些UNIX的实现使程序正文在两者之间共享,因为它不能被修改);

      但是,对于一个新创建的进程而言,确实有可能共享其创建者的其他资源;

      在Windows上,父进程和子进程的地址空间一开始就是不同的;

进程的终止

进程终止有4种情况:

       1.正常自愿退出;

       2.出错自愿退出;

       3.严重错误(非自愿);

       4.被其他进程杀死(非自愿);

进程的状态


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值