尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
进程 — 解析计算机运行的精妙
文章目录操作系统的引入进程的基础认识进程的管理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资源的倾斜保证进程的正常执行结语以上结论带有我自己对该内容理解而总结得出可能分析不全用词不适总结不当接受批评欢迎指出
RELATED

相关推荐

VS Code 差异对比实战指南:4 个对比入口与 4 个窗格搞定 Git 冲突

VS Code 差异对比实战指南:4 个对比入口与 4 个窗格搞定 Git 冲突

VS Code 差异对比实战指南:4 个对比入口与 4 个窗格搞定 Git 冲突 【免费下载链接】vscode Visual Studio Code 项目地址: https://gitcode.com/GitHub_Trending/vscode6/vscode 两人同时改了 settings.json 里的 "editor.tabSize",git…

📅 2026/10/30 6:35:01
Dism++ 完整指南:5 分钟完成第一次空间回收,玩转 Windows 深层维护

Dism++ 完整指南:5 分钟完成第一次空间回收,玩转 Windows 深层维护

Dism 完整指南:5 分钟完成第一次空间回收,玩转 Windows 深层维护 【免费下载链接】Dism-Multi-language Dism Multi-language Support & BUG Report 项目地址: https://gitcode.com/gh_mirrors/di/Dism-Multi-language Windows 用几个月就能占…

📅 2026/10/30 6:35:01
快速上手 Lively 音频可视化:从安装到桌面随节奏起舞

快速上手 Lively 音频可视化:从安装到桌面随节奏起舞

快速上手 Lively 音频可视化:从安装到桌面随节奏起舞 【免费下载链接】lively Free and open-source software that allows users to set animated desktop wallpapers and screensavers powered by WinUI 3. 项目地址: https://gitcode.com/gh_mirrors/li/lively…

📅 2026/10/30 6:35:01
MORE NEWS

更多资讯

📰

Nginx前后端服务配置实战与优化指南

1. Nginx 配置前端后端服务实战指南作为现代Web应用的标准部署方案,Nginx因其高性能和灵活的配置能力成为前后端分离架构的核心组件。我在实际项目中经历过数十次Nginx配置迭代,发现90%的部署问题都源于对配置原理理解不透彻。本文将带你深入Nginx配置的…

📰

多体系统故障诊断技术与工程实践

1. 多体系统故障诊断概述多体系统故障诊断是工程领域的重要研究方向,主要针对由多个相互作用的子系统组成的复杂系统进行状态监测和异常识别。这类系统在航空航天、电力网络、智能制造等领域广泛应用,其可靠性直接影响整个系统的运行安全。典型的工业多体…

📰

HTML核心概念与语义化开发实践指南

1. HTML基础概念与核心价值HTML(HyperText Markup Language)作为构建互联网的基石语言,其核心价值在于定义网页内容的结构与语义。不同于CSS负责表现、JavaScript处理行为,HTML专注于内容的组织与关联。这种分工明确的体系使得Web…

📰

商汤LightX2V:实时视频生成框架的技术解析与应用

1. LightX2V:商汤开源的实时视频生成推理框架解析当我在GitHub上第一次看到LightX2V这个项目时,就被它惊人的性能数据吸引了——在H100显卡上实现1.9倍于主流框架的推理速度,这完全颠覆了我对视频生成效率的认知。作为一个长期关注生成式AI的…

📰

AI自动调试技术:原理、实现与工程实践

1. AI自动调试技术概述在软件开发领域,调试(Debugging)一直是耗时且需要丰富经验的工作环节。传统调试流程通常包括:复现问题→定位错误→分析原因→修复验证,这个过程往往占据开发周期的30%-50%时间。AI自动调试技术的…

📰

OneTrans-V2:统一召回与排序的生成式检索架构落地实践

1. 从两个模块到一条链路:OneTrans-V2 到底想解决什么问题推荐系统这个行当,干了几年之后你会发现一个特别拧巴的现实:召回和排序明明是同一个目标的两段路,却硬生生被拆成了两套模型、两套特征、两套工程链路。召回阶段用双塔&am…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬