#详细介绍:什么是计算机进程?进程的属性有哪些?进程是怎么运行的?

news/2024/2/28 12:43:54

本文重点介绍了进程,并且详细介绍了进程的属性包括工作过程,分别从什么是进程开始;包括进程如何进行管理的;进程的属性有哪些,分别有什么作用;进程的调度;进程的组织来使读者进一步了解进程

目录

一:什么是进程

二:进程管理

三:进程的属性

3.1进程的身份标识

3.2内存指针

3.3文件描述附表

四:进程调度

五:进程组织


一:什么是进程

总所周知:一个计算机程序需要运行必须要在操作系统上运行,需要操作系统分配计算机的各种资源来使得程序正常运行。

而操作系统分配资源给某个独立的程序时,这个程序运行的过程我们就称之为进程;也就是计算机在运行过程中某个独立运行的任务,而计算机可以同时运行多个进程,所以我们也就有了多进程这个说法

进程是操作系统进行资源分配的基本单位

例子:打开我们电脑的资源管理器可以看到我们计算机当前正在执行的进程(Ctrl+Alt+Del)

此时我们可以看到我只打开了3个程序,为3个进程,而计算机自开机起就在一直运行,这里我的计算机后台进程有142个 

注意:我们每个应用程序根据的所消耗的资源一般操作系统至少给它创建一个进程来运行。

而不同的应用程序彼此之间是独立里,那么它们也是在不同的进程上运行

 

二:进程管理

计算机是一个功能强大的现代化及其,那么如果每次只能执行一个进程则显得不够用,所以我们的计算机根据计算机的性能(cpu的核心数等)来同时执行多个进程。

而计算机同时执行多个进程,操作系统则需要对这么多个进程来进行管理,此时我们引出了操作系统的另一个功能:进程管理

所谓的进程管理笼统来介绍无非就是两点

1.描述一个进程(明确进程信息)

我们可以把进程来看着一个独立的结构体/类,然后通过结构体/类把进程里面的信息进行描述

2.组织一个进程(把多个进程组织到一起进行有效管理)

使用一定的数据结构来把这些进程的结构体/类(进程)组织到一起进行管理

总:此时我们需要增加/删除/查找进程就是类似于链表的创建新节点/删除节点/查找节点了

操作系统一般是有C语言来写的

三:进程的属性

进程在执行过程中有很多属性来保证它正常执行,我们把进程的结构体简称为PCB(process control block)(进程控制块)

这里介绍几个核心的属性来带读者进一步了解进程的执行过程

3.1进程的身份标识

进程身份标识简称PID,通俗来说就是进程的id,这个id是进程唯一的身份标识

类似数据库中的“主键(primary key)”

类似于我们的身份证号码

3.2内存指针

一个程序想要运行则一定需要调到内存中来运行,那么程序就必须占用一定的内存运行空间

而内存指针就是用于描述进程在运行时在内存中所处的位置(这里是一对内存指针来指向一块空间)

记录了进程在运行时,使用了哪些内存资源

3.3文件描述附表

总的来说:文件描述附表用于描述这个进程在运行过程中使用了哪些文件(我们的计算机存储资源都是以文件来作为基本单位的),使用了哪些硬盘资源

介绍:

进程在运行过程中,没打开一个文件就会生产一个对应的文件描述符用于记录使用过这个文件,而一个进程在执行过程中可能会打开多个文件,把这些文件描述符通过顺序表这种数据结构组织在一起就构成了该进程的文件描述附表

四:进程调度

由于进程调度是操作系统(cpu等)配置资源给进程的重要内容,博主专门把这一节进行单独分讲,在这篇文章的下一个。需要友友请看我的下一篇文章

五:进程组织

操作系统一般使用双向链表这种数据结构来组织进程

1.创建一个进程就是创建一个新节点

2.销毁一个进程就是删除队友的节点

3.遍历进程就是遍历链表

例如:我们看到的任务管理器上的进程就是遍历进程加以显示得到的进程结果

最后,这次的介绍差不多就是这些了,有收获的友友可以继续关注博主的后续文章

喜欢的友友别忘记一键三连哦!!!

 

 

 

 


http://www.ppmy.cn/news/938945.html

相关文章

高手揭密svchost.exe是什么进程

网上有很多关于svchost.exe是什么进程,svchost.exe是什么病毒,svchost.exe占用cpu100%或占用大量内存,svchost.exe有十几个,svchost.exe偷偷连网很象木马的问题,本文提供关于svchost.exe进程的所有信息和用各种专业软件…

僵尸进程孤儿进程

目录 1. 僵尸进程 2. 孤儿进程 1. 僵尸进程 僵尸状态:一个进程已经退出,但是还不允许被OS释放,处于一个被检测的状态。 僵死状态(Z- Zombies )是一个比较特殊的状态。当 子进程退出并且父进程没有读取到子进程退出…

【操作系统】 僵尸进程和孤儿进程

一、前言 博主之前学习操作系统的时候,还真没了解过这两个进程,偶然间,看到,所以打算记录一下这两个知识点。 二、孤儿进程 1.是什么 顾名思义,就是没有父亲的进程。(有点直白了…) 2.发生在什么情况下 一般是父进…

操作系统——Processes 进程

目录​​​​​​​ 1. 导入——什么是操作系统? Operating System (OS) Operations 2. The notion of a process Process State Process Control Block 3. Process Scheduling Schedulers Context switch 4. Operations on Processes 5. Inter-Process Co…

进程:system 的使用

参考博文&#xff1a;https://www.cnblogs.com/leijiangtao/p/4051387.html system()函数的返回值如下&#xff1a; 成功&#xff0c;则返回进程的状态值&#xff1b; 当sh不能执行时&#xff0c;返回127&#xff1b; 失败返回-1&#xff1b; #include<sys/types.h> #i…

操作系统进程线程(二)—父子进程、僵尸进程、孤儿进程、进程终止、守护进程

父子进程、进程组、作业、会话 父进程 已创建一个或者多个进程 子进程 fork创建的。这个函数被调用一次但是返回两次&#xff0c;子进程返回0&#xff0c;父进程返回子进程id。 fork之后&#xff0c;操作系统会赋值一个与父进程完全相同的子进程&#xff0c;虽然是父子关系…

服务器进不去系统system,system是什么进程 system进程可以关闭吗

相信对电脑爱好者来说&#xff0c;一些基本的系统知识不可避免的&#xff0c;但是还是有一部分不懂这方面的知识&#xff0c;在我们打开任务管理器的时候&#xff0c;会看到有System进程在运行&#xff0c;那么System是什么进程&#xff0c;System进程可以关闭吗?对于这个疑问…

Android 通过插桩来代理线程池

前言 在日常开发App的过程中&#xff0c;难免需要依赖第三方Sdk&#xff0c;这样就无形中增加了我们自己App的线程数&#xff0c;从而会导致App出现内存溢出、Cpu消耗增加等等负面影响。如果依赖的Sdk提供了线程池代理的接口还好&#xff0c;那样直接设置我们自定义的线程池。但…

利用Python和Selenium编程,实现定时自动检索特定网页,发现特定网页内容发生变化后,向管理员发送提醒邮件(一)

一、项目需求 要求爬取某单位网站&#xff0c;登录后台查看是否有新增“网友提问”&#xff0c;如果有新的提问&#xff0c;向特定邮箱发出提醒邮件。 二、项目分析 &#xff08;一&#xff09;判断是否可用爬虫爬取相关内容 首先查看该网站的robots.txt文件&#xff0c;发现…

基于java吾悦商城管理系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署

基于java吾悦商城管理系统计算机毕业设计源码系统lw文档mysql数据库调试部署 基于java吾悦商城管理系统计算机毕业设计源码系统lw文档mysql数据库调试部署 本源码技术栈&#xff1a; 项目架构&#xff1a;B/S架构 开发语言&#xff1a;Java语言 开发软件&#xff1a;idea ec…

javaH5女娲宫旅游网站设计与实现计算机毕业设计MyBatis+系统+LW文档+源码+调试部署

javaH5女娲宫旅游网站设计与实现计算机毕业设计MyBatis系统LW文档源码调试部署 javaH5女娲宫旅游网站设计与实现计算机毕业设计MyBatis系统LW文档源码调试部署 本源码技术栈&#xff1a; 项目架构&#xff1a;B/S架构 开发语言&#xff1a;Java语言 开发软件&#xff1a;ide…

JAVA毕业设计HTML5运河古城网站计算机源码+lw文档+系统+调试部署+数据库

JAVA毕业设计HTML5运河古城网站计算机源码lw文档系统调试部署数据库 JAVA毕业设计HTML5运河古城网站计算机源码lw文档系统调试部署数据库 本源码技术栈&#xff1a; 项目架构&#xff1a;B/S架构 开发语言&#xff1a;Java语言 开发软件&#xff1a;idea eclipse 前端技术&…

java计算机毕业设计火炬中学校刊在线投稿审稿系统源码+数据库+系统+lw文档+mybatis+运行部署

java计算机毕业设计火炬中学校刊在线投稿审稿系统源码数据库系统lw文档mybatis运行部署 java计算机毕业设计火炬中学校刊在线投稿审稿系统源码数据库系统lw文档mybatis运行部署 本源码技术栈&#xff1a; 项目架构&#xff1a;B/S架构 开发语言&#xff1a;Java语言 开发软件…

java计算机毕业设计试卷审批系统源码+系统+数据库+lw文档+mybatis+运行部署

java计算机毕业设计试卷审批系统源码系统数据库lw文档mybatis运行部署 java计算机毕业设计试卷审批系统源码系统数据库lw文档mybatis运行部署 本源码技术栈&#xff1a; 项目架构&#xff1a;B/S架构 开发语言&#xff1a;Java语言 开发软件&#xff1a;idea eclipse 前端技…

基于JAVA单位职工房产管理计算机毕业设计源码+系统+lw文档+部署

基于JAVA单位职工房产管理计算机毕业设计源码系统lw文档部署 基于JAVA单位职工房产管理计算机毕业设计源码系统lw文档部署 本源码技术栈&#xff1a; 项目架构&#xff1a;B/S架构 开发语言&#xff1a;Java语言 开发软件&#xff1a;idea eclipse 前端技术&#xff1a;Lay…

K8S 安装

Kubernetes上安装KubeSphere 语雀 有两点 需要注意&#xff1a; 一是calico版本 二是 docker.io/calico/cni:v3.20.6 无法下载导致calico安装失败&#xff0c;手动安装 K8S 云集群安装纯享版 - 傻瓜式一键教程 全自动脚本文件_k8s安装脚本_Erato Rabbit的博客-CSDN博客 安…

java毕业生设计校园外卖零食商城系统计算机源码+系统+mysql+调试部署+lw

java毕业生设计校园外卖零食商城系统计算机源码系统mysql调试部署lw java毕业生设计校园外卖零食商城系统计算机源码系统mysql调试部署lw 本源码技术栈&#xff1a; 项目架构&#xff1a;B/S架构 开发语言&#xff1a;Java语言 开发软件&#xff1a;idea eclipse 前端技术&…

java计算机毕业设计邻里平台源码+系统+mysql数据库+lw文档

java计算机毕业设计邻里平台源码系统mysql数据库lw文档 java计算机毕业设计邻里平台源码系统mysql数据库lw文档 本源码技术栈&#xff1a; 项目架构&#xff1a;B/S架构 开发语言&#xff1a;Java语言 开发软件&#xff1a;idea eclipse 前端技术&#xff1a;Layui、HTML、…

Java计算机毕业设计视听小说源码+系统+数据库+lw文档

Java计算机毕业设计视听小说源码系统数据库lw文档 Java计算机毕业设计视听小说源码系统数据库lw文档 本源码技术栈&#xff1a; 项目架构&#xff1a;B/S架构 开发语言&#xff1a;Java语言 开发软件&#xff1a;idea eclipse 前端技术&#xff1a;Layui、HTML、CSS、JS、J…

java计算机毕业设计高校学生资助管理信息系统MyBatis+系统+LW文档+源码+调试部署

java计算机毕业设计高校学生资助管理信息系统MyBatis系统LW文档源码调试部署 java计算机毕业设计高校学生资助管理信息系统MyBatis系统LW文档源码调试部署 本源码技术栈&#xff1a; 项目架构&#xff1a;B/S架构 开发语言&#xff1a;Java语言 开发软件&#xff1a;idea ec…
最新文章