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

进程调度的基本过程

1 描述

操作系统引入PCB(实际上是结构体)来表示进程的各个属性

2 组织方法

多个PCB作为双线链表的结点被调度,有新的进程要被运行就插入结点(PCB),旧的进程结束就删除结点(PCB)(实际过程中是一组链表)

3 PCB核心属性

(1)PID:

PCB的身份标识,系统随机分配

(2)内存指针

内存是操作系统的资源内存指针包含了进程要执行的指令和执行指令依赖的数据

(3)文件描述符表

进程在运行的过程中是需要操作文件的,是要和硬盘交互的,每打开一个文件就要往文件描述符表上放以一个结构体(元素)

(4) 并发:

cpu上有多个核,并发则是为了充分利用cpu资源,而并发之所以称之为并发,是因为一个核往往以分时复用的方式来实现多个进程同时运行,分时复用就是在极短的时间内执行一个进程后再去执行另一个,只不过由于时间短,在大尺度上来看,是同时运行

(5) 进程状态:

进程状态分为就绪状态和阻塞状态,处在就绪状态说明进程可以到cpu上执行,或者正在执行,处于阻塞状态说明进程不方便去cpu上执行

(6) 优先级:

程序执行有先后顺序就是由于优先级,而优先级则是写该程序的程序员决定的

(7) 上下文:

由于执行过程中的时间轮转,我们需要对每一次执行存档,而上下文就是指进程在执行的过程中为了下一次执行的存档,该存档在cpu的寄存器中

(8) 记账信息:

操作系统会记录每个进程在cpu上运行的时间,避免有的进程被搁置太久

综上:执行进程的过程中第一步是让该进程变成PCB,放置到相关组件的链表中,接着操作系统再根据该PCB的属性(如上)来实现对该进程执行的处理

http://www.dtcms.com/a/603044.html

相关文章:

  • C语言编译器电脑版 | 提升C语言开发效率,轻松调试程序
  • 企业网站 开源php雄安优秀网站建设方案
  • Python趣味算法:爱因斯坦的数学题:用Python解决经典阶梯问题
  • 我爱学算法之—— 链表
  • C++11:引用折叠,完美转发,可变参数模板,defult和delete,final和override,委托构造函数,继承构造函数
  • Datawhale25年11月组队学习:hello-agents+Task2
  • 怎么用php源代码做网站私人网页服务器
  • 天台网站建设题库网站怎样做
  • 如何制作一个php网站源码网上商店的业务流程
  • 网站开发 微信 支付召开网站群建设通知
  • JPA 数据绑定通过 **注解映射** 实现对象与表的关联
  • VSCode编译C语言 | 高效配置与运行步骤指南
  • 怎么建立一个网站放图片夸克浏览器官网入口
  • PPT插入的图片太大了,怎么缩小一点?
  • 网站社区建设公司网站做的好的公司
  • 石家庄建网站挣钱优帮云温州建设集团网站
  • 镜像多阶段构建-YAML-Compose
  • 每日一题 —— [NOIP 2007 普及组] 纪念品分组
  • 如何用wordpress建站自动搭建网站源码
  • 长沙竞价网站建设价格福田深圳网站建设
  • 查企业资质上什么网站网页源代码查找指定文字
  • 重庆蒲公英网站建设公司怎么样网络营销是什么 能做什么
  • c语言反编译工具 | 探讨C语言反编译工具的应用与发展趋势
  • 关系的网站织梦网站怎样做子域名
  • 最牛网站设计公司门户首页网站建设方案
  • 网站建设 seojsc易企秀类似的软件
  • LODE(Loss Decoupling)个人理解
  • 成都网站建设3六六俄罗斯门户网站
  • 淮南房地产网站建设网站睿思设计
  • 十七、自然语言处理概述