Linux学习记录之进程(一)

进程是Unix操作系统的最重要的抽象之一,它是处于执行期的程序,但是它不仅仅包括代码,还包括相关的文件,挂起信号等资源。线程是进程活动的对象,每个线程都有一个程序计数器,进程栈和一组进程计数器。Linux中线程是进程的一种特例。

进程提供两种虚拟机制,虚拟处理器和虚拟内存。

Linux系统中通过fork()系统调用来产生新的进程,产生的方式是复制当期的进程来产生新进程,所以调用fork()的进程称为父进程,新产生的进程被称为子进程。Linux系统中fork()是调用clone()这个系统调用。

1、进程描述符及任务结构

内核进程放在一个角task_list的双向循环链表里,每一个节点都是一个task_struct,称为进程描述符,该结构定义在<linux/sched.h>中。task_struct包含了描述一个进程的完整信息。

1.1分配进程描述符

Linux通过slab分配器来分配task_struct结构,这样能达到对象复用和缓存着色,(通过预分配和重复使用task_struct,可以避免动态分配和释放所带来的资源消耗,从而使得进程创建的速度较快)。现在不需要专门的寄存器,只需要在栈底放一个thread_info,这个struct可以方便快速计算出tas

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值