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

进程设计理念

进程的设计由来:为满足多道批处理系统的并发调度需求,即程序间断性执行,操作系统需要对这些加载到内存中的程序加以描述和控制,从而能更好的实现并发调度。

进程的特征:

  1. 动态性:进程在操作系统内的调度是动态的,不断变化的,会在CPU上动态切换。
  2. 并发性:多个进程同时存在内存中被调度时,可以在一段时间内都得到执行。
  3. 独立性:每个进程可以独立运行,独立获得资源,独立接受调度。
  4. 异步性:进程在并发调度时,各自以不可预知地速度推进。

进程控制块(PCB)

为了管理好每一个进程,操作系统使用的管理方案:先描述,再组织

每个进程的PCB内含有这个进程在内存中的所有必要信息:

  1. 进程标识符:唯一地标识每一个进程。
  2. 处理机状态:处理机状态信息也就是CPU的上下文,主要用来保存CPU的各种寄存器数据,在进程调度时保护现场。
  3. 进程调度信息:进程状态,进程优先级等等和调度有关的信息。
  4. 资源清单和控制信息:进程所拥有的全部资源,包括文件描述符表,信号集,进程地址空间,页表以及链接指针。

组织方式

管理PCB的本质就是在管理进程,操作系统在内存中通常使用链表或者索引数据结构将PCB组织起来,方便操作系统的管理。将不同状态的进程链接在不同的队列中(就绪队列、阻塞队列、空闲队列等)。

进程调度

进程在内存中、CPU上的调度依赖于各种调度算法,来保证CPU的高利用率,进程的公平性和系统资源的使用平衡

可以感知,通过以上的设计,程序在内存中就可以较好的完成并发执行了。


http://www.kler.cn/a/387274.html

相关文章:

  • 有什么初学算法的书籍推荐?
  • sql server启用远程连接与修改默认端口
  • 实现3D热力图
  • 【论文复现】ChatGPT多模态命名实体识别
  • 小马识途营销顾问谈百科词条建立的注意事项
  • 《Python使用sqlite3数据库》
  • 【sass】sass中两种去重的方法:混合 - mixin/include、继承 - extend
  • 【热门主题】000039 物联网智能项目:开启智慧未来新篇章
  • Xilinx FPGA的Vivado开发流程
  • HDR视频技术
  • C++20 概念与约束(1)—— SFINAE
  • Excel快捷键大全
  • 数据结构 C/C++(实验二:栈)
  • Node.js——fs模块-路径补充说明
  • 网络安全从零开始学习CTF——CTF基本概念
  • 使用vite构建一个react网站,并部署到Netlify上
  • DSP28335学习笔记-4
  • 计算机网络:简述LAN口模式下NAT和代理的区别
  • 【销帮帮-注册_登录安全分析报告-试用页面存在安全隐患】
  • elementUI 点击弹出时间 date-picker
  • 基于微信的追星小程序+ssm(lw+演示+源码+运行)
  • 大华Android面试题及参考答案
  • 100种算法【Python版】第50篇——Tim Sort
  • Qt:QPdfDocument渲染PDF文件时的信息丢失问题
  • 第73期 | GPTSecurity周报
  • FileLink如何帮助医疗行业实现安全且高效的跨网文件交换