从Linux的进程调度机制中想到的
Linux持续维护相关的数据结构(诸如runqueue、prio_array),不断更新进程的动态优先级,并相应的调整时间片,从而实现了O(1)复杂度的进程调度算法,可以在常量时间内调度新进程上台运行,而不受系统中进程总数的影响。
我觉得这至少能佐证三个道理:
(1)效益可以来自于平时点点滴滴地积累(功夫都在平时,而并非只针对schedule()函数本身做“天才的设计”);
(2)维持秩序固然需要成本,却可以带来可观的收益(如果不是一直维护着井然有序的队列,进程调度算法的复杂度恐怕很难优于O(N));
(3)世上没有免费的午餐(O(1)复杂度不是0成本的),但不断努力,不断积累就可能吃到很便宜的午餐。
相关文档:
1. HCI层协议概述:
HCI提供一套统一的方法来访问Bluetooth底层。如图所示:
从图上可以看出,Host Controller Interface(HCI) 就是用来沟通Host和Module。Host通常就是PC, Module则是以各种物理连接形式(USB,serial,pc-card等)连接到PC上的bluetooth Dongle。
在Host这一端:application,SDP,L2cap等协议 ......
1.修改/etc/oratab ,添加$ORACLE_SID:$ORACLE_HOME:Y --
Y代表OS启动则DB启动必须设置为Y,否则dbstart和dbstop不可用,N为不启动,$ORACLE_SID是DB
SID,$ORACLE_HOME是DB 绝对路径
2.修改/etc/rc.d/rc.loacl,加入以下:
#listener command
COMM_LISTENER=/opt/oracle/product/10.2.0/db_1/bin/lsnrctl
L ......
Linux中后台执行任务方式:
cron
是系统主要的调度进程,可以在无需人工干预的情况下运行作业。crontab命令允许用户提交、编辑或删除相应的作业。每一个用户都可以有一个
crontab文件来保存调度信息。可以使用它运行任意一个shell脚本或某个命令,每小时运行一次,或一周三次,这完全取决于你。每一个用户都可以有
......
Linux中/usr与/var目录详解
/usr文件系统
/usr 文件系统经常很大,因为所有程序安装在这里. /usr 里的所有文件一般来自Linux distribution;本地安装的程序和其他东西在/usr/local 下.这样可能在升级新版系统或新distribution时无须重新安装全部程序.
/usr/X11R6
X Window系统的所有文件. ......