Jiadong's profileGuiding StarPhotosBlogListsMore Tools Help

Blog


    Linux内核

     

    • 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/)

     

    BACKUP DATABASE :: 出现操作系统错误 5(拒绝访问)

     
    整了个傻瓜型的批处理数据库备份,一个劲地报拒绝访问
    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就能顺利运行了。Disappointed
     
     

    COM对象与其基础RCW分开后就不能再使用

    C#引用COM组件
    --
    我很郁闷,必须回家了,明儿再研究咋回事。
    --
     

    筆記 - 壹

     
    _最近很忙,闲下后找个时间整理一下 
     
    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);