全部博文(175)
发布时间:2013-04-17 16:21:34
Linux调度主要是在一个runqueue结构体上操作。runqueue结构体有一个prio_array结构体数组,该数组中有个两个prio_array结构体。prio_array结构体的定义如下:struct prio_array { int nr_active /* number of tasks in the queue */; unsigned long bitmap[BITMAP_SIZE]; /* pr.........【阅读全文】
发布时间:2013-04-17 16:06:33
从调度的角度,Linux把进程分成140个优先等级,其中0级到99级是分给实时进程的,100级到139级是分给非实时进程的。每个优先等级都有一个运行对列,这样就有140个运行队列。级数越小优先度越高。调度程序从0级到139级依次询问每个运行队列是否有可执行进程。询问的方法是通过访问一个bitmap,这个位图共有160bits,前1.........【阅读全文】
发布时间:2013-04-17 14:50:40
内核数据结构:hlist_head 分类: Linux内核 2011-05-16 20:58 1228人阅读 评论(3) 收藏 举报 数据结构structnulllistdelete优化内核中,使用list_head作为链表,该数据结构本身即使head又是node。如果将它作为hash list的头节点,那么每个头节点会占用8个字节。因此内核中对其优化,使用hlist_head作.........【阅读全文】
发布时间:2013-04-17 13:54:39
linux 进程管理-----pid哈希链表 2011-04-27 14:14:51 分类: LINUX 为了较快的从给定的pid值得到相应的宿主结构(进程描述符)指针,内核采用了pid哈希链表结构。首先,以下的问题要理解:1)为什么pid哈希链表只定义2048或者4096项(根据你的内存大小确定)?直接定义为pid最大.........【阅读全文】
发布时间:2013-04-17 12:52:05
本系列文章由张同浩编写,转载请注明出处:http://blog.csdn.net/muge0913/article/details/7562133邮箱:muge0913@sina.com进程调度的目标:1、高效性:高效意味着在相同的时间下要完成更多的任务。调度程序会被频繁的执行,所以调度程序要尽可能的高效。2、加强交互性能(interactivity):在系统相.........【阅读全文】