ch3_1_多进程的概念

news2024/12/26 21:00:47

1. CPU 的管理

CPU的工作原理:
从内存中取出程序的指令, 执行程序中的指令;

1.1 多道程序

假设A 程序运行时, 遇到 IO 处理时, 为了能够执行A 程序的后续指令, 正常情况下 cpu 需要等待着IO 处理完成, 而这个等待的期间 CPU 是闲置着,

为了提高cpu 的利用率,

同时运行程序A 和程序B,

当程序A 需要处理 IO时, 此时,跳出程序A, 去执行程序B, 这样CPU 就不需要等待着, 从而可以继续执行 指令;

1.2 进程的概念

当一个程序运行起来时, 其中包含了多个信息,比方运行到某个时间节点时, 该程序中多个寄存器的数值。

为了区别 运行中的程序和 静态程序,

将运行中的程序 定义为 进程, 即进行中的程序。

1.3 PCB 的作用

然而多道程序并发, 这样引出另外一个问题,

当cpu 从程序B 返回到 程序A 继续执行时, 应该从 程序A 的何处地方开始执行?

这就需要,当CPU从 程序A 切换出去时, 需要保存当时程序A运行的现场信息,
比如CPU 跳出时, 运行到程序A 哪个地址了, 此时程序A 中所对应的各个寄存器存放的数值为多少;

为了将 一个运行中的程序所包含的上述信息保存起来,引入了PCB的概念, 即将上述信息存放在 PCB 的数据结构中。

1.4 进程五种基本状态

在这里插入图片描述

  • 创建状态:进程在创建时需要申请一个空白PCB,向其中填写控制和管理进程的信息,完成资源分配。如果创建工作无法完成,比如资源无法满足,就无法被调度运行,把此时进程所处状态称为创建状态

  • 就绪状态:进程已经准备好,已分配到所需资源,只要分配到CPU就能够立即运行

  • 执行状态:进程处于就绪状态被调度后,进程进入执行状态

  • 阻塞状态:正在执行的进程由于某些事件(I/O请求,申请缓存区失败)而暂时无法运行,进程受到阻塞。在满足请求时进入就绪状态等待系统调用

  • 终止状态:进程结束,或出现错误,或被系统终止,进入终止状态。无法再执行。

如果进程运行时间片使用完也会进入就绪状态。
另外为用户观察需要,进程还有挂起和激活两种操作。挂起后进程处于静止状态进程不再被系统调用,对于操作是激活操作。

1.5 小结

当CPU 只执行一个 程序时, 遇到IO 处理的任务时, 此时,CPU会闲置等待着,

所以, 为了提高 CPU的利用率, CPU 同时执行 多个 程序,
从而引入 进程, PCB 数据结构 这两个重要的概念;

2. os 管理多个进程

使用进程控制模块 PCB, process control block, 来管理多个进程,

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/99619.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

后端快速学习VUE(一):VUE入门

个人博客地址 http://xiaohe-blog.top/ 文章目录1. 简介2. 基本使用2.1 引入Vue2.2 基本使用2.3 总结 :3. v-text、v-html指令的使用4. v-on : 事件绑定4.1 事件的三要素:4.2 v-on的基本使用4.3 v-on获取vue实例this4.4 事件绑定简化写法5. 常用指令5.1 …

useRef 源码解读

文章目录useRef 源码解读mountRefupdateRefref 的生命周期(工作流程)总结:render 阶段commit 阶段总述具体阐述safelyDetachRefcommitAttachRefuseRef 源码解读 由于 string 类型的 ref 已不推荐使用,所以只针对 function &#…

论文复现-1:bertscore

Bertscore是计算相似度的一种方法。 遗留问题:使用model layer 中的单一层 还是多个层,会对结果造成很大的影响吗? sent_encode函数是使用tokenizer将句子做encode。 tokenizer.encode( sent, add_special_tokensTrue, add_prefix_spaceTrue,…

HTML与CSS基础

2022.12.12 程序员在前端写完代码之后通过浏览器的渲染和解析成为用户看到的网页 浏览器出品的公司不同,内部的渲染引擎也不同。导致解析相同代码时的速度、性能、效果也不同 相同的前端网页在不同浏览器中运行的的结果也可能不同 WEB的三大标准 HTML包含页面内…

Java+MySQL基于SSM的智能办公管理系统

随着时代的发展,人们越来越来希望通过简单方便快捷的方式来进行办公,通过自能办公系统可以实现在线办公,这种办公模式脱离了传统纸质办公很多困扰,在实现现代化的同时提高了办公的效率。 本智能办公管理系统采用JAVA语言来进行开发,用小巧灵活的MySQL数据库做完后台存储解释。本…

痞子衡职场经验与感悟分享 - 索引

大家好,我是痞子衡,是正经搞技术的痞子。本系列痞子衡给大家分享的是职场经验与见闻感悟。 痞子衡在嵌入式行业也摸打滚爬了不少年,有一些个人经验可以给大家参考。所谓他山之石可以攻玉,希望痞子衡的经验对大家的职场之路有所帮…

jsp+ssm计算机毕业设计电影影评网【附源码】

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: JSPSSM mybatis Maven等等组成,B/S模式 Mave…

java基础的综合运用

文章目录前言一.类的设计书籍类书架类用户类二.行为的规范2.1 增加书籍2.2展示所有书籍2.3查找书籍2.4 删除书籍2.5 归还书籍2.6 借阅书籍2.7 退出系统三.测试类的方法四.项目的目录前言 在我们学习完面向对象的知识之后,我们就要运用相关知识去实现一个图书管理系…

十六进制转Ascii脚本(包含\x处理)

目录 1.前言 2.十六进制转换脚本(包含处理\x) 1.前言 在以前玩CTF的时候,会遇到十六进制编码,特别是带\x的那种,网上虽然也有在线解密网站,但是对于\x解码不是特别友好。 2.十六进制转换脚本(包含处理\x&#

【Flink实时数仓】数据仓库项目实战 《四》日志数据分流 【DWD】

文章目录【Flink实时数仓】数据仓库项目实战 《四》日志数据分流-流量域 【DWD】1.流量域未经加工的事务事实表1.1主要任务1.1.1数据清洗(ETL)1.1.2新老访客状态标记修复1.1.3新老访客状态标记修复1.2图解1.3代码1.4数据测试1.4.1 测试脏数据1.4.2 测试e…

论文写作神器,SCI 写作必备

一、论文写作建议与英文句型积累/引用 1. Academic Phrasebank 网址: https://www.phrasebank.manchester.ac.uk/ Academic Phrasebank:从引言工作到结论提出了论文写作的详细建议,并在每个小点给出了海量的英语表达以供参考。是 SCI 新手…

linux red hat 8.0 搭建DNS服务

DNS简介: 简单的来说,DNS就是把域名和IP地址联系在一起的服务,有了DNS服务器,你就不用输入IP地址来访问一个网站,可以通过输入网址访问。 可以把DNS服务理解成网易有道词典,你去搜索一个英语单词&#xff0…

【MindStudio训练营第一期】【昇腾AI训练营新手班学习笔记】大作业

介绍 大作业:使用MindStudio成功复现昇腾社区中的MindX SDK应用案例 选题:黑白图像上色 https://www.hiascend.com/zh/developer/mindx-sdk/case-studies/d0c56d6f-a6f9-4b77-8587-db8272f22f3b 步骤 运行 使用MindStudio打开下载到的工程文件 创建d…

jsp+ssm计算机毕业设计大学新生军训管理系统【附源码】

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: JSPSSM mybatis Maven等等组成,B/S模式 Mave…

笔试强训(四十八)

目录一、选择题二、编程题2.1 左右最值最大差2.1.1 题目2.1.2 题解一、选择题 (1)常见的http错误描述原因错误的是(D) A.404-Not found B.302-临时重定向 C.500-内部服务错误 D.403-IP address rejected 403 Forbidden&#xff1…

Unity Animancer插件(三)运动

一、根运动 Animancer的根运动系统与原生的工作原理完全相同,但我们可以通过继承Transition类型或实现ITransition接口,来将额外的数据与动画绑定,从而更方便地控制根运动。 在下面这个示例中,我们通过自定义的Transition类实现…

jsp+ssm计算机毕业设计订单管理系统【附源码】

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: JSPSSM mybatis Maven等等组成,B/S模式 Mave…

Linux操作系统~信号处理的底层原理

目录 1.信号在内核中的表示 信号处理的方法 2.信号的递达,未决,阻塞 3.信号集操作函数 (1).sigset_t(信号集类型) (2).信号集函数 (3).sigprocmask函数…

基于asp.net194校园火车票预订系统-计算机毕业设计

项目介绍 asp.net版火车票查询系统主要有用户注册,在线查询,在线订票,后台管理等功能。用户只有先注册才能登录火车票查询系统的首界面,然后可以进行在线查询、车票订购的功能。可对车次信息的查询和客户对已定车票信息的查询&am…

【云原生进阶之容器】第一章Docker核心技术1.6节——UnionFS

1 UnionFS综述 1.1 什么是 UnionFS 联合文件系统(Union File System),2004年由纽约州立大学开发,它可以把多个目录内容联合挂载到同一个目录下,而目录的物理位置是分开的。UnionFS可以把只读和可读写文件系统合并在一起,具有写时复制功能,允许只读文件系统的修改可以保…