linux内核进程系列之进程概述(一)

进程是linux操作系统非常重要的部分,也是一改下功夫的地方;这次介绍关于linux系统进程的一些知识。本次先介绍一下什么是进程,与程序、线程有什么区别与联系。
一、进程vs程序
1、从内核角度来看,进程是操作系统分配内存、CPU时间片等资源的基本单位,为正在运行的程序提供的运行环境。它代表程序的一个执行过程,是一个动态的实体,随程序中指令的执行而不断变化。
2、主要区别如下:
  ① 程序是静态的,进程是动态的。程序作为一个静态文件存储在硬盘等存储介质中,而进程则是为处于执行状态的程序提供的动态运行环境
  ② 一个程序可以对应多个进程,打一个进程只能对应一个程序;
  ③ 进程从创建直至退出具有一定的生命期,而程序只是指令与数据的集合。
二、进程vs线程
1、线程是在进程基础上进一步的抽象,一个进程分为两部分:资源集合和线程集合。线程是进程的一个动态对象,是一组独立的指令流,进程中的所有线程将共享里的资源,但同时各个线程也拥有独立的程序计数器和寄存器上下文。、
2、所有进程至少拥有一个线程。相对于进程是操作系统进行资源管理的最小单元,线程则是程序执行的最小单元。
3、从内核角度来说,并无线程进程之分,从而也就不会有特别针对想成进行描述的数据结构。线程在内核的体现是一个普通的进程,有自己的进程描述符,但与其他进程共享某些资源,这样的进程也叫轻量级进程。
4、针对linux这种独特的线程机制,在进行剁线程应用实现的时候,就需要将轻量级进程(内和调度实体)与用户创建地每个进程关联起来,这样,每个进程可以由内核独立调度,保证了多个线程的并发执行。
三、进程描述符
内核使用进程描述符,即结构task_struct来描述与一个进程相关的所有信息。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值