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

网站访问工具免费有效的推广平台

网站访问工具,免费有效的推广平台,动漫设计师工资一般多少,做的好的宠物食品网站目录 一、进程的概念(进程是什么?) 二、进程的作用(为什么需要进程?) 三、进程管理状态转换原理(进程是怎么运作的?) 基础五状态模型 扩展七状态模型 四、进程管理…

目录

一、进程的概念(进程是什么?)

二、进程的作用(为什么需要进程?)

三、进程管理状态转换原理(进程是怎么运作的?)

基础五状态模型

扩展七状态模型

四、进程管理之同步异步机制

同步机制(Synchronous)

异步机制(Asynchronous)

经典问题解决方案

五、进程管理之互斥信号量机制

互斥机制的黄金法则

临界区原则(四大条件)

信号量机制

1. 信号量(Semaphore)

2、原语(Primitive)

3. P/V 操作详解(软考核心考点)

软考真题


一、进程的概念(进程是什么?)

进程(Process)是操作系统中最核心的概念之一,是程序的一次动态执行过程

  • 进程:程序在内存中的执行实例(动态实体),包含:

    • 代码段(Text)

    • 数据段(Data)

    • 堆栈(Stack/Heap)

    • 程序计数器(PC)

    • 寄存器状态

    • 资源(如打开的文件)

比喻:程序像乐谱,进程像是乐队按照乐谱进行的演奏。

二、进程的作用(为什么需要进程?)

操作系统引入进程主要解决三大问题:

  1. 并发性:使多个程序能"同时"运行(宏观并行,微观串行)

  2. 资源隔离:每个进程有独立的地址空间,防止相互干扰

  3. 效率提升:当某进程等待I/O时,CPU可执行其他进程

典型案例:浏览器同时打开多个标签页时,每个标签页可能对应一个独立进程。

三、进程管理状态转换原理(进程是怎么运作的?)

基础五状态模型

下图是操作系统中最经典的进程状态划分,适合理解基本调度原理。

状态组成

  1. 新建(New)

    • 进程刚被创建(如通过fork()

    • 尚未完成资源分配

  2. 就绪(Ready)

    • 已获得除CPU外的所有资源

    • 等待被调度器选中

    • 特点:可能有多个进程处于此状态形成就绪队列

  3. 运行(Running)

    • 正在CPU上执行指令

    • 单核CPU同一时刻只有一个进程处于此状态

  4. 阻塞/等待(Blocked/Waiting)

    • 因等待I/O、信号等事件暂停执行

    • 典型场景:读取磁盘、等待网络响应

  5. 终止(Terminated)

    • 进程执行完毕或被强制终止

    • 资源尚未完全释放(操作系统保留退出状态码)

扩展七状态模型

在五状态基础上增加 挂起(Suspend)概念,解决内存不足时的进程管理问题。

新增状态
6. 就绪挂起(Ready Suspended)

  • 进程数据被交换到磁盘

  • 特点:只要载入内存即可立即运行

7、阻塞挂起(Blocked Suspended)

  • 阻塞状态的进程被换出到磁盘

  • 特点:即使等待事件发生,也需先换入内存

挂起操作的触发场景

  • 内存不足:将暂时不运行的进程换出到磁盘

  • 用户干预:手动挂起进程(如Linux的Ctrl+Z

  • 调试需求:暂停进程检查状态

状态转换新增路径

  • 就绪 ↔ 就绪挂起:由内存管理器控制

  • 阻塞 ↔ 阻塞挂起:当阻塞进程长期无响应时

  • 阻塞挂起 → 就绪挂起:等待的事件发生时

比喻:假设你是一家餐厅的调度经理,外卖小哥就是"进程",他们的工作流程完美对应进程状态:


1. 五状态模型版

  •  新员工今天第一天入职,刚领到工牌和工作服(新建分配基本资源)

  • 小哥在餐厅待命,手机充好电、餐箱清空(资源齐全),等调度员派单(就绪等待CPU)

  • 小哥正在骑车送A订单(运行占用CPU执行任务)

  •  到达A顾客楼下发现电梯坏了,被迫在楼下等维修(阻塞等待I/O资源)

  • 送完订单后回餐厅打卡下班(终止释放所有资源)

状态转换示例

  1. 接单 → 骑车送餐(就绪→运行)

  2. 送餐途中等红灯(运行→阻塞)

  3. 红灯变绿灯继续骑行(阻塞→就绪→运行)

  4. 送完这单接新单(运行→就绪)


2. 七状态模型升级版

新增两种特殊情况:

  • 中午高峰过后,部分小哥被临时派去仓库整理货架(就绪挂起内存不足,进程被换出到磁盘)

  •  有个小哥在等顾客下楼取餐时(阻塞),突然被叫回餐厅帮厨(阻塞挂起人带车被"换出")

新增场景

  1. 仓库的小哥突然被叫回来送急单(就绪挂起→就绪)

  2. 帮厨的小哥听到顾客终于来了(阻塞挂起→阻塞→就绪)

四、进程管理之同步异步机制

同步机制(Synchronous)

  1. 核心特征

    • 调用方必须等待操作完成才能继续执行

    • 执行流严格按照代码顺序进行

    • 典型表现为阻塞式等待

异步机制(Asynchronous)

  1. 核心特征

    • 调用方发出请求后立即继续执行

    • 通过回调/事件通知获取结果

    • 非阻塞式执行流

经典问题解决方案

  1. 生产者-消费者问题

    • 同步方案:使用互斥锁+条件变量

    • 异步方案:用消息队列(如Kafka)

  2. C10K问题

    • 同步阻塞模型:每个连接一个线程(资源耗尽)

    • 异步非阻塞模型:单线程事件循环(Node.js方案)

五、进程管理之互斥信号量机制

就像公共厕所的隔间,同一时间只允许一个人使用(临界资源),其他人必须在门口等待(阻塞)直到里面的人出来(释放)。

互斥机制的黄金法则

临界区原则(四大条件)
  1. 互斥进入:任何时候最多一个进程在临界区内

  2. 有限等待:请求进入的进程应在有限时间内获得许可

  3. 空闲让进:临界区空闲时必须立即允许进入

  4. 让权等待:当进程不能进入临界区时,应立即释放CPU(而非忙等待)

常见错误模式

  • 死锁:A等B,B等A

  • 活锁:进程不断重试但无法前进

  • 饥饿:某些进程始终得不到资源

信号量机制

1. 信号量(Semaphore)

定义
信号量是一种用于进程/线程同步与互斥的机制,由 Dijkstra 提出,本质是一个整型变量 + 等待队列,通过 P(wait) 和 V(signal) 两个原子操作来控制资源访问。

作用

  • 互斥访问(二进制信号量):确保同一时间只有一个进程访问临界资源(如打印机)。

  • 同步控制(计数信号量):管理有限资源的分配(如数据库连接池)。

2、原语(Primitive)

定义
原语是指操作系统提供的、不可中断的原子操作,执行过程不会被调度打断,常用于实现同步机制(如信号量的 P/V 操作)。

特点

  • 原子性:执行过程不可分割,要么全部执行,要么完全不执行。

  • 不可抢占:执行期间不会被其他进程/线程打断。

3. P/V 操作详解(软考核心考点)

P/V 操作是信号量的核心,由 Dijkstra 提出,名称来源于荷兰语:

  • P(Proberen,尝试):申请资源(wait

  • V(Verhogen,增加):释放资源(signal

软考真题

  1. (2016年下半年例题)假设系统中有n个进程共享3台扫描仪,并采用PV操作实现进程同步与互斥。若系统信号量S的当前值为-1,进程P1、P2又分别执行了一次P(S)操作,那么信号量S的值应为___。
    解答:
    根据PV操作概念中P操作公式,S=S-1,这里发生两次P操作,那么当前S的值应该为-1减2次操作后等于-3。
  2. (2016年上半年例题) 进程P1、P2、P3、P4和P5的前趋图如下图所示:
  3. 若用PV操作控制进程P1、P2、P3、P4和P5的并发执行过程,则需要设置5个信号量S1、S2、S3、S4和S5,且信号量S1~S5的初值都等于零。下图中a和b处应分别填入___;c和d处应分别填入___;e和f处应分别填入___。

解答:根据前趋图,P1进程执行完需要通知P2和P3进程,所以需要利用V(S1)和V(S2)操作通知P2和P3进程,所以空a应该填V(S1)和V(S2),P2进程执行完要通知P4进程,所以空b应该填V(S3)。P3进程运行前需要等待P1进程的结果,所以执行程序前要先利用1个P操作,所以空c应该填P(S2),而P3进程运行结束需要利用一个V操作通知P5进程,所以空d应该填V(S4)。P4进程执行结束需要利用一个V操作通知P5进程,所以空e处应该填V(S5),P5进程执行前需要等待P3和P4进程的结果,所以空f处需要两个P操作,那应该填P(S4)和P(S5)

http://www.cadmedia.cn/news/7787.html

相关文章:

  • 广州网站建设品牌seo数据优化教程
  • 佛山网站建设制作网络seo推广
  • 深圳服饰网站建设查看别人网站的访问量
  • 大连城建设计研究院网站电脑培训网上课程
  • 武汉市建设工程造价管理站网络舆情优化公司
  • 一品威客网怎么样搜索引擎优化的方法和技巧
  • 深圳网站建设响应式网站深圳百度竞价推广
  • 云南省中国建设工程造价管理协会网站seo资讯网
  • 免费地方域名注册seo综合查询工具可以查看哪些数据
  • 左28cm移动建站优化
  • wordpress网站的彻底清理软件推广赚钱
  • 网站建设建网站网销怎么做
  • 平阳高端网站建设网页开发工具
  • 建设电子商务网站的方法有?成品影视app开发
  • 如何免费制作一个公司网站免费外链网
  • 西安城乡建设委员会网站打不开重庆网络推广
  • 太原公司网站建设百度注册页面
  • 公司网站的建设与运营管理制度天津百度推广排名
  • 怎样做网站 - 百度网站百度收录
  • 无锡网站制作价格多少厦门百度竞价推广
  • 网站建设 任务链交换反应
  • 东莞大朗网站建设公司重庆seo入门教程
  • 更换wordpress字体浑江区关键词seo排名优化
  • 河南省 门户网站建设要求北京seo推广外包
  • 福州网站建设网站设计网站推广网站百度收录批量查询
  • 注册公司名字有没有重复在哪可以查关键词优化seo多少钱一年
  • 坪山附近公司做网站建设多少钱厦门百度快速优化排名
  • 好用网站推荐上海网络推广培训机构
  • 政府网站集约化建设的通知网络推广文案策划
  • 自己买服务器搭建网站域名ip查询