本文重点介绍了进程,并且详细介绍了进程的属性包括工作过程,分别从什么是进程开始;包括进程如何进行管理的;进程的属性有哪些,分别有什么作用;进程的调度;进程的组织来使读者进一步了解进程
目录
一:什么是进程
总所周知:一个计算机程序需要运行必须要在操作系统上运行,需要操作系统分配计算机的各种资源来使得程序正常运行。
而操作系统分配资源给某个独立的程序时,这个程序运行的过程我们就称之为进程;也就是计算机在运行过程中某个独立运行的任务,而计算机可以同时运行多个进程,所以我们也就有了多进程这个说法
进程是操作系统进行资源分配的基本单位
例子:打开我们电脑的资源管理器可以看到我们计算机当前正在执行的进程(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.遍历进程就是遍历链表
例如:我们看到的任务管理器上的进程就是遍历进程再加以显示得到的进程结果
最后,这次的介绍差不多就是这些了,有收获的友友可以继续关注博主的后续文章
喜欢的友友别忘记一键三连哦!!!