进程 — 解析计算机运行的精妙

发布时间:2026/10/30 6:40:07
进程 — 解析计算机运行的精妙 文章目录操作系统的引入进程的基础认识进程的管理PCB —— 进程控制块(Process Control Block)PCB的关键要点文件描述符表并行 并发 执行分时复用进程调度进程状态进程优先级进程的上下文记账信息结语操作系统的引入WindowsLinuxMac os 等主流操作系统是计算机中最基础也是最重要的 “软件” 即是 搞管理 的软件管理各种硬件设备包含输入和输出设备等可知晓的是操作系统是通过各种驱动程序来间接管理对应的硬件设备驱动程序便是操作系统软件 下的软件之一驱动程序是 对应设备的软件组件为了让操作系统识别设备、与设备通信并使用设备没有驱动程序设备即使连接上了计算机但该设备的功能无法被计算机识别即无法使用在各种操作系统中内置了硬件设备 基本功能 需求的驱动程序如果在这些硬件设备中有设计新的功能其内置的驱动可能无法识别此时便要去其官网下载对应的驱动程序以便新功能的正常使用给各种应用程序提供稳定的运行环境一个运行起来的应用程序 便是 一个进程进程的基础认识一个进程的创建便意味着有一个应用程序正在运行运行结束的话那么该进程便会被销毁每个进程的创建和销毁可看做程序的⼀次运⾏过程众所周知的是程序的运行是需要调用该计算机的资源而操作系统有着计算机资源的调度权因此在操作系统内部进程是操作系统进⾏资源分配的基本单位进程的管理现如今的计算机中有百十来个进程是常见的因而进程之间为了避免乱套就需要来 管理好 进程管理过程在操作系统的中会定义一个结构体与Java中的对象类似在结构体中会描述 该进程的各种核心属性然后通过数据结构来组织各种数据数组链表哈希…即集中储存数据⽅便管理时进⾏增删查改的操作PCB —— 进程控制块(Process Control Block)字面意思来说PCB就是规模化 管理各个进程 的 控制模块 简而言之PCB就是一个很大的结构体里面有非常多进程的属性PCB的关键要点PidPCB的身份标识符id内存指针进程对应的一组指针里面包含有进程需执行的指令在哪里以及指令依赖的数据在哪里因此管理过程可解释为 各种操作系统中通过数据结构来组织PCB方便后续的管理操作以Linux系统 管理进程 为例 创建一个新的进程创建一个PCB初始化PCB的各个属性把PCB加到链表上 …查看进程列表遍历链表取出链表的每个元素把所需管理的元素显示到管理界面上 …销毁进程把该进程在链表上找到然后从链表上删除文件描述符表当进程来调用系统资源运行程序时其调用资源大多为CPU等计算资源 以及支持程序运行的“数据” 即进程需要读取相对应的数据这些数据大多是进程与硬盘网卡进行交互读取里面所需数据其数据通常以 “文件” 的形式进行组织因此进程需要读写文件数据交换和CPU的调用 来运行而在进程读写文件前第一步就是要 “打开文件” 这时打开文件的行为 便会被操作系统记录下来这些记录所保存的位置即是 ——文件描述符表并行 并发 执行现如今的计算机中有多核处理器目前CPU大多只有十几个 核心服务器的核心数才可能有上百核心而一个核心在同一时刻只能执行一个进程的指令一个进程指令执行完毕 该核心才能执行下一个进程指令在计算机普遍同时有上百个进程的情况下只能采取另类的方法来维持进程的运行保证计算机不卡顿分时复用多核处理器之前古老的计算机可能只有一个核心面对多数的进程 通常依赖分时复用 来支持正常运行“分时”即是把一个时间单位分成多份多到感觉很流畅每一份执行一个指令循环往复CPU执行指令的速度极快切换下一条需执行指令也足够快快到超出人类反应时间因此每个进程看起来是 “同时执行”如果CPU性能 不足或进程实在过多便可能感受到明显的卡顿在CPU的一个核心上按照分时复用的方式执行多个进程称之为 “并发执行”CPU的多个核心同时以分时复用执行多个进程称之为“并行执行”并发执行 和 并行执行在如今的计算机中是同时存在的因而会把“并发”和“并行” 统称为 “并发”进程调度在并发执行中一条指令执行完成切换下一条指令的过程中需对其所完成的指令进行一系列操作以及对切换下一条指令的准备操作才能切换至下一条指令这些操作包含有“进程状态” “进程优先级” “进程的上下文” “记账信息” 这些操作即为 ——进程调度进程状态进程的创建和销毁过程中有许多状态其中关键的是两个状态如下 就绪状态进程可随时被CPU执行阻塞状态进程当前不适合在CPU上被执行进程优先级对于多个进程每个进程所能得到的CPU计算性能 并不是均等的恰如同时在计算机上 玩3A游戏和聊天软件接收信息3A游戏所存在的进程肯定是最优先的其所需反应的时间也是极快的此时可能的话聊天软件不能快速接收信息过几秒才会被接收到进程的上下文进程在执行过程中有些进程并不是全程需要调用CPU可能会有时调用有时不调用大部分存在的情况是 需调用时便调用CPU然后保存信息结束调用下次需调用时按照保存的信息对该进程衔接调用上CPU为何保存信息保存信息是方便 下次调用CPU时衔接 上次结束调用CPU时的状态 而继续执行进程如果不保存信息下次调用CPU时便会从头执行浪费资源。 需要的是往下执行因而必须保存信息如何保存信息CPU寄存器作用 记录下进程结束调用CPU时的状态保存上下文信息把CPU寄存器记录下的 进程状态信息 保存进内存即PCB对应的属性中恢复上下文 把内存中对于的信息 填回 寄存器中记账信息即是统计功能统计每个进程在CPU上运行了多久。如果发现某个进程许久没有得到CPU的调用就会给该进程进行CPU资源的倾斜保证进程的正常执行结语以上结论带有我自己对该内容理解而总结得出可能分析不全用词不适总结不当接受批评欢迎指出

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询