1 探讨一下进程的创建与终止-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

探讨一下进程的创建与终止

冬至配饺子 来源:廣廣的随笔 作者:廣廣的随笔 2022-08-17 17:59 次阅读

进程的创建

在启动进程时(好像会创建一个空转进程),通常会创建若干进程,其中包括前台进程(负责与用户交互)和后台进程(与特定用户没有关系,完成专门的功能,比如电子邮件接收等)。

当然,除了上述创建进程的过程外,一个进程还可以由另外一个进程创建。在交互式系统中,用户可以点击图标创建进程。而在批处理系统中,用户提交批处理作业,OS认为有资源可以运行时,会创建一个进程。

在UNIX系统中,只有一个系统调用可以用来创建新进程:fork。两个进程关系为父子关系,子进程和父进程拥有东西几乎一样但都拥有自己独立的地址空间,进程ID不一样。

可写的内存是不可以共享的,但是,对于一个新创建的进程而言,确实又可能共享其创建者的其它资源,如打开的文件等。在windows中从一开始父进程的地址空间和子进程的地址就是不同的,unix好像不是吧。

进程的终止

分为以下四种情况:

正常退出(自愿)

出错退出(自愿)

严重错误(非自愿)

被其他进程杀死(非自愿 kill)

多数情况下,进程都是自动完成任务后退出的,UNIX返回exit(0)。第二种情况,若是进程执行时遇到非法指令会通知操作系统,想要自行解决,正常终止。第三种情况是进程遇到严重错误,例如在编译时出错。第四种就不解释了。

进程的层次结构

进程只有一个父进程,但可以有多个子进程。,在UNIX中,这将会是一个进程组,,当用户从键盘发出一个信号时,该进程组中的所有成员都可以分别捕捉,忽略该信号或者被该信号杀死。,相反windows系统中没有该概念,所有进程地位相同,可能会有类似的作用是当一个进程拥有令牌时可以控制其它进程,但是该令牌可以送给其它进程,这样就不存在进程层次了。

进程的状态

pYYBAGL8u66ALORaAAB1Pcp5ly0658.png

进程的实现

OS维护着一张进程表,每个进程都占用一个表项(包括程序计数器,堆栈指针,内存分配状况,所打开文件状态,账号,调度信息,以及状态转换时必须要保存的寄存器信息等),进程切换时,就会发生压栈操作,即用户态转向内核态,数据压入内核空间。


审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 计数器
    +关注

    关注

    32

    文章

    2256

    浏览量

    94476
  • Unix系统
    +关注

    关注

    0

    文章

    15

    浏览量

    9642
  • 堆栈指针
    +关注

    关注

    0

    文章

    5

    浏览量

    2906
收藏 人收藏

    评论

    相关推荐

    深入解析Linux程序与进程

    关于某个数据集合的次运行活动。作为系统进行资源分配和调度的基本单位,是操作系统结构的基础。 程序与进程的关系 进程的状态 基础进程状态 创建
    的头像 发表于 12-18 11:01 67次阅读
    深入解析Linux程序与<b class='flag-5'>进程</b>

    文搞懂Linux进程的睡眠和唤醒

    操作系统进行管理; 父进程号:(PPID:Parent Process ID):用于描述进程的直接父进程的标识符,每个进程
    发表于 11-04 15:15

    Python中多线程和多进程的区别

    Python作为种高级编程语言,提供了多种并发编程的方式,其中多线程与多进程是最常见的两种方式之。在本文中,我们将探讨Python中多线程与多
    的头像 发表于 10-23 11:48 392次阅读
    Python中多线程和多<b class='flag-5'>进程</b>的区别

    LABVIEW报表创建工具遇到的个问题,麻烦大佬帮忙看一下

    报表插入之后打开EXCEL选定的保存位置会提示如下 此时无论点是或者否保存的数据都会消失,仔细观察之后发现创建报表创建的EXCEL进程,无法被处置报表VI关闭。此时手动点击EXCEL保存的表格就会
    发表于 10-09 10:03

    自感线圈断电时灯泡为啥会闪亮一下

    探讨自感线圈断电时灯泡为什么会闪亮一下的原因: 电流变化 :当电路中的电源被切断时,流经线圈的电流会突然减少。这种快速的电流变化会导致自感电动势的产生。 自感电动势 :由于电流的快速减少,线圈中的自感电动势会迅
    的头像 发表于 08-29 14:36 860次阅读

    深入探讨Linux的进程调度器

    Linux操作系统作为个开源且广泛应用的操作系统,其内核设计包含了许多核心功能,而进程调度器(Scheduler)就是其中个至关重要的模块。进程调度器负责决定在任何给定的时刻哪个
    的头像 发表于 08-13 13:36 939次阅读
    深入<b class='flag-5'>探讨</b>Linux的<b class='flag-5'>进程</b>调度器

    欢创播报 支付宝“碰一下”正式发布

    1 支付宝“碰一下”正式发布 近日,在支付宝开放日上,支付宝宣布升级条码支付体验,推出“支付宝碰一下”,用户无需展示付款码,解锁手机碰一下商家收款设备,最快步完成支付。据介绍,“碰
    的头像 发表于 07-11 11:32 878次阅读
    欢创播报  支付宝“碰<b class='flag-5'>一下</b>”正式发布

    请问idf.py build是否可以配置多个进程起编译?

    请教一下 idf.py build 如何配置多个进程起编译? 就像make -j4 谢谢!
    发表于 06-21 06:41

    句话让你理解线程和进程

    今天给大家分享一下线程与进程,主要包含以下几部分内容:句话说明线程和进程操作系统为什么需要进程为什么要引入线程
    的头像 发表于 06-04 08:04 1171次阅读
    <b class='flag-5'>一</b>句话让你理解线程和<b class='flag-5'>进程</b>

    请问一下FREERTOS只能创建4个任务,修改哪个宏定义可以增加创建任务的数量?

    请问一下FREERTOS只能创建4个任务,修改哪个宏定义可以增加创建任务的数量?解决方法:增加FREERTOS的堆。
    发表于 05-13 06:44

    晶华电子IPO终止

    深圳晶华显示电子股份有限公司(简称“晶华电子”)的创业板上市审核进程近日被深交所终止。尽管上市计划暂时搁浅,但晶华电子在物联网领域的研发实力和市场地位依然受到业界的关注。
    的头像 发表于 03-13 14:47 600次阅读

    晶讯光电深交所主板上市审核终止

    深交所近日公布了对湖南晶讯光电股份有限公司(以下简称“晶讯光电”)首次公开发行股票并在主板上市审核的终止决定。晶讯光电,作为液晶显示产品领域的专业研发、设计与生产公司,其终止上市进程引发了市场关注。
    的头像 发表于 03-07 14:51 686次阅读

    科利德终止IPO审核进程

    大连科利德半导体材料股份有限公司(简称“科利德”)的IPO审核进程终止。上交所公告显示,由于科利德的保荐人撤销了保荐,因此根据相关规定,上交所决定终止其发行上市审核。
    的头像 发表于 03-04 10:47 913次阅读

    最快终止IPO诞生,思索技术撤回申请

      东莞市思索技术股份有限公司的IPO进程已正式终止,从受理到撤回仅用了29天时间。
    的头像 发表于 03-04 09:45 574次阅读

    浅谈Linux的进程

    进程和程序的区别: 进程是动态的,程序是静态的 进程创建(fork()函数) int main(){ pid_t pid; pid=f
    的头像 发表于 01-28 15:54 256次阅读
    浅谈Linux的<b class='flag-5'>进程</b>