news 2026/10/30 19:17:03

4、操作系统中的进程与中断管理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
4、操作系统中的进程与中断管理

操作系统中的进程与中断管理

1. 进程描述符

在操作系统里,内核要管理进程,就必须清楚每个进程的运行状况,比如进程优先级、是否正在 CPU 上执行或者因某个事件被阻塞、分配给它的地址空间以及它能访问的文件等。进程描述符(task_struct类型的结构)就承担了这个角色,其字段包含了与单个进程相关的所有信息。内核还定义了task_t数据类型,它等同于struct task_struct。

进程描述符相当复杂,除了大量包含进程属性的字段外,还包含几个指向其他数据结构的指针,而这些数据结构又可能包含指向其他结构的指针。这里重点关注与进程状态以及父子进程关系相关的两类字段。

1.1 进程状态

进程描述符的状态字段描述了进程当前的运行状态,它由一组标志位组成,每个标志位代表一种可能的进程状态。在当前的 Linux 版本中,这些状态是互斥的,即始终只有一个状态标志位被设置,其余的则被清除。可能的进程状态如下:
| 状态 | 描述 |
| ---- | ---- |
|TASK_RUNNING| 进程正在 CPU 上执行或者等待被执行。 |
|TASK_INTERRUPTIBLE| 进程处于挂起(睡眠)状态,直到某个条件变为真。例如,硬件中断的产生、进程等待的系统资源被释放或者收到信号等情况,都可能唤醒进程,使其状态变为TASK_RUNNING。 |
|TASK_UNINTERRUPTIBLE

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/30 5:33:14

微服务发布翻车现场:我用pig框架实现零风险灰度发布的实战心得

还记得那次凌晨三点的发布事故吗?整个系统瘫痪,用户投诉如潮水般涌来,团队连夜奋战到天亮... 😅 从那以后,我发誓要找到一种更安全的发布方式。经过多次实践,终于用pig微服务框架摸索出了一套完美的灰度发布…

作者头像 李华
网站建设 2026/10/30 23:07:14

微信自动答题小工具:如何在PC端轻松实现智能答题

微信自动答题小工具:如何在PC端轻松实现智能答题 【免费下载链接】微信自动答题小工具使用说明 微信自动答题小工具是一款专为PyCharm环境设计的实用工具,支持在PC端运行的微信小程序中实现自动答题功能。通过预设的智能算法,该工具能够高效完…

作者头像 李华
网站建设 2026/10/30 23:34:05

iOS架构模式终极指南:从MVC到VIPER的完整解析

iOS架构模式终极指南:从MVC到VIPER的完整解析 【免费下载链接】awesome-ios-architecture :japanese_castle: Better ways to structure iOS apps 项目地址: https://gitcode.com/gh_mirrors/aw/awesome-ios-architecture 你是否曾经在开发iOS应用时感到困惑…

作者头像 李华
网站建设 2026/10/31 5:02:14

BetterNCM插件管理器实战教程:10分钟玩转网易云音乐插件生态

BetterNCM插件管理器实战教程:10分钟玩转网易云音乐插件生态 【免费下载链接】BetterNCM-Installer 一键安装 Better 系软件 项目地址: https://gitcode.com/gh_mirrors/be/BetterNCM-Installer 你是否曾想过让网易云音乐变得更加强大?BetterNCM插…

作者头像 李华
网站建设 2026/10/30 2:31:43

Claude Code Router多提供商集成:OpenRouter深度配置实战

Claude Code Router多提供商集成:OpenRouter深度配置实战 【免费下载链接】claude-code-router Use Claude Code without an Anthropics account and route it to another LLM provider 项目地址: https://gitcode.com/GitHub_Trending/cl/claude-code-router …

作者头像 李华