从Linux的进程调度机制中想到的
Linux持续维护相关的数据结构(诸如runqueue、prio_array),不断更新进程的动态优先级,并相应的调整时间片,从而实现了O(1)复杂度的进程调度算法,可以在常量时间内调度新进程上台运行,而不受系统中进程总数的影响。
我觉得这至少能佐证三个道理:
(1)效益可以来自于平时点点滴滴地积累(功夫都在平时,而并非只针对schedule()函数本身做“天才的设计”);
(2)维持秩序固然需要成本,却可以带来可观的收益(如果不是一直维护着井然有序的队列,进程调度算法的复杂度恐怕很难优于O(N));
(3)世上没有免费的午餐(O(1)复杂度不是0成本的),但不断努力,不断积累就可能吃到很便宜的午餐。
相关文档:
2007年12月05日 星期三 05:36
Linux做代理上网服务器
Linux做代理上网服务器--送给那些想用Linux做网吧代理上网服务器的朋友
首先声明,会这个的老鸟不用看,我这只是给新手看的
首先安装好Linux,准备一台有两块网卡的服务器,一网卡接内网,另一网卡接外网,比如网吧外网IP为61.178.89.234 内网IP段为192.16 ......
ZZT的,做个笔记。以备查看。
linux下Configure命令
http://hi.baidu.com/wanyinglong/blog/item/3d4eb9fd08d5a91e08244d34.html
2009-04-19 22:18
‘configure’脚本有大量的命令行选项.对不同的软件包来说,这些选项可能会有变化,但是许多基本的选项是不会改变的.带上’–help’ 选 ......
1.关闭与开启网路端口:
开启81端口:
iptables -I INPUT -i eth0 -p tcp --dport 81 -j ACCEPT
iptables -I OUTPUT -o eth0 -p tcp --sport 81 -j ACCEPT
关闭81端口:
iptables -I INPUT -i eth0 -p tcp --dport 81 -j DROP
iptables -I OUTPUT -o eth0 -p tcp --sport 81 -j DROP
2.关闭和开启物理端口
UP ......
创了一个虚拟机,里面跑SuSE Linux,整个虚拟机拿给别人用的时候,会碰到copy还是move这样的疑问,目前看来,最大的区别在于网卡的MAC地址。如果是copy,MAC地址会重新生成,udev也会重新创建一个网络设备名,原来是eth0的话,现在就是eth1,这个还不是最关键的问题,关键在于SuSE Linux的网络配置文件名是和MAC地址 ......