来一发Linux内核调剂战略先容
由于在linux中,用户权限很大,做任何事情都很自由,所以,你往往需要知道你做的每一步在干什么。Linux内核的三种调剂战略:
1,SCHED_OTHER分时调剂战略,
2,SCHED_FIFO及时调剂战略,先到先服务。一旦占用cpu则一向运转。一向运转直到有更高优先级义务抵达或本人保持
3,SCHED_RR及时调剂战略,工夫片轮转。当历程的工夫片用完,体系将从头分派工夫片,并置于停当行列尾。放在行列尾包管了一切具有不异优先级的RR义务的调剂公允
Linux线程优先级设置
起首,能够经由过程以下两个函数来取得线程能够设置的最高和最低优先级,函数中的战略即上述三种战略的宏界说:
intsched_get_priority_max(intpolicy);
intsched_get_priority_min(intpolicy);
SCHED_OTHER是不撑持优先级利用的,而SCHED_FIFO和SCHED_RR撑持优先级的利用,他们分离为1和99,数值越年夜优先级越高。
设置和猎取优先级经由过程以下两个函数:
intpthread_attr_setschedparam(pthread_attr_t*attr,conststructsched_param*param);
intpthread_attr_getschedparam(constpthread_attr_t*attr,structsched_param*param);
比方以下代码创立了一个优先级为10的线程:
structsched_param
{
int__sched_priority;//所要设定的线程优先级
};
例:创立优先级为10的线程
pthread_attr_tattr;
structsched_paramparam;
pthread_attr_init(&attr);
pthread_attr_setschedpolicy(&attr,SCHED_RR);
param.sched_priority=10;
pthread_attr_setschedparam(&attr,¶m);
pthread_create(xxx,&attr,xxx,xxx);
pthread_attr_destroy(&attr);
</p>
只要了解了Linux的基础之后,应该就可以很轻易的解决掉这方面的问题。而有些朋友们常常一接触Linux就是希望构架网站,根本没有想到要先了解一下Linux的基础。这是相当困难的。 了解Linux的网络安全,系统的安全,用户的安全等。安全对于每位用户,管理员来说是非常重要的。 熟悉并掌握安装Linux,安装是学习的前提。目前较常见的安装方法有二种: 如果你想深入学习Linux,看不懂因为文档实在是太难了。写的最好的、最全面的文档都是英语写的,最先发布的技术信息也都是用英语写的。 Linux最大的特点就是其开源性,这一点是十分难得的,这也是它能够存在到现在的原因之一。 学习Linux应具备的。[书籍+网络资源] 任何一个叫做操作系统的东西都是这样子构成的:内核+用户界面+一般应用程序。 放手去搞。尽量不要提问,运用搜索找答案,或者看wiki,从原理上理解操作系统的本质,而不是满足于使用几个技巧。尽量看英文资料。 现在的linux操作系统如redhat,难点,红旗等,都是用这么一个内核,加上其它的用程序(包括X)构成的。
页:
[1]