进程和线程的区别

进程啥是进程?按照字面意思可以理解为进程是正在运行的程序这些可执行文件,都是文件,平时都静静地躺在硬盘中。在双击之前,不会对操作系统有任何的影响。一旦执行这些文件,操作系统会将这些 .exe 文件加载到内存中,并且让CPU开始执行这些.exe内部的一些指令(exe里面存放着很多这个程序相对应的二进制指令)。这个时候,这些exe文件就开始进行一些具体的工作了,把这些运行起来的可执行文件,称之为“进程”进程(process)还有另一个名字 任务(task)进程是怎么管理的先描述一
摘要由CSDN通过智能技术生成

进程(任务)

什么是进程?

按照字面意思可以理解为进程是正在运行的程序

image-20220322105002388

这些可执行文件,都是文件,平时都静静地躺在硬盘中。在双击之前,不会对操作系统有任何的影响。

一旦执行这些文件,操作系统会将这些 .exe 文件加载到内存中,并且让CPU开始执行这些.exe内部的一些指令(exe里面存放着很多这个程序相对应的二进制指令)。

这个时候,这些exe文件就开始进行一些具体的工作了,把这些运行起来的可执行文件,称之为“进程”

image-20220322105700432

对于java代码来说,最后都是通过java进程跑起来的(JVM)

进程(process)还有另一个名字 任务(task)

操作系统是如何管理进程的

  1. 先描述一个进程(明确出一个进程上面的相关属性)

进程上的相关属性在操作系统中,主要通过C/C++实现的

此处的描述其实就是用的C的”结构体“(和Java的类差不多)

操作系统中,描述进程的结构体,成为PCB(process control block 进程控制块)

  1. 再组织若干个进程(使用一些数据结构,把很多描述进程的信息放在一起,方便进行增删改查)

典型的实现(Linux操作系统),就是使用一个双向链表将每个进程的PCB给串起来

所谓的"创建进程"就是先创建出PCB,然后把PCB加到双向链表中

所谓的"销毁进程",就是找到链表上的PCB,并且从链表上删除

所谓的"查看任务管理器“,就是遍历链表

很多代码其实最终全部都落在操作系统上

</
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值