- arch: 和体系结构相关的内核代码。子目录代表Linux支持的体系结构,如x86表示IntelCPU及其相兼容的体系结构。(所支持的各CPU)
- drivers: 系统设备驱动程序。子目录下进一步分出各种类型的设备,如显卡驱动位于drivers\video
- fs: 存放Linux支持文件系统的代码。不同文件系统对应于不同子目录,如nfs文件系统就是nfs子目录
- include: 包括编译内核所需的大部分头文件。(与平台无关的头文件在include/linux子目录下)
- init: 包含内核的初始化代码(不是系统引导代码)。看这里的代码是研究内核如何工作的好起点。
- ipc: 包含了进程间通信的内核代码
- kernel: 内核管理的代码。与硬件相关的代码在arch\*\kernel下
- lib: 库代码。 与处理器结构相关的库代码被放在arch\*\lib\下。
- net: 实现网络的代码。
- mm: 包含了内存管理的相关代码。与硬件体系相关的内存管理代码位于arch\*\mm下,如arch\x86\mm\
- modules: 包含现有的、可动态加载的系统模块
- scripts: 包含配置内核的脚本文件。
- documentation: 文档,对每个目录作用的具体说明。
CONFIG和MAKEFILE文件里有相关文件的引用和关联的配置。
书: Professional Linux Kernel Architecture
查看源代码:
LXR(
http://lxr.linux.no/)能对指定的源码文件建立索引数据库,利用Perl脚本动态生成包含源码的Web页面。在此Web页中,所有的变量、常量和函数都以超连接的形式给出
LXR还提供标识符搜索和文件搜索,结合程序Glimpse(http://webglimpse.net/)还可以对所有的源码文件进行全文检索,甚至包括注释。
Windows下用SourceInsight(http://sourceinsight.com/)
整了个傻瓜型的批处理数据库备份,一个劲地报拒绝访问
sqlcmd -S ServerName\InstanceName -i sqlfile
sql:
BACKUP database BTSys to disk="D:\BAK\btsysdb.bak"
拒绝访问?难道俺没有权限写D:\BAK\,检查了下没问题。
打开SqlServer,用里面自带的备份方法尝试备份,备份文件默认保存在类似C:\Program Files\Microsoft Sql Server\MSSQL.1\MSSQL\Backup下。
修改备份目录至D:\BAK,同样是拒绝访问。
这样问题清楚了,我一瞅C:\Program Files\Microsoft Sql Server\MSSQL.1\MSSQL\Backup的权限,果然有个SQLServer2005MSSQLUser的帐户,权限是完全控制
同样给D:\BAK加了这个帐户的权限后,俺的BAT就能顺利运行了。

_最近很忙,闲下后找个时间整理一下
Read XML:
var xmldoc = new ActiveXObject("Microsoft.XMLDOM");
//var xmldoc = new ActiveXObject("MSXML2.DOMDocument.3.0");
xmldoc.async = false;
xmldoc.load(%XMLFILE%);
Random Int:
var randomIndex = Math.floor(Math.random()*%MAX%);
Sleep:
setTimeout("%DesiredFunction%", %sleepTime_milliseconds%);
Send HTTP Request:
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("GET", %sURL%, false);
xmlhttp.send();
if (xmlhttp.statusText == "OK")
Generate Table Dynamically:
var findTable;
var tagTbody, tagTr, tagTd, cellContent;
// Find existing table
if (! (findTable = document.getElementsByTagName("table")[0]))
{
var findbody = document.getElementsByTagName("body")[0];
findTable = document.createElement("table");
}
else if (!(tagTbody = document.getElementsByTagName("tbody")[0]))
{
findTable = ShowResultsInTable;
tagTbody = document.createElement("tbody");
}
// First Column
tagTr = document.createElement("tr");
tagTd = document.createElement("td");
cellContent = document.createTextNode(%SOMETEXT%);
tagTd.appendChild(cellContent);
tagTr.appendChild(tagTd);
// Second Column
tagTd = document.createElement("td");
cellContent = document.createTextNode(%SOMETEXT%);
tagTd.appendChild(cellContent);
tagTr.appendChild(tagTd);
// ...
tagTbody.appendChild(tagTr);
findTable.appendChild(tagTbody);