进程描述和控制 --操作系统精髓与设计

操作系统精髓与设计原理-进程描述和控制 本文若未注明均摘抄自《操作系统精髓与设计原理》:William Stallings著,陈向群、陈渝译,机械工业出版社出版第六版 3 进程描述和控制 关键字 阻塞态 父进程 进程切换 交换 子进程 抢占 程序状态字 内核态 退出态 任务 就绪态 中断 进程 轮转 跟踪 进程控制块 用户态 运行态 陷阱 阅读详情

操作系统设计必须满足某些一般性的需求,大多数需求都涉及进程:

  • 操作系统必许交替执行多个进程,在合理的相应时间范围内使处理器的使用率最大。
  • 操作系统必须按照特定的策略(例如某些函数或应用城居具有较高的优先级)给进程分配资源,同时避免死锁。
  • 操作系统可以支持进程间的通信和用户创建进程,它们对构造应用程序很有帮助。

3.1:进程和进程控制块

进程的定义:
  • 一个正在执行中的程序
  • 一个正在计算机上执行的程序实例
  • 能分配给处理器并由处理器执行的实体
  • 一个具有以下特征大的活动单元:一组指令序列的执行、一个对当前状态和相关的系统资源的集合
也可以把进程当作一组元素的实体,进程的两个基本元素是程序代码(可能被执行相同程序的其他进程共享)和与代码相关联的数据集。假设处理器开始执行该程序代码,且我们把这个执行实体成为进程。在进程执行时,任意给定一个时间,进程都可以唯一的被表征为以下元素:
  • 标识符:跟这个进程相关的唯一标识符,用来区别其他进程
  • 状态:如果进程正在执行,那么进程处于执行态
  • 优先级:相对于其他进程的优先级
  • 程序计数器:程序中即将被执行的下一条指令的地址
  • 内存指针:包括程序代码和进程相关数据的指针,还有和其他进程共享内存块的指针
  • 上下文数据:进程执行时处理器的寄存器中的数据
  • I/O状态信息:包括显示的I/O请求、分配给进程的I/O设备和被进程使用的文件列表等
  • 审计信息:可包括处理器时间综合、使用的时钟数综合、事件限制、审计号等
前面的列表信息被存在在一个进程控制块的数据结构中。该控制块有操作系统创建和管理。如图:


进程控制块是操作系统能够支持多进程提供多重处理技术的关键工具。当进程被中断时,操作系统会把程序计数器和处理器寄存器(上下文数据)保存到进程控制快中相应位置,进程状态也改变为其他值,例如阻塞态或就绪态。现在操作系统可以自由地把其他进程置为运行态,把其他进程的程序计数器和进程上下文数据加载到处理器寄存器中,这样其他进程就可以开始执行。

每个进程都有进程控制块PCB,都存放在内存中。但是我们要尽量少的把东西放到PCB里面去。

通俗来说,进程需包含三方面内容:1. 进程在执行什么程序 
  2. 执行的程序在处理什么数据
  3. 进程处于什么状态

对于PCB我的理解:在引进了多任务操作系统后,操作系统需要在进程切换的时候,需要把当前寄存器中的值写入当前进程PCB的registers中,保存起来。再把新进程的PCB的registers中的值装载入CPU,这样才完成了进程的切换。这些开销是额外的开销,在单机环境里面是不应该有这些开销的,进程上下文切换这种额外开销要越少越好。


3.2.进程状态

1.进程终止原因如图:



2.进程的五状态模型

如图:


  • 运行态:该进程正在执行。如果只有一个处理器,一次最多只有一个进程处于改状态。
  • 就绪态:进程做好了准备,只要有机会该开始执行。(注意:比如一个设备在等待I/O设备输入,这是阻塞态不是就绪态,就绪态是一切资源都准备好了)。
  • 阻塞/等待态:进程在某些事件发生前不能执行,如I/O操作完成。
  • 新建态:刚刚创建的进程,操作系统还没有把它加入到可执行进程组中。通常是进程控制块已经创建但还没有加载到内存中的新进程
  • 退出态:操作系统从可执行的进程组中释放出的进程,或者是因为它自身停止了,或者是因为某种原因被取消
分析:
新建态举例:一个新用户登录到分时系统中,首先,操作系统执行一些必须的辅助工作,将标识符关联到进程,分配和创建管理进程所需要的所有表。此时,进程处于新建态,意味着操作系统已经执行了创建进程的必须动作,但还没有执行进程。例如,操作系统可能基于性能或内存局限性的原因,限制系统中的进程数量。当进程处于新建态时,操作系统所需要的关于该进程的信息保存在内存的进程表中,但进程自身还未进入内存,就是即将执行的程序代码不再内存中,也没有为这个程序相关的数据分配空间。当进程处于新建态时,程序保留在外村中,通常是磁盘中。

状态中转换有两种需要注意:
  • 运行->就绪:这类转换最常见原因是,正在运行的进程达到了“允许不中断执行”的最大时间段。实际上所有多道程序操作系统都实行了这类时间限定。这类转换还有很多其他原因,例如操作系统给不同的进程分配不同的优先级,但这不是在所有操作系统中都实现了得。假设进程A给一个给定的优先级运行,且具有更高优先级的进程B正处于阻塞套。如果操作系统知道B等待事件发生,则将B转化为就绪态。然后因为优先级的原因中断A的执行,将处理器分派给进程B,我们说操作系统抢占(preempted)了进程A。最后一种情况是,进程资源自愿释放对处理器的控制,例如一个周期性地进行记账和维护的后台进程。
  • 不存在:阻塞->运行。阻塞态不能直接到运行态。当锁等待的时间发生时,处于阻塞态的进程只能转换到就绪态,然后转换到运行态。




操作系统(精髓与设计原理)第八版 操作系统(精髓与设计原理)第八版 。 1.内容清晰; 2.内含书签。 立即下载

相关推荐

操作系统:精髓与设计原理(高清第七版)

本书不仅全面地讲述了操作系统的基本概念、原理和方法,还清楚地展现了当代操作系统的本质和特点。作者针对近几年操作系统领域的最新变化,对操作系统的设计原理进行深入的阐述,同时将其对操作系统整个领域全面而深入的理解呈现给读者。 本书特色 ·选择Windows Vista、UNIX和Linux三个操作系统作为示例,以帮助读者熟悉当代操作系统的设计原理和实现问题。 ·新增嵌入式操作系统一章,讨论了嵌入式操作系统的基本特点,并给出了两个实例系统:TinyOS和eCos。 ·在第5版的基础上扩展了计算机安全的相关内容,包括计算机安全威胁和计算机安全技术。 ·扩展和更新了并发的相关内容,并增加了有关游戏软件中多处理器调度设计问题的实例。

操作系统精髓与设计原理(只讲大概的,暂时完结,核心内容差不多就是这些了,详细的还是要看书)

本文概述了计算机系统和操作系统的核心概念。计算机系统由处理器、内存、I/O模块和系统总线构成,发展经历了微处理器革命,现代计算机普遍采用多核处理器和高速缓存技术以提升性能。指令执行分为取指和执行两阶段,中断机制优化了I/O效率。存储器采用层次结构平衡速度、容量与成本。 操作系统作为应用与硬件的接口,提供程序开发、运行、资源管理等服务,具有便利性、高效性和可扩展性。其发展历程反映了硬件升级、新功能需求和错误修正的演进。多处理器系统通过SMP架构实现高效并行处理,操作系统在资源管理、错误响应等方面发挥关键作用,

2401_85637543的博客 1496

操作系统精髓与设计原理 第8版.zip

《操作系统:精髓与设计原理》是讲解操作系统的经典教材,全书不仅系统地讲述了操作系统的基本概念、原理和方法,而且以当代最流行的操作系统——Windows Vista、UNIx和Linux为例,全面清楚地展现了当代操作系统的本质和特点。与教材配套的专用站点,为教师和学生理解书中内容,提供了及时、生动的材料。

操作系统——精髓与设计原理

关于操作系统概念,结构和原理的教材,尽可能清楚与全面展示现代操作系统的本质和特点。

小白兔奶糖の博客 1247

操作系统:精髓与设计原理(第8版)

操作系统:精髓与设计原理(第8版).[美William Stallings(详细书签) 仅供学习使用,请勿用于任何商业用途

操作系统精髓与设计原理 第8版

操作系统精髓与设计原理 第8版 操作系统精髓与设计原理 第8版 操作系统精髓与设计原理 第8版 操作系统精髓与设计原理 第8版 操作系统精髓与设计原理 第8版

操作系统—— 精髓与设计原理--期末复习

本文诣在帮助大家通过操作系统课程期末考试,如需补充内容欢迎评论区提醒。敬请收藏。

qq_62795094的博客 5282

手把手实战:快速构建合同智能审查Agent

配置“模型供应商”,选择 “OpenAI-API-compatible”,输入申请到的 “API Key” 和 “URL” 后点击“保存”,如下图示例完成 “AlayaNew/DeepSeek-R1。至此,我们完成了合同智能审核Agent的构建,我们也可以在Dify中把这个智能体发布为API服务,这样企业其它应用如OA就可以通过API集成,在原合同流程中实现智能审核工作。该节点“输入变量”中,配置从“开始”节点中获取上传的文件,输出变量就是合同的内容,配置如下图。接下来我们开始创建智能体。

weixin_46880696的博客 4403

计算机操作系统精髓与设计原理

计算机操作系统精髓与设计原理 高速缓存: 主要解决处理器和内存的速度不匹配的问题。处理器的速度一致快于存储器的访问速度,这需要在速度、价格和大小方面进行折中。高速缓存区试图使访问速度接近现有的最快的存储器,同时保持价格便宜的大存储容量(以较为便宜的半导体存储器技术实现)。 对于高速缓存的设计可以分为:高速缓存的大小、块大小、映射函数、替换算法、写策略。 块大小即为高速缓存与内存交换数据的单位。当一个新块被读取到高速缓存中时,要根据映射函数确定这个块占据那个高速缓存单元,尽可能的减小替换的块在不久的将来还会

Artisan_w 4348

Apache Doris集群IP变更急救指南:用Docker容器+priority_networks快速恢复FE/BE节点

本文详细介绍了Apache Doris集群在IP变更情况下的应急处理方案,通过Docker容器和priority_networks配置快速恢复FE/BE节点。文章提供了从容器化环境构建、元数据迁移到生产环境切换的全流程指南,帮助运维团队在30分钟内完成集群恢复,显著减少停机时间。

pink7的博客 116

从机械到数字:EC11旋转编码器与ESP32的PWM控制艺术

本文详细解析了EC11旋转编码器与ESP32的PWM控制技术,探讨了如何将机械旋转动作转换为精确的数字信号控制。通过硬件连接、信号处理和软件优化等实践技巧,开发者可以构建高效的人机交互系统,适用于智能照明、电机控制等多种应用场景。

android的专栏 786

【操作系统精髓与设计原理】第三章-进程描述和控制

记录第三章进程描述和控制。 什么是进程,进程的状态,进程描述,进程控制

weixin_43916755的博客 941

特斯拉数字孪生4.0体系解析:从“数字镜像“到“持续进化“的造车革命

当每一辆汽车都拥有自己的“数字分身”,我们正见证的不仅是技术革新,更是整个制造业文明形态的跃迁。其数字孪生体已超越“数字镜像”的被动属性,成为。特斯拉年服务收入超1200美元/车的业绩表明,数字孪生正在将汽车从“交通工具”转变为“持续增值的智能终端”。构建起覆盖设计、制造、使用、服务全链条的虚拟镜像体系,将物理世界与数字世界的融合推向新高度。:特斯拉的实践证明,数字孪生已从“技术选项”升级为“战略必选项”。不仅重塑了汽车产品的价值创造逻辑,更预示着整个制造业向“元宇宙工业”演进的新范式。

beige888的博客 1609

操作系统精髓与设计原理之进程描述和控制

一、  通常哪些事件会导致创建一个进程? 1、  新作业的进入 2、  父进程由于某种原因开启一个派生进程 3、  一个新的服务的启动,操作系统因提供一项服务而创建。 4、  交互登陆,终端用户登陆到系统。 二、抢占一个进程是什么意思? 抢占就是优先级高的进程去抢占优先级低的且正在执行的进程的资源,导致优先级低的正在运行态的进程被迫阻塞(终端)。通俗的讲就是一个进程正处在运行态执行,此

Al_xin的专栏 1545

CPU系统级验证——测试激励——imperas公司riscvOVPsimPlus文件分析

本分析重点关注该repo向量扩展部分。 1. repo简介 该repo是指令集验证的仿真环境包括,大部分是指令集的测试用例,也包含了一些模拟器,如riscvOVPsimPlus。 主要介绍的是riscvOVPsimPlus指令集模拟器,riscvOVPsimPlus(下面统称ISS)是imperas公司在riscvOVPsim基础上扩充了向量扩展的指令集模拟器,该repo于今年9月份部分开源 什么叫部分开源呢? 首先该repo必须在imperas官网注册下载,而且必须是企业用户(免费邮箱人家瞧不上.

知识,既贵,又便宜。 4460

GEE:哨兵时间序列遥感数据和动态阈值方法计算物候时期EOS/SOS(2)

本文将分享和解释论文《Improved Estimates of Arctic Land Surface Phenology Using Sentinel-2 Time Series》中使用到的基于阈值估算北极地区的植被物候,特别是北极地区的植被季节开始和结束的日期(SoS和EoS)的方法和代码。该方法使用的是使用哨兵2数据,并实现了两种阈值方法( 无平滑的阈值方法、平滑后的阈值方法)。

养乐多的博客 2972

操作系统精髓与设计原理(二)——进程描述和控制

文章目录什么是进程进程和进程控制块进程状态两状态进程模型进程的创建和终止五状态模型被挂起的进程进程描述进程控制进程创建进程切换 现代操作系统最基础的任务就是进程管理。 什么是进程 开发操作系统是为了给应用程序提供一个方便、安全和一致的接口。 进程和进程控制块 上一章对进程的定义: 一个正在执行的程序。 计算机中正在运行的程序的一个实例。 可以分配给处理器并由处理器执行的一个实体。 由单一的顺序的执行线程、一个当前状态和一组相关的系统资源所描述的活动单元。 可以把进程当成由一组元素组成的实体,进程的连个基

Think Different. 329

【30】软考软件设计师——UML类图与用例图满分精讲|下午第3题常考核心

本文是《软件设计师·50讲通关|从零基础到工程师职称》专栏第30篇,聚焦**模块四:应用技术(下午题)第3道高频大题**,UML建模是历年下午必考核心,单题分值稳定10~12分。全文深度拆解两大核心UML图表:**类图**与**用例图**,超详细讲解类图三层结构、可见性修饰符、五大核心关系(泛化/关联/依赖/聚合/组合)的判定标准与绘图规范;吃透用例图参与者、系统边界、三大关系(包含/扩展/泛化)的底层逻辑,搭配独家**关系秒杀口诀、标准绘图模板、真题改错技巧**;全文适配补图、判断关系、分析场景、纠错优化

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 573

<操作系统:精髓与设计原理> 进程描述和控制

操作系统必须交替执行多个进程,在合理的响应时间范围内使处理器的利用率最大 操作系统必须按照特定的策略给进程分配资源,同时避免死锁 操作系统可以支持进程间的通信和用户创建进程,它们对构建应用程序很有帮助 进程 一个正在执行中的程序 一个正在计算机上执行的程序实例 能分配给处理器并由处理器执行的实体 一个具有以下特征的活动单元: 一组指令序列的执行、一个当前状态和相关的系统资源集

Slark的博客 409

YOLOv8剪枝 稀疏训练+slim剪枝测试精度仅掉1.6个点,速度提高10.3fps!

摘要 本文介绍了YOLOv8剪枝方法Slim(Network Slimming),通过L1正则化作用于BN层的缩放因子(γ),自动识别并剪除冗余通道,实现模型轻量化。核心步骤包括:稀疏训练(引入L1正则化)、通道剪枝(按γ阈值裁剪)、微调恢复精度。实验表明,该方法能有效压缩模型大小、减少计算量,且支持通过调整speed_up等超参数控制剪枝强度。移植代码需修改C2F模块以适配剪枝,并配置稀疏训练参数(如reg、sl_epochs)。最终剪枝模型需移除优化器以减小体积,但不支持多卡训练。

FJN110的博客 862

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

【搞定操作系统】---《操作系统精髓与设计原理》读书笔记:第 3 章:进程描述和控制

本文目录: 一、什么是进程 1.1  背景 1.2  进程和进程控制块 二、进程状态 2.1  两状态进程模型 2.2  进程的创建和终止 2.3  五状态模型 2.4  被挂起的进程 三、进程描述 3.1  操作系统的控制结构 3.2  进程控制结构 四、进程控制 4.1  执行模式 4.2  进程创建 4.3  进程切换 五、操作系统的执行 5.1  无进程内...

Java学习 900

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

操作系统精髓与设计原理学习笔记三:进程描述和控制

一、什么是进程:

Mailzyw的专栏 1252

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

操作系统精髓与设计原理(原书第6版) 第三章 进程描述和控制 学习笔记(2)

第三章 进程描述和控制 3.4 进程控制 1 两种模式:用户态与内核态: 用户态:非特权态。用户通常在该模式下运行。 内核态:又称特权态、系统态、控制态。指的是操作系统的内核,这是操作系统中包括重要系统功能的部分。下表展示了操作系统内核中通常可以找到的功能。 2 使用两种模式的优势与问题 ...

zr147258369的博客 434

操作系统精髓与设计原理(原书第6版) 第三章 进程描述和控制 学习笔记(1)

第三章 进程描述和控制 操作系统需要满足的需求大都涉及到进程。例如: ●操作系统必须交替执行多个进程,在合理的响应时间范围内使处理器的利用率最大。 ●操作系统必须按照特定的策略给进程分配资源,同时避免死锁。 ●操作系统可以支持进程间的通信和用户创建进程,它们对构造应用程序很有帮助。 3.1 什么是进程 1 引...

zr147258369的博客 728

阿龙的学习笔记---《操作系统 - 精髓与设计原理》笔记---第三章:进程描述和控制

1. 进程 定义: 一个正在执行的程序实例; 能分配给处理器并执行的实体; 一组由命令、当前状态、数据、一组相关的系统资源表征的活动单元。 由进程控制块来表示,包括:程序代码、标识符、状态、优先级、程序计数器、内存指针、上下文数据、I/O状态信息、记账信息。 2. 进程状态 五状态模型:运行、就绪、阻塞、新建、终止。 挂起态: 当进程被交换至磁盘中,设置为挂起态,这样能够拓展内存,让更多的进程并发运行,提高效率。挂起时也会有状态变化:阻塞/挂起态——I/O完成——变成就绪/挂起态。 3.

阿龙的博客 216

《操作系统——精髓与设计原理(第八版)》复习题抄录

手敲一遍,便于记忆;记录下来,便于复习。 第一部分 背景知识 第1章 计算机系统概述 1.1 列出并简要定义计算机的4个主要组成部分。 答: 处理器(Processor):控制计算机的操作,执行数据处理功能。 内存(Main Memory):存储数据和程序。 输入/输出模块(I/O modules):在计算机和外部环境之间移动数据。 系统总线(System bus):在处理器、内存和输入/输出模块...

张劲声的博客 7万+
上一篇: 计算机的构成概述 --操作系统设计精髓与设计
下一篇: 拼接最小字典序 --字符串数组
FreeeLinux
博客等级 码龄11年 421粉丝 356原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值