进程的概念

server/2024/9/22 23:50:31/

文章目录

  • 1、什么是进程(Process)
  • 2、PCB
    • 1.pid进程的id/标识符
    • 2.内存指针
    • 3.文件描述符表
    • 4、进程调度
      • 4.1状态
      • 4.2优先级
      • 4.3上下文
      • 4.4记账信息


1、什么是进程(Process)

一个程序,运行起来/跑起来,在操作系统中就会出现一个对应的进程
进程就是一个跑起来的应用程序
在这里插入图片描述
除了上述自己运行起来的应用程序是进程之外,还有一些是系统自带的/安装某些程序,给你添加的,这些进程对于你的系统能够稳定运行有很重要的意义
要想让一个程序能够稳定运行,就必须得给这个进程分配系统资源,包括不限于cup,内存,硬盘,网络带宽,显卡…
进程也可以视为操作系统进行资源分配的基本单位
在操作系统中包含了许多的进程,一旦进程多了我们就要进行管理,对于管理我们通用的做法是,先组织,再描述
描述:通过一些结构体/类把一个进程的核心信息抽象提取出来,并进行表示
组织:通过一定的数据结构,把多个这样的结构体/类的对象串起来,方便进一步的各种增删改查

2、PCB

在操作系统中,通常使用称为PCB(进程控制块)这样的结构体来描述进程
结构体中就需要包含一些进程的核心信息
操作系统中通常会使用链表这样的结构,把多个PCB串起来
1.任务管理器中查看进程列表,就是在遍历链表的每个节点,并且获取显示出对应的信息
2.创建新的进程(双击某个程序运行),新的进程创建出一个对应的新的PCB,并且添加到上述链表中
3.销毁某个进程(某个程序退出),要把链表上对应的PCB节点给删除掉
在PCB结构体中包含了很多信息,此处我们只讨论以下几个

1.pid进程的id/标识符

在这里插入图片描述
同一个机器,同一个时刻,,进程id是一定不同的

2.内存指针

进程运行时,需要消耗一定的硬件资源,内存就是一个关键的资源
一个程序,在运行的时候,就会被从硬盘加载到内存中,就会加载这个程序的指令/依赖的数据
这里的指针是一组指针,它告诉操作系统,该进程要运行的指令都在内存的哪些地方,也告诉操作系统,该进程依赖的数据,又在哪些地方

3.文件描述符表

一个进程运行的时候,就会操作一些文件,就会通过一个“顺序表”这样的数据结构,记录当前的这个进程,都打开了哪些文件

4、进程调度

任务管理器中,可以看到系统中包含很多的进程,每个进程都需要执行,执行就需要占用CPU资源,这时就需要通过进程调度来合理分配资源
1.并行执行:一个核心,同一时刻,只能运行一个程序
2.并发执行:cpu把总的执行时间,切换成若干个小的片段,每个片段执行一个进程,每个片段称为“时间片”由于时间片比较短,cpu切换进程的速度极快,人感知不到所有站在人的角度来看,这若干个进程在“同时执行”(本质不是同时)
操作系统会按照并行+并发相互搭配,运行所有的进程
PCB中又提供了以下几个属性,支持进程调度

4.1状态

记录了进程当前处于什么状态,如就绪,阻塞等,进程调度时需要根据进程的状态来确定哪些进程可以被调度执行

4.2优先级

用于确定进程在就绪队列中的执行顺序,优先级高的进程通常会被优先调度执行

4.3上下文

进程在cpu执行的过程中,会产生很多的“中间结果”,在进程切换出cpu之前就需要把这些中间结果(cpu的各种寄存器中的值)保存到PCB上下文里(寄存器->内存)【存档】
下次这个进程回到cpu上执行的时候,就需要先把之前的存档恢复回来(内存->寄存器)【读档】

4.4记账信息

通过表格来统计,进程分配的时间或者资源等等


http://www.ppmy.cn/server/27799.html

相关文章

【MySQL】驱动表、被驱动表详解。—— 性能优化。

文章目录 什么是 驱动表 和 被驱动表?哪个表是驱动表?性能优化建议: 我是一名立志把细节都说清楚的博主,欢迎【关注】🎉 ~ 原创不易, 如果有帮助 ,记得【点赞】【收藏】 哦~ ❥(^_-)~ 如有错误…

汽车车灯的材料是什么?汽车车灯的灯罩如果破损破裂破洞了要怎么修复?

汽车车灯的材料主要包括灯罩和灯底座两部分,它们所使用的材料各不相同。 车灯罩的材料主要是透明且具有良好耐热性和耐紫外线性能的塑料。其中,聚碳酸酯(PC)是一种常用的材料,它具有高抗冲击性、耐化学品腐蚀和优良的…

正版Office-Word使用时却提示无网络连接请检查你的网络设置 然后重试

这是购买电脑时自带的已经安装好的word。看纸箱外壳有office标记,但是好像没有印系列号。 某天要使用。提示:无网络连接请检查你的网络设置。 经过网上高手的提示: 说要勾选勾选ssl3.0、TLS1.0、1.1、1.2。 我的截图 我电脑进去就缺1.2. …

用Scrapy 从数据挖掘到监控和自动化测试

Scrapy 是一个 BSD 许可的快速高级网络爬虫和网络抓取框架,用于抓取网站并从其页面中提取结构化数据。它可以用于广泛的用途,从数据挖掘到监控和自动化测试。 安装scrapy pip install scrapy 爬虫示例 示例代码写入文件 import scrapyclass QuotesSp…

【数据结构】链表专题2

前言 本篇博客继续探讨有关链表的专题,这片博客的题,提前打个预防针,有点意思哦,哈哈哈,话不多说,进入正文 💓 个人主页:小张同学zkf ⏩ 文章专栏:数据结构 若有问题 评论…

虚拟机安装与配置win7

一、安装镜像 Windows7 64位 ed2k://|file|cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso|3420557312|B58548681854236C7939003B583A8078|/ 建议迅雷下载 二、VMware 安装win7 1.新创自定义虚拟机 2.默认即可 3.iso文件我们自己下载,选择一个空的磁盘 4.…

数字旅游以科技创新为核心:推动旅游服务的智能化、精准化、个性化,为游客提供更加贴心、专业、高效的旅游服务

目录 一、引言 二、数字旅游以科技创新推动旅游服务智能化 1、智能化技术的应用 2、提升旅游服务的效率和质量 三、数字旅游以科技创新推动旅游服务精准化 1、精准化需求的识别与满足 2、精准化营销与推广 四、数字旅游以科技创新推动旅游服务个性化 1、个性化服务的创…

Python 操作PDF图片 – 添加、替换、删除PDF中的图片

PDF文件中的图片可以丰富文档内容,提升用户的阅读体验。除了在PDF中添加图片外,有时也需要替换或删除其中的图片,以改进视觉效果或更新信息。文本将提供以下三个示例,介绍如何使用Python 操作PDF文件中的图片: 目录 …