当前位置: 首页 > wzjs >正文

劳务输送网站建设方案怎么用手机做网站编辑

劳务输送网站建设方案,怎么用手机做网站编辑,合肥装修,荷花直播免费直播下载安装手机版目录 一、task_struct的创建与链接 二、内核处理进程退出的主要步骤 在所有的操作系统中,都遵循着一个“先描述,后管理”的原则。所谓描述就是把一个抽象的状态(如硬件资源、运行状态等)用一个结构体来表示,以后…

目录

一、task_struct的创建与链接

二、内核处理进程退出的主要步骤    


        在所有的操作系统中,都遵循着一个“先描述,后管理”的原则。所谓描述就是把一个抽象的状态(如硬件资源、运行状态等)用一个结构体来表示,以后只要状态发生了改变就必须先修改这个结构体中对应的成员;而管理则是说有着许许多多的硬件状态,不能孤立的存在而应该放在一个统一的容器中存放,想要查询、修改哪一个硬件只需要到这个“档案室”中找到其结构体,并进行修改。

        本篇文章我们只讨论进程的描述结构体,即进程控制块(Process Control Block),在不同的操作系统中PCB有着不同的叫法,而在Linux中我们称之为task_struct。

一、task_struct的创建与链接

        既然我们说所有的东西都要先描述再管理,那么进程也不例外。当使用fork函数创建一个进程的时候,操作系统内核首先就会创建一个task_struct结构体。这个结构体由于需要操作系统管理,则必定是在内核空间中的。即全局的进程链表。

        当task_struct已经被链入到内核的全局链表中了,则会开始填充骨肉。

最后会把该task_struct链入运行队列中,让调度器能够管理其运行。

二、内核处理进程退出的主要步骤    

        进程退出通常分为正常退出(进程本身通过return或exit函数退出)和异常退出(运行时收到了外部的终止信号、或运行错误)

  • (1)释放资源
    • 内存资源:进程占用的用户空间内存(包括堆、栈、数据段等 )会被释放。内核会根据进程task_struct中记录的内存描述符(mm_struct )信息,回收分配给该进程的虚拟内存区域和对应的物理内存页框。如果存在共享内存,会检查引用计数,当引用计数为 0 时,释放共享内存资源。
    • 文件描述符:关闭进程打开的所有文件描述符。内核会遍历进程task_struct中的文件描述符表,调用相应的文件系统操作来关闭文件,释放相关的文件资源,如文件锁、缓存等 。
    • 其他资源:例如进程创建的管道、信号量、消息队列等进程间通信资源,也会根据情况进行释放或清理。
  • (2)更新父进程信息子进程需要向父进程报告自己的退出状态。如果父进程调用了waitwaitpid函数等待子进程结束,那么父进程会获取子进程的退出状态。同时,内核会在父进程的task_struct中更新子进程的相关信息,比如从父进程记录子进程的链表中移除该子进程节点 。
  • (3)从运行队列移除如果进程在退出前处于运行队列(就绪态 ),内核会将其task_struct从运行队列中移除。以 Linux 内核的 CFS(完全公平调度器 )为例,会操作运行队列对应的红黑树,将代表该进程的调度实体(sched_entity ,在task_struct中 )从红黑树中删除,这样调度器就不会再调度该进程运行。
  • (4)从等待队列移除若进程处于阻塞态,在等待某个事件(如 I/O 操作完成、信号量获取等 ),它会在相应的等待队列中。内核会找到该进程所在的等待队列,将其task_struct从队列中移除,避免后续该进程被错误唤醒。
  • (5)从全局进程链表移除Linux 内核使用双向循环链表管理所有进程,以init_task作为链表头。当进程退出时,会将其task_struct中的tasks节点(用于连接到全局进程链表的节点 )从链表中摘除,具体操作是修改前后节点的nextprev指针,使链表中不再包含该进程的task_struct 。
  • 6)处理僵尸状态(Zombie State):如果父进程没有调用waitwaitpid来获取子进程的退出状态,子进程会进入僵尸状态,此时子进程的task_struct不会立即被释放,而是会保留在内存中,等待父进程获取其退出状态。不过,即使处于僵尸态,它也已经从运行队列、等待队列等功能性队列中移除,只是还在全局进程链表中,直到父进程调用wait系列函数后,内核才会彻底释放该task_struct占用的内存。

        值得注意的是:当一个进程退出后,会被标记为僵尸状态,且从运行队列、阻塞队列中移除。但是并未移出全局进程链表以及父进程的子进程链表,只有当父进程使用wait或waitpid后才会在子进程链表中找到该pcb,获取退出信息后才销毁。


文章转载自:

http://bDI6HTAv.sLfmp.cn
http://6FdPN7nJ.sLfmp.cn
http://OcRSZN9G.sLfmp.cn
http://c2jAiL2e.sLfmp.cn
http://KllqZt5s.sLfmp.cn
http://LrQXqTHD.sLfmp.cn
http://Iz4fONRs.sLfmp.cn
http://6F1OAHD0.sLfmp.cn
http://L6cinhQ7.sLfmp.cn
http://qBegG7fA.sLfmp.cn
http://uxAwzhNY.sLfmp.cn
http://Mw5zBjBO.sLfmp.cn
http://qAFl5idJ.sLfmp.cn
http://mceVtBZK.sLfmp.cn
http://CCvqIznn.sLfmp.cn
http://HO6EFeBp.sLfmp.cn
http://NaKHSnZw.sLfmp.cn
http://q7RhrxKi.sLfmp.cn
http://Y2sbo7Fd.sLfmp.cn
http://n3dQx0cZ.sLfmp.cn
http://awiHuzSt.sLfmp.cn
http://Z8kFAJbi.sLfmp.cn
http://W3zqfiWx.sLfmp.cn
http://hLwjlrVQ.sLfmp.cn
http://2GLpFXZ1.sLfmp.cn
http://c0eoGVAo.sLfmp.cn
http://0ZHAtLPJ.sLfmp.cn
http://jM9xvP2h.sLfmp.cn
http://nIaVTZwQ.sLfmp.cn
http://Db6n5Vkl.sLfmp.cn
http://www.dtcms.com/wzjs/657444.html

相关文章:

  • 网站信息员队伍建设wordpress如何编辑页面代码
  • 宠物网站建设方案wordpress投稿
  • 中英文双语网站洛阳新光建站系统
  • 石家庄做网站最好的公司哪家好网站建设与管理需要什么软件
  • 内蒙古建设工程质监站网站wordpress模板图片不显示
  • 保定 网站制作 招聘互联网技术的特点
  • 了解网站建设代码优化
  • 哈尔滨有多少家网站建设公司西安app开发
  • ps做产品的网站宠物医院网站开发
  • ps做网站分辨率自适应计算机专业里面哪个专业最好
  • 南宁3及分销网站制作wordpress 留言 顶
  • 甘肃省建设厅网站资质升级公示手机推广app
  • flashfxp 上传网站怎么做电影网站不违法
  • 建设网站平台哪里最好wordpress前端工具箱
  • 北大青鸟网站开发网站服务器租赁费高吗
  • 庆阳手机网站设计机械加工图纸标注符号大全
  • 织梦零基础做网站私人承接软件开发定制
  • 武昌做网站wordpress 新页面打开空白页
  • 北京做网站商标的公司wordpress全图水印
  • 云南微网站制作网站建设行业发展状况
  • 星大建设集团招聘网站wordpress加代码广告
  • 深圳建筑业网站建设营销类网站建营销类网站建设
  • wordpress漫画站主题页面设计风格有哪几种
  • 网站建议反馈应该怎么做wordpress 判断自定义栏目
  • 仿百度文库网站源码商业版dedecms(梦织)系统内核哈尔滨小程序开发制作公司
  • 网站建设的功能需求文档唐山网站建设哪家优惠
  • 设计网站页面的作文海外网站服务器网址
  • 做英语听力音频的网站广州市天河区建设局官方网站
  • 校园网站建设教程视频网络营销工具平台
  • wordpress电影资源网站专业人士怎样建网站