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

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

3天内不再提示

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

冬至配饺子 来源:廣廣的随笔 作者:廣廣的随笔 2022-08-17 17:59 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

进程的创建

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

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

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

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

进程的终止

分为以下四种情况:

正常退出(自愿)

出错退出(自愿)

严重错误(非自愿)

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

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

进程的层次结构

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

进程的状态

pYYBAGL8u66ALORaAAB1Pcp5ly0658.png

进程的实现

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


审核编辑:刘清

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

    关注

    32

    文章

    2321

    浏览量

    98564
  • Unix系统
    +关注

    关注

    0

    文章

    15

    浏览量

    9965
  • 堆栈指针
    +关注

    关注

    0

    文章

    5

    浏览量

    3214
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何同时在多个进程中使用 IMX-SMW ELE 后端?

    库服务来访问密钥,并且正如 HSM 文档中所述,不可能同时打开相同的密钥库。多个进程同时使用同密钥的情况似乎不受支持。 我们如何克服这个问题? 个可能的解决方案是在 imx-smw 库之上
    发表于 04-17 09:47

    飞凌嵌入式ElfBoard-进程进程状态

    就绪状态,等待再次被调度。运行 → 终止进程正常完成任务或因错误而被强制终止,转入终止状态,系统清理其资源。就绪 → 终止:如果
    发表于 03-27 09:12

    飞凌嵌入式ElfBoard-进程的相关信息之用户ID和组ID

    (SUID)保持设置的用户ID是进程次的有效用户ID,当创建进程时,子进程会从父进程继承保存
    发表于 03-12 17:13

    飞凌嵌入式ElfBoard-进程的相关信息之父进程和子进程

    进程创建时,创建进程是新进程的父进程,新进程
    发表于 03-12 17:12

    飞凌嵌入式ElfBoard-进程之什么是进程

    系统性能,优化系统资源的使用,以及管理进程的生命周期。当然,在程序中,用户也可以通过系统调用和库函数来获取和管理进程信息。进程IDLinux每个
    发表于 03-02 08:49

    飞凌嵌入式ElfBoard-进程之什么是进程

    ID,用户ID,组ID以及终止状态等)。4.1.1 进程和程序的区别程序是个静态的代码集合,是组指令的集合,用于执行特定的任务。程序通常以文件的形式存在,存储在硬盘、闪存或其他存储
    发表于 01-26 08:42

    进程概念和特征

    的顺序执行提出的,也是对进程管理提出的基本要求。   1. 动态性:进程是程序的次执行,它有着创建、活动、暂停、终止等过程,具有
    发表于 01-15 06:39

    进程的控制

    进程控制的主要功能是对系统中的所有进程实施有效的管理,它具有创建进程、撤销已有进程、实现进程
    发表于 01-15 06:05

    解析Linux的进程、线程和协程

    系统的稳定性和安全性。 (3)创建与销毁:Linux使用fork()系统调用来创建进程,通过exit()来终止进程。 线程(Thread
    发表于 12-22 11:00

    【HZ-T536开发板免费体验】—— linux创建线程

    线程与进程 进程指的是个正在执行的应用程序,而线程的功能是执行应用程序中的某个具体任务。线程具有传统线程的特征,
    发表于 09-01 21:31

    【HZ-T536开发板免费体验】—— linux 进程创建

    Linux进程通信方式有这几种: 1。管道 2。信号量 3。消息队列 4。共享内存 在本帖子中,我会讲解fork(),exit()系统调用的实践。通过应用编程来实现系统调用。 1,进程创建 打开
    发表于 09-01 20:49

    图解环路设计及控制技术探讨

    由于之前缺乏控制理论方面的知识在刚接触反馈环路的时候对其中的很多名词不是很明白,这次准备采用图解的方法逐的搞清楚这些名词并且试图找出种便捷的设置零、极点的方法。最后准备再探讨一下
    发表于 08-22 17:39

    奥比中光助力支付宝碰一下落地电梯场景

    近日,支付宝与分众传媒宣布联合推出“碰一下抢红包”服务。作为创新交互方式,“支付宝碰一下”首次被引入至电梯场景,并已在全国20余个城市的电梯铺设。奥比中光作为“支付宝碰一下”业务的核心供应商,为这
    的头像 发表于 08-12 11:32 1396次阅读

    “碰一下”支付终端应用在酒店:智能无卡入住与客房控制

    “碰一下”支付终端和“碰一下”支付机具今年已在各种餐饮零售门店推广应用。就连天波小编家附近的村口小超市也用上了“碰一下”支付终端。近日,卤味龙头企业绝味食品宣布,全国门店将接入“支付宝碰一下
    的头像 发表于 07-04 09:57 991次阅读
    “碰<b class='flag-5'>一下</b>”支付终端应用在酒店:智能无卡入住与客房控制

    一下终端,让自助售货机秒变 “家里的冰箱”

    继刷脸支付后,支付宝近日又推出了新的支付方式——碰一下支付。只需将手机轻轻靠近支付宝“碰一下”支付终端,即可完成支付,比以往要先解锁手机,调出APP的付款码再支付的操作环节要便捷和省时许多。“碰一下
    的头像 发表于 06-18 10:49 2114次阅读
    碰<b class='flag-5'>一下</b>终端,让自助售货机秒变 “家里的冰箱”