0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

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

3天内不再提示

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

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

进程的创建

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

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

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

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

进程的终止

分为以下四种情况:

正常退出(自愿)

出错退出(自愿)

严重错误(非自愿)

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

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

进程的层次结构

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

进程的状态

pYYBAGL8u66ALORaAAB1Pcp5ly0658.png

进程的实现

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


审核编辑:刘清

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

    关注

    32

    文章

    2249

    浏览量

    94228
  • Unix系统
    +关注

    关注

    0

    文章

    15

    浏览量

    9625
  • 堆栈指针
    +关注

    关注

    0

    文章

    5

    浏览量

    2900
收藏 人收藏

    评论

    相关推荐

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

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

    深入探讨Linux的进程调度器

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

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

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

    句话让你理解线程和进程

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

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

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

    科利德终止IPO审核进程

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

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

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

    介绍一下芯片的VIA pillar

    Via pillar,又可以叫Via ladder。貌似Cadence家喜欢叫pillar,synopsis喜欢叫ladder,我也不知道它们为啥不能统一一下名称。
    的头像 发表于 12-06 14:00 694次阅读

    Linux进程通信的方法

    进程是操作系统的概念,每当我们执行个程序时,对于操作系统来讲就创建进程,在这个过程中,伴随着资源的分配和释放。可以认为
    的头像 发表于 11-29 14:45 661次阅读
    Linux<b class='flag-5'>下</b><b class='flag-5'>进程</b>通信的方法

    盘点一下CST电磁仿真软件的求解器

    今天我们起来盘点一下CST电磁仿真软件那些牛叉的求解器。快来数一下,你用了里面的几种吧!
    的头像 发表于 11-20 10:18 5826次阅读
    盘点<b class='flag-5'>一下</b>CST电磁仿真软件的求解器

    linux开发避免僵尸进程的方法

    、什么是僵死进程般情况,程序调用exit(包括_exit和_Exit,它们的区别这里不做解释),它的绝大多数内存和相关的资源已经被内核释放掉,但是在
    的头像 发表于 11-11 16:38 677次阅读
    linux<b class='flag-5'>下</b>开发避免僵尸<b class='flag-5'>进程</b>的方法

    进程通信的应用场景

    进程的概念 进程是操作系统的概念,每当我们执行个程序时,对于操作系统来讲就创建进程,在这
    的头像 发表于 11-11 14:42 559次阅读
    <b class='flag-5'>进程</b>通信的应用场景

    什么是进程

    探讨这个问题之前,我们先来弄清什么是进程进程(Process)是计算机中的程序关于某数据集合上的次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。程序是指令
    的头像 发表于 11-08 15:21 3727次阅读
    什么是<b class='flag-5'>进程</b>

    探讨一下汽车数据中占据半壁江山的差分信号

    随着汽车ADAS的发展,对车载数据传输速率要求越来越高,相应而生的以太网传输速率更是达到了10Gbps以上,高速传输的时代,信号的完整性至关重要,与生命安全密切相联,今天我们就来探讨一下汽车数据中占据半壁江山的差分信号。
    的头像 发表于 11-08 09:50 719次阅读
    <b class='flag-5'>探讨</b><b class='flag-5'>一下</b>汽车数据中占据半壁江山的差分信号

    详细介绍一下PSS+Pnoise仿真

    PSS+Pnoise仿真是很多电路要用到的仿真,今天我们详细介绍一下这个仿真。
    的头像 发表于 11-03 18:13 6390次阅读
    详细介绍<b class='flag-5'>一下</b>PSS+Pnoise仿真