计算机操作系统-第十天

news2025/1/20 5:53:40

目录

1、操作系统的进程

进程的概念

进程的组成------PCB        

进程的组成------程序段、数据段

旧知新学:《程序是如何运行的》

进程的特征

本节思维导图


1、操作系统的进程

进程的概念

当我们打开多个qq程序,我们会发现任务管理器的进程中有两个qq进程:

程序:是静态的,是放在磁盘里的可执行文件,是一系列的指令集合

进程:是动态的,是一个程序的一次执行过程,同一个程序多次执行会对应多个进程

进程的组成------PCB        

为了区分这些看起来相同的进程,操纵系统会在一个进程创建时,为该进程分配一个唯一的、不重复的“身份证号”-----PID(Process ID,进程ID)

可以看到的是任务管理器中有多个相同名字的网页的进程,它们的PID各不相同......

除了PID在任务管理器中我们还发现操作系统记录了其他的内容:

可以让操作系统区分各个进程的进程描述信息:

进程标识符PID、用户标识符UID

可用于实现操作系统对资源的管理的进程控制和管理信息

①CPU、磁盘、网络流量的使用情况统计等;

②进程当前状态:就绪态、阻塞态、运行态

③可用于实现操作系统对进程的控制、调度的资源分配清单:

某进程正在使用哪些文件 / 内存区域 / I/O设备

以及处理机的相关信息:

如PSW、PC等等各种寄存器的值(用于实现进程切换)

这些信息都被保存在一个数据结构PCB(Process Control Block),即进程控制块

操作系统需要对各个并发运行的进程进行管理,而管理时所需的所有信息都会被放在PCB中

PCB是进程存在的唯一标志,当进程被创建时操作系统为其创建PCB,当进程结束时回收PCB

进程的组成------程序段、数据段

旧知新学:《程序是如何运行的》

        其中,PCB、程序段和数据段三者共同组成了一个新的概念:进程实体/映像它与进程的区别在于进程是动态的,而进程实体(进程映像)是静态的,后者反映了进程在某一时刻的状态(快照)如:x=2、x++等,我们也因此可以得出新的结论:PCB是给操作系统用的,而程序段和数据段是给进程自己使用的,与进程自身的运行逻辑有关

当我们引入进程实体的概念后,我们就可以将进程定义为以下内容:

进程是进程实体的运行过程,是系统进行资源分配调度的一个独立单位

关于“调度”的解释:一个进程被“调度”,就是指操作系统决定让该进程运行在CPU上

关于前文“挂起两个qq进程”的相关拓展:同时挂起两个qq号,会产生两个qq进程,它们的PCB、数据段各不相同,但是它们程序段中的内容是相同的

进程的特征

相比于静态的程序,动态的进程拥有以下特征:

动态性:进程是程序的一次执行过程,是动态地发生、变化和消亡地

并发性:内存中有多个进程实体、各进程可并发执行

独立性:进程是能独立运行、独立获得资源、独立接受调度地基本单位

异步性:各进程按各自独立的、不可预知地速度向前推进,可能导致运行结果的不确定性

结构性:每个进程都会配置一个PCB,结构上来看,进程由程序段、数据段、PCB组成

需要补充的是:动态性是进程最基本的特征 ~

本节思维导图

~over~

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

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

相关文章

对代码感兴趣 但不擅长数学怎么办——《机器学习图解》来救你

目前,该领域中将理论与实践相结合、通俗易懂的著作较少。机器学习是人工智能的一部分,很多初学者往往把机器学习和深度学习作为人工智能入门的突破口,非科班出身的人士更是如此。当前,国内纵向复合型人才和横向复合型人才奇缺;具有…

C#中使用 ref

下面是一个示例,演示了如何在C#中使用 ref: class Program {static void Main(){int number 10;Console.WriteLine("原始值: " number);ModifyValue(ref number);Console.WriteLine("修改后的值: " number);}static void Modify…

关于罗克韦尔跟西门子PLC之间通讯的解决方案

不同品牌的PLC设备之间通讯一般是通过总线模块,或者直接在PLC内编程实现,这样不仅硬件成本高,而且开发调试的时间都很长,后期维护也相当麻烦。本文采用IGT-DSER智能网关模块,PLC内不用编程,通过PLC现有的以…

如何在 Python 中创建一个虚拟环境,以及为什么需要它

当用 Python 开发软件时,一个基本的方法是在你的机器上安装 Python,通过终端安装所有需要的库,在一个 .py 文件或笔记本中编写所有的代码,并在终端运行你的 Python 程序。 这是很多初学者和很多从使用 Python 进行数据分析过渡的…

【Note】CNN与现代卷积神经网络part4(附PyTorch代码)

文章目录 2.2 残差网络(ResNet)2.2.1 函数类2.2.2 残差块2.2.3 ResNet模型2.2.4 训练模型2.2.5 Summary 本《CNN与现代卷积神经网络》Note系列会共分为4个part,本文为part4。本Markdown共4k字。 2.2 残差网络(ResNet) …

文心一言 4.0 ERNIE-Bot 4.0 :ERNIE-Bot 4.0 大模型深度测试体验报告

本心、输入输出、结果 文章目录 文心一言 4.0 ERNIE-Bot 4.0 :ERNIE-Bot 4.0 大模型深度测试体验报告前言相关跳转文心一言 4.0 ERNIE-Bot 4.0 接口简介Bash 请求示例代码Windows 模式使用 Python 请求如果直接使用官方提供的代码文心一言 4.0 ERNIE-Bot 4.0 API 在…

GEE19:基于Landsat8的常见的植被指数逐年获取

植被指数逐年获取 1. 常见的植被指数1.1 比值植被指数(Ratio vegetation index,RVI)1.2 归一化植被指数(Normalized Difference Vegetation Index,NDVI)1.3 增强植被指数(Enhanced Vegetation I…

nuxt3+ts:集成 百度-爱番番 客服

一、本文目标 nuxt3 ts 集成百度爱番番(客服) 百度爱番番—企业的一站式智能营销管家 二、百度爱番番客服能力 三、爱番番后台基础配置 3.1、设置中心 登录后点右上角设置中心 3.2、沟通与触达 -- > 站点设置 -- > 新建站点 填写信息 3.3、获…

jQuery的使用,下载以及一些小案例

24.jQuery的使用 1.官网地址 https://jquery.com/ 版本: ●1X:兼容E678等低版本浏览器,官网不再更新 ●2x:不兼容IE678等低版本浏览器,官网不再更新 ●3x:不兼容E678等低版本浏览器,是官方主要更新维护的版本 2 jQuery的使用步…

【MySQL】面试题

引言 :MySQL面试题及答案 【最新版】 目录 1、NOW()和CURRENT_DATE()有什么区别?2、CHAR和VARCHAR的区别?3、主键索引与唯一索引的区别4、MySQL中有哪些不同的表格?5、SQL的生命周期…

优化大型机床装配调度:项目管理软件的应用方法

最近,Zoho Projects项目管理软件的一位资深客户,跟我们分享了他是如何把Projects应用于大型机床装配的复杂调度。小Z觉得特别有必要,把各行各业的成功应用和实践经验发布出来。在取得这位资深用户同意后,我们推出了本篇文章&#…

NIO IN:技术蔚来的首次「大阅兵」

宝山,上海第一钢铁厂旧址。 上周,蔚来在这里点亮金色炉台,2500 立方米高炉,浓重的工业气质与古典凝重的光影交织,蔚来 NIO IN 用科技的进步呼应那个火红的年代。 这是蔚来第一次开科技发布会,为了全方位展…

【Leetcode每日一题 2530】「贪心|模拟|优先队列」执行K次操作后的最大分数

2023.10.18 本题重点&#xff1a; 1.优先队列的使用 2.ceil()函数的使用相同的还有floor()函数的使用 题目介绍&#xff1b; 给你一个下标从 0 开始的整数数组 nums 和一个整数 k 。你的 起始分数 为 0 。 在一步 操作 中&#xff1a; 选出一个满足 0 < i < nums.l…

latex:使用中文字体

解决方案 我这里使用的是gbsn&#xff08;其他的字体我不知道&#xff0c;如果有补充请评价&#xff09;&#xff0c;详细说明如下&#xff1a;

vscode调试container(进行rocksdb调试)+vscode比较git项目不同分支和fork的哪个分支

vscode调试container&#xff08;进行rocksdb调试&#xff09; 参考链接&#xff1a; https://blog.csdn.net/qq_29809823/article/details/128445308#t5 https://blog.csdn.net/qq_29809823/article/details/121978762#t7 使用vscode中的插件dev containners->点击左侧的…

【算法练习Day22】 组合总和组合总和 II分割回文串

​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;练题 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 文章目录 组合总和组合总和 II分割回…

多继承vs查看类结构

多继承里面的虚函数 类A有两个虚函数&#xff0c;类B重写了其中一个&#xff0c;类C重写了两个&#xff1b; 类C里面可以重写所有继承到的虚函数&#xff08;类A、类B里面的虚函数&#xff09; class A { public:virtual void init() { std::cout << "A init !&qu…

uniapp collapse动态生成多个折叠面板手动展开收起(包括uni-ui版)

前言 官方文档没有暴露出相关api&#xff0c;那就看看组件源码。 以下示例均通过 vue-cli 创建的 uni-app h5 项目 uView&#xff08;1.x&#xff09;版本 源码 node_modules\uview-ui\components\u-collapse-item\u-collapse-item.vue 这个方法是用来改变折叠面板子组件收起还…

Jmeter接口测试 —— jmeter对图片验证码的处理

jmeter对图片验证码的处理 在web端的登录接口经常会有图片验证码的输入&#xff0c;而且每次登录时图片验证码都是随机的&#xff1b;当通过jmeter做接口登录的时候要对图片验证码进行识别出图片中的字段&#xff0c;然后再登录接口中使用&#xff1b; 通过jmeter对图片验证码…

亲,手撸图文博文太累了?试试这个神器!

这一篇博客有关如何使用[InternLM-XComposer]来写图文并茂的博文。InternLM-XComposer是一个基于人工智能的创作工具&#xff0c;它可以根据你的输入生成不同类型的内容&#xff0c;例如文章、诗歌、歌词、代码等。你可以使用它来创作有趣和有创意的博客&#xff0c;同时也可以…