首页 > 系统服务 > 详细

二、进程

时间:2019-03-20 12:27:06      阅读:184      评论:0      收藏:0      [点我收藏+]

1.在Linux中轻量级进程就是线程,轻量级进程之间可以共享资源。

  进程描述符:task_struct 存放一个进程相关的所有信息。可以说一个进程描述符就代表一个进程。

  进程的七种状态:可运行状态、可中断等待状态、不可中断等待状态、暂停状态、跟踪状态、僵死状态、僵死撤销状态

  进程标识符(PID)

  进程描述符存放在动态内存中,便于内核管理。内核将线程描述符(thread_info)和内核态的进程堆栈一起存放于8K字节的两个页框中。

  线程描述符和进程描述符相互关联,即分别存在于对方的字段中。

  current宏标识运行在当前CPU上的进程。

  进程链表:双向链表,将所有进程的描述符链接起来。进程链表的头是init_task描述符,即所谓的0进程。

  Linux为每种进程优先权都建立一个对应的链表。prio_array_t 数据结构存放这些链表。

  进程间的关系:

    进程描述符中表示进程亲属关系的字段描述:

      real_parent、parent、children、sibling

  内核为加速从PID导出对应的进程描述符指针引入了4个散列表:PID,TGID,PGID,SID

  Linux利用链表来处理冲突的PID:每一个表项由冲突的进程描述符组成的双向链表。

  等待队列:当进程需要等待某个事件的发生而需要睡眠时,则当前进程就把自己放进合适的等待队列,等待内核唤醒他们。

  两种睡眠进程:互斥进程和非互斥进程

  进程资源的限制

2.进程切换

  硬件上下文切换,任务状态段的切换

  执行进程的切换:  http://home.ustc.edu.cn/~hchunhui/linux_sched.html#sec10

  保存和加载FPU、MMX、XMM寄存器的值

3.创建进程

 

 

  

二、进程

原文:https://www.cnblogs.com/ciel12138/p/10564076.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!