进程管理
bysun2013
专注于Linux,研究学习Linux内核编程
展开
-
Linux pid_hash散列表
linux系统中每个进程由一个进程id标识,在内核中对应一个task_struct结构的进程描述符,系统中所有进程的task_struct通过链表链接在一起,在内核中,经常需要通过进程pid来获取进程描述符,例如kill命令;最简单的方法可以通过遍历task_struct链表并对比pid的值来获取,但这样效率太低,尤其当系统中运行很多个进程的时候。linux内核通过pids散列表来解决这一问题原创 2013-11-02 13:52:42 · 3488 阅读 · 0 评论 -
linux内核的调度策略
linux内核的三种主要调度策略:1. SCHED_OTHER 分时调度策略2. SCHED_FIFO实时调度策略,先到先服务 3. SCHED_RR实时调度策略,时间片轮转SHCED_RR和SCHED_FIFO实时进程将得到优先调用,实时进程根据实时优先级决定调度权值。SHCED_RR和SCHED_FIFO的不同点: 当采用SHCE转载 2013-11-18 20:05:36 · 1119 阅读 · 0 评论 -
Linux 2.6内核线程实现
Linux 从内核2.0到内核2.4期间多线程编程使用的是LinuxThread ,但使用这种方式写出的多线程程序在诸多特性上并不是跟POSIX标准兼容的(通过网址:http://www.kernel.org/doc/man-pages/online/pages/man7/pthreads.7.html 可以了解诸多的不兼容特性)。这显然跟Linux号称的跟POSIX标准兼容不相符,所以从内核2.转载 2013-11-05 21:26:34 · 1603 阅读 · 0 评论