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

进程的描述与控制

目录

进程的概念、组成、特征

进程的状态与转换

进程控制

进程通信(IPC)

共享存储

消息传递

管道通信

线程的概念与特点

线程的实现方式与多线程模型

线程的实现方式

多线程模型

线程的状态与转换


进程的概念、组成、特征

程序是静态的指令集合,无生命周期(存储在磁盘上,永久存在),不占用资源(仅占用磁盘空间),一个进程只能对应一个程序。

进程是程序动态执行的实例,有创建、就绪、运行、阻塞、终止的动态过程,占用 CPU、内存、文件等系统资源,一个程序可对应多个进程。

进程的核心组成是进程实体(操作系统调度和管理的最小单位)。进程实体4 个核心部分构成,且各部分在内存中占据独立的虚拟地址空间。

从进程是动态执行实例的底层逻辑出发,完整的进程组成应还包含堆栈段

进程的动态性,本质是进程实体的状态(通过 PCB 更新)在不断变化。

PCB是进程的存在标志是操作系统识别进程的唯一标识,进程的创建、调度、终止本质上都是对 PCB 的操作,其存储位置通常位于操作系统的内核空间,用户进程无法直接访问。

程序段是纯指令,只读不允许修改(若修改会触发内存保护异常),防止进程意外篡改指令导致崩溃。多个进程可共享同一个程序段,节省内存空间(代码共享核心逻辑)。

数据段可读可写、私有(进程隔离),堆栈段则动态变化、私有,是进程运行的核心临时区。

进程的状态与转换

进程状态间的转化

进程控制

进程控制就是要实现进程状态的转换,进程控制用原语实现。

在操作系统中,原语是一组不可中断的原子操作集合,是操作系统内核中的最小执行单元,要么完整执行完毕,要么完全不执行,中间不允许被任何中断打断。

进程控制原语导致进程的状态转化,要做的无非三类事情:

进程通信(IPC)

进程间通信是指两个进程之间产生数据交互。进程是分配系统资源的单位,因此各进程拥有的内存地址空间相互独立。为了保证安全,一个进程不能直接访问另一个进程的地址空间。

共享存储

为避免出错,各个进程对共享空间的访问应该是互斥的。各个进程可使用操作系统内核提供的同步互斥操作(如 P、V 操作)。

通过增加页表项 / 段表项即可将同一片共享内存映射到各个进程的地址空间中。

Linux中实现内存共享:

消息传递

管道通信

线程的概念与特点

线程的实现方式与多线程模型

线程的实现方式

多线程模型

线程的状态与转换

🫨🫨🫨.

http://www.jsqmd.com/news/93826/

相关文章:

  • 2025年智能手机马达厂权威推荐榜单:智能戒指马达/智能项链马达/按摩仪马达源头厂家精选 - 品牌推荐官
  • 别再盲选文献管理工具了!2025 最强组合:Zotero × EndNote × 沁言学术全场景对比
  • RNDIS模式下USB上网的完整配置清单与操作指引!
  • iOS CPU 使用率的系统化分析,线程调度到真实场景的多工具协同监控实践
  • 【Java毕设全套源码+文档】基于Java技术人人享美食平台的设计与实现(丰富项目+远程调试+讲解+定制)
  • 四旋翼无人机Simulink建模与仿真:运动学、动力学模型研究及PD控制方式实现
  • 国产车床电主轴品牌推荐(2025年末测评) - 品牌推荐大师
  • Transformers库中加载Qwen3-VL-30B模型的避坑指南
  • [特殊字符]写论文必备!Zotero / EndNote / 沁言学术组合怎么选?最新科研人都这样用**
  • 深入解析:1比1还原微信!又一款完全免费、功能强大的开源即时通讯IM系统
  • 19、整数变量、算术运算、数组及相关脚本编程
  • 【Java毕设全套源码+文档】基于Java的中医药店管理系统的设计与实现(丰富项目+远程调试+讲解+定制)
  • Hyperworks MotionView软件下的发动机激励噪声仿真:识别车内噪声的技术路线揭秘
  • 2025年12月新能源充电桩领域优质企业梳理:5 家企业以技术适配产业需求 - 深度智识库
  • 洛谷 P1901 发射站
  • JavaScript基础笔记-函数[下]
  • Qwen3-8B在内容创作场景下的实际效果测试报告
  • AutoGPT能为个人开发者带来什么价值?真实案例分享
  • 【ROS 2】ROS 2 机器人操作系统简介 ( 概念简介 | DDS 数据分发服务 | ROS 2 版本 | Humble 文档 | ROS 2 生态简介 )
  • 使用清华源加速下载Qwen3-14B模型镜像,提升GPU算力利用率
  • 药品
  • 机械硬盘具体是指什么
  • 大模型知识图谱构建:数据层与模式层的完整技术解析!
  • 禾高互联网医院|互联网医院|互联网医院开发
  • 丽江工业无缝管,耐腐蚀抗高压,寿命提升3倍!
  • 对比tensorflow,从0开始学pytorch(五)--CBAM
  • Java 拆分 PDF:使用 Spire.PDF for Java 轻松搞定
  • GitPuk基础到实践,如何详细掌管代码
  • 文科生也能拿40万年薪!普通人转型AI产品经理,这篇万字攻略带你从0到1!
  • 【完整源码+数据集+部署教程】木材裂纹检测系统源码分享[一条龙教学YOLOV8标注好的数据集一键训练_70+全套改进创新点发刊_Web前端展示]