操作系统之进程四要素

进程所具备的条件

一般来说,linux系统中的进程都具备下列诸元素:
(1)有一段程序供其执行,即使是和其他进程共用;
(2)有进程专用的系统堆栈空间;
(3)有task_struct数据结构,也就是进程控制块。有了这个数据结构,进程才能成为内核调度的一个基本单位,从而接受内核的调度。但同时,该数据结构也记录着进程所占用的各项资源;
(4)有独立的存储空间,即用户空间堆栈。

这四条都是必要条件,缺一不可,否则就只能称作是线程了。如果完全没有用户空间,就称作是“内核线程”;而共享用户空间就称作是“用户线程”。也统称线程。

这是内核层面的线程,与用户空间里实现的线程是完全不同的。参考操作系统之用户空间和内核空间实现线程

另外,在linux系统中“进程”和“任务”是同一个意思,主要是因为linu想源自Unix和i376系统结构。而Unix中的进程在Intel的技术资料中则称为“任务”。

task_struct与用户空间堆栈的联系

前面讲到,每个进程都有一个task_struct数据结构和一片用作系统空间堆栈的存储空间。这两者缺一不可,又有紧密的联系,所以在物理存储空间也连在一起。内核为每个进程分配一个task_struct结构时,实际上是分配两个连续的物理页面(共8192字节)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值