﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-漫步者-文章分类-OS</title><link>http://www.cppblog.com/Walker/category/11281.html</link><description>先学会转文章，在仔细读文章，最后自己写点东西........</description><language>zh-cn</language><lastBuildDate>Sat, 24 Sep 2011 04:15:41 GMT</lastBuildDate><pubDate>Sat, 24 Sep 2011 04:15:41 GMT</pubDate><ttl>60</ttl><item><title>DBus学习笔记（转）</title><link>http://www.cppblog.com/Walker/articles/146337.html</link><dc:creator>漫步者×&amp;……%￥</dc:creator><author>漫步者×&amp;……%￥</author><pubDate>Sat, 14 May 2011 00:24:00 GMT</pubDate><guid>http://www.cppblog.com/Walker/articles/146337.html</guid><wfw:comment>http://www.cppblog.com/Walker/comments/146337.html</wfw:comment><comments>http://www.cppblog.com/Walker/articles/146337.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Walker/comments/commentRss/146337.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Walker/services/trackbacks/146337.html</trackback:ping><description><![CDATA[<p>作者: <a href="http://www.meegoq.com/" target=_blank>Jerry_Chen</a>&nbsp;&nbsp;来源: <a href="http://www.meegoq.com/" target=_blank>www.meegoq.com</a>&nbsp;&nbsp;</p>
<font color=#002c99>藏]</font>&nbsp;&nbsp; <!-- 页码和简介 -->
<div style="CLEAR: both"></div>
<div class=TopPage>
<div class=toptitle><span class=topinfo>摘要：</span>DBus作为一个轻量级的IPC被越来越多的平台接受，在MeeGo中DBus也是主要的进程间通信方式，这个笔记将从基本概念开始记录笔者学习DBus的过程</div>
[1] DBus学习笔记一:DBus学习的一些参考资料<br>[2] <a class=blue href="http://www.cppblog.com/page/76759/2/">DBus学习笔记二:什么是DBus？</a><br>[3] <a class=blue href="http://www.cppblog.com/page/76759/3/">DBus学习笔记三:DBus的一些基本概念</a><br></div>
<div class=contents_main>
<div id=ArticleCnt class=content_words>
<p>一些基本概念的解释和翻译：<br><a href="http://blog.mcuol.com/User/AT91RM9200/Article/12816_1.htm" target=_blank>http://blog.mcuol.com/User/AT91RM9200/Article/12816_1.htm</a><br><a href="http://www.cnblogs.com/wzh206/archive/2010/05/13/1734901.html" target=_blank>http://www.cnblogs.com/wzh206/archive/2010/05/13/1734901.html</a><br>一个完整的DBus学习教程(强烈推荐，写得相当的全)：<br><a href="http://blog.csdn.net/fmddlmyy/archive/2008/12/23/3585730.aspx" target=_blank>http://blog.csdn.net/fmddlmyy/archive/2008/12/23/3585730.aspx</a><br>两个DBus的完整示例，相当有参考价值<br><a href="http://blog.chinaunix.net/u1/58649/showart_462468.html" target=_blank>http://blog.chinaunix.net/u1/58649/showart_462468.html</a><br><a href="http://hi.baidu.com/zengzhaonong/blog/item/670b98d6e63ae42c07088bae.html" target=_blank>http://hi.baidu.com/zengzhaonong/blog/item/670b98d6e63ae42c07088bae.html</a><br>DBus官方网站，最原滋原味的DBus学习内容<br><a href="http://www.freedesktop.org/wiki/Software/dbus" target=_blank>http://www.freedesktop.org/wiki/Software/dbus</a><br><a href="http://dbus.freedesktop.org/doc/dbus-tutorial.html" target=_blank>http://dbus.freedesktop.org/doc/dbus-tutorial.html</a><br><a href="http://dbus.freedesktop.org/doc/dbus-specification.html" target=_blank>http://dbus.freedesktop.org/doc/dbus-specification.html</a><br>欢迎大家提供更多的DBus学习资料，一起研究</p>
</div>
</div>
<img src ="http://www.cppblog.com/Walker/aggbug/146337.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Walker/" target="_blank">漫步者×&……%￥</a> 2011-05-14 08:24 <a href="http://www.cppblog.com/Walker/articles/146337.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>《FAQ》Windows 的 x86、x64、ia64 各代表什么？</title><link>http://www.cppblog.com/Walker/articles/144123.html</link><dc:creator>漫步者×&amp;……%￥</dc:creator><author>漫步者×&amp;……%￥</author><pubDate>Wed, 13 Apr 2011 07:10:00 GMT</pubDate><guid>http://www.cppblog.com/Walker/articles/144123.html</guid><wfw:comment>http://www.cppblog.com/Walker/comments/144123.html</wfw:comment><comments>http://www.cppblog.com/Walker/articles/144123.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Walker/comments/commentRss/144123.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Walker/services/trackbacks/144123.html</trackback:ping><description><![CDATA[<div id=threadtitle>
<h1>《FAQ》Windows 的 x86、x64、ia64 各代表什么？</h1>
</div>
<div class=t_msgfontfix>
<table cellSpacing=0 cellPadding=0>
    <tbody>
        <tr>
            <td id=postmessage_5942 class=t_msgfont>x86 Windiws 系统泛指支持 Intel 32 位处理器指令集的 Windows 系统，可以安装在 32 位处理器的电脑上，也可以装在 64 位处理器的电脑上，可以运行 32 位的程序，但不能运行 64 位的程序。一般只能识别 3.x G 的内存，剩下的高位内存，要透过 PAE 的方式，转成 RAM Disk，然后间接来使用。<br><br>x64 Windows 系统泛指支持 Intel 64 位处理器指令集的 Windows 系统，只可以安装在 64 位处理器的电脑上，不能安装在 32 位处理器的电脑上，可以运行 32 和 64 位的程序，也可以不受 3.x G 内存的限制，但其本身较大，单一程序占用的内存也较多，在运行速度上，除非运行的是 64 位指令的程序，否则速度通常还会比 32 位系统要慢一点点 (就一点点，差别很有限)。<br><br>IA64 Windows 系统是指可安装在 Intel I-tanium (安腾) 64 位处理器电脑上的 64 位系统，此处理器市场上较为少见，是专为要求苛刻的企业和技术应用而设计，瞄准高端企业市场，相对 Intel 其他系列的处理器，价格昂贵，所以一般是使用在服务器上，IA64 处理器架构的服务器具有 64 位运算能力、64 位寻址空间和 64 位数据通路。</td>
        </tr>
    </tbody>
</table>
</div>
<img src ="http://www.cppblog.com/Walker/aggbug/144123.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Walker/" target="_blank">漫步者×&……%￥</a> 2011-04-13 15:10 <a href="http://www.cppblog.com/Walker/articles/144123.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>操作系统技巧（转）</title><link>http://www.cppblog.com/Walker/articles/137765.html</link><dc:creator>漫步者×&amp;……%￥</dc:creator><author>漫步者×&amp;……%￥</author><pubDate>Thu, 30 Dec 2010 14:02:00 GMT</pubDate><guid>http://www.cppblog.com/Walker/articles/137765.html</guid><wfw:comment>http://www.cppblog.com/Walker/comments/137765.html</wfw:comment><comments>http://www.cppblog.com/Walker/articles/137765.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Walker/comments/commentRss/137765.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Walker/services/trackbacks/137765.html</trackback:ping><description><![CDATA[<div class=msgfont>早在几年前，就有先知先觉的网友感叹道：人在网上漂，哪能不中标。如今，电脑中招更是成了家常便饭。面对来势汹汹的病毒木马们，杀毒软件和防火墙自然是一个都不能少。但有时还是有许多仅仅依靠杀毒软件和防火墙对付不了的顽固分子，这时该怎么办呢？其实在Windows系统的命令行中，已为我们提供了一些非常有用的工具，充分利用就会变成我们对抗病毒的强力武器。下面我们就来看看命令行下的强力抗毒武器。<br>一、TASKLIST——火眼金睛<br><br><br>　　如今的病毒越来越狡猾，常常不见首也不见尾。但许多病毒往往在进程这一环节中露出狐狸尾巴，因而查看进程是查杀病毒的一个重要的方法。命令行提供了进程查看的命令工具——Tasklist(Windows XP或更新版本)。此命令与任务管理器一样可以显示活动进程的列表。但通过使用参数，可以看到任务管理器查看不到的信息，可以实现更强大的功能。使用参数&#8220;/M&#8221;，运行&#8220;Tasklist /M&#8221;将显示每个任务加载的所有的DLL模块；使用参数&#8220;/SVC&#8221;，运行&#8220;Tasklist /SVC&#8221;命令则会显示每个进程中活动服务的列表，从中可以看到进程svchost.exe加载的服务，通过服务就能分辨出究竟是不是恶意病毒进程。此外，还能利用Tasklist命令来查看远程系统的进程，如在命令提示符下输入&#8220;Tasklist /s 208.202.12.206 /u friend /p 123456&#8221;（不包括引号）即可查看到IP地址为208.202.12.206的远程系统的进程。其中/s参数后的&#8220;208.202.12.206&#8221;指要查看的远程系统的IP地址，/u后的&#8220;friend&#8221;指Tasklist命令使用的用户账号，它必须是远程系统上的一个合法账号，/p后的&#8220;123456&#8221;指friend账号的密码。这样，网管进行远程查杀病毒也就方便多了。<br>二、TASKKILL——进程杀手<br><br><br>　　有了Tasklist这双火眼金睛，许多病毒就现身了，但更重要的不是找出病毒，而是要清除它们，这时另一个命令——TASKKIL就派上用场了。例如想结束某个进程，只需从任务管理器中记下进程名，运行下列命令即可：&#8220;TASKKILL /F /IM 进程名&#8221;；也可以通过连接PID的方式，可先运行&#8220;Tasklist&#8221;命令，记下进程的PID号，在命令提符下输入&#8220;taskkill /pid PID号&#8221;即可。说到这里恐怕有人要说这还不如直接利用任务管理器方便。而实际上TASKKILL命令的独门绝技就在于它能结束一些在任务管理器中不能直接中止的进程，这时就要加上参数&#8220;/F&#8221;，这样就能强制关闭进程，例如运行&#8220;TASKKILL /F /pid 1606&#8221;命令就能强制结束PID为1656的进程。除此之外，TASKKILL命令还能结束进程树、远程进程、指定筛选进或筛选出查询的的进程，具体操作可利用&#8220;taskkill/?&#8221;命令进行查看。<br>三、 Netstat——端口侦探<br><br><br>　　如今的木马越来越多，对用户的威胁也越来越大，于是出现许多专门用于木马查杀的工具。其实只要我们合理使用命令行下的Netstat命令就能查出大部分隐藏在电脑中的木马。<br><br>　　我们知道，大部分木马感染系统后都留有服务端口，而这类服务端口通常都处于LISTENING状态,因而从端口的使用情况可以查到木马的踪迹，而这利用Netstat命令就能轻松实现。在命令行中运行&#8220;Netstat &#8211;a&#8221;，这个命令将显示一个所有的有效连接信息列表，包括已建立的连接（ESTABLISHED），也包括监听连接请求（LISTENING）的那些连接。其中Proto代表协议，Local Address代表本机地址，该地址冒号后的数字就是开放的端口号，Foreign Address代表远程地址，如果和其它机器正在通信，显示的就是对方的地址，State代表状态，显示的LISTENING表示处于侦听状态，就是说该端口是开放的，由于木马开启后门成功后该后门处于LISTENING状态，因此你需要注意的就是处于LISTENING状态的端口，如果该端口号陌生，而且端口号数很大，你就应该有所警觉。<br>还可以查看使用端口所对应的进程来进一步确认，这就需要加上参数&#8220;-O&#8221;,运行&#8220;Netstat &#8211;ao&#8221;命令就会显示一个所有的有效连接信息列表，并给出端口对应的PID号。<br>四、 FIND——捆绑克星<br><br><br>　　相信许多人都上过文件捆绑木马的当，表面看起来是一张漂亮MM的图片，而暗地里却隐藏着木马，这种通过文件捆绑进行隐藏是木马的惯用伎俩。而对可疑文件进行必要的检查及时处理往往就能防止产生更严重的后果，于是网上也出现了一些检查捆绑文件的工具。<br><br>　　在Windows中，也可通过命令行巧妙地进行简单的检查。这里要用到字符串搜索命令——FIND，它的主要功能是在文件中搜索字符串，可以利用它进行捆绑文件的检查。方法为：在命令行下运行&#8220;FIND /C /I \"This program\" 待查文件的路径 &#8221;（不包括外面的引号），如果是EXE文件，正常情况下返回值应该为&#8220;1&#8221;，如果出现大于1的情况，你就必须小心了；如果是图片之类的不可执行文件，正常情况下返回值应该为&#8220;0&#8221;，如果出现大于0的情况，就应该引起注意。<br>五、 NTSD——强力终结者<br><br><br>　　如今的病毒越来越狡猾，经常出现即使你能找到它的进程，却不能结束的情况。用任务管理器和前面提到的TASKKILL命令都没有办法中止。当然可以使用进程管理工具，如功能强大Process Explorer等。而实际上使用Windows自带的一个秘密工具就能强制结大部分进程，包括一些十分顽固的进程，这就是NTSD命令。<br>在命令行中运行以下命令：<br><br>ntsd -c q -p PID<br><br><br>　　最后那个PID指要终止的进程的ID。如果不知道进程的ID，可通过Tasklist命令进行查看。利用NTSD命令，除了System、SMSS.EXE和CSRSS.EXE等极少核心进程不能杀外，其它进程都可以强行结束。<br>六、 FTYPE——文件关联修复专家<br><br>和文件捆绑一样，篡改文件关联也是病毒或木马的惯用伎俩，通常的恢复方法主要是通过修改注册表，但注册表操作通常比较麻烦而且容易出错，另一个更方便的方法是使用命令行工具——FTYPE，利用它可以非常轻松地恢复文件关联。比如exefile的文件关联最容易被修改，它的正常的文件关联为：\"%1\" %* 。恢复的时候，只需在命令行中运行下列命令：&#8220;ftype exefile=\"%1\" %* &#8221;就可以了。如果要修复txtfile的文件关联，只需输入：&#8220;ftype txtfile= %SystemRoot%＼system32＼NOTEPAD.EXE %1 &#8221;即可。<br><br>七、FC——注册表监控器<br><br>许多病毒木马都把注册表当作攻击对象，如上面提到的文件关联篡改，而现在所谓的流氓软件之流的不安分的软件在注册表中添加本不应该添加的项值，因而注册表监控就变成十分必要了。于是出现了许多注册表监控类软件，其实我们完全可以仅用Windows系统提供的工具完成该功能。<br><br>下面以监控安装软件过程对注册表做的修改为例介绍如何实现&#8220;监控&#8221;：<br><br>首先，可以在安装软件前备份一次注册表(存储为REG文件，如1.reg)，安装后再导出注册表文件(2.reg)然后再在Windows XP的命令提示行下执行下列命令：<br><br>D:＼&gt;fc /u 1.reg 2.reg&gt;changes.txt<br><br>随后在D盘根目录下打开changes.txt文件，即可清楚地查看该软件对注册表添加了哪些子项，做了什么修改。上例中的安装软件是一个特定的时刻，你可能用此方法分析任一时刻注册表可能发生的变化。</div>
<img src ="http://www.cppblog.com/Walker/aggbug/137765.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Walker/" target="_blank">漫步者×&……%￥</a> 2010-12-30 22:02 <a href="http://www.cppblog.com/Walker/articles/137765.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>分段管理（zz）</title><link>http://www.cppblog.com/Walker/articles/90930.html</link><dc:creator>漫步者×&amp;……%￥</dc:creator><author>漫步者×&amp;……%￥</author><pubDate>Thu, 23 Jul 2009 07:20:00 GMT</pubDate><guid>http://www.cppblog.com/Walker/articles/90930.html</guid><wfw:comment>http://www.cppblog.com/Walker/comments/90930.html</wfw:comment><comments>http://www.cppblog.com/Walker/articles/90930.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Walker/comments/commentRss/90930.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Walker/services/trackbacks/90930.html</trackback:ping><description><![CDATA[<p>一.分段管理</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在286以下的CPU中(8086,8088)，地址线是20位，可寻址范围220b=1M。而在8088或8086中寄存器只有16位，即216b=64K，那么如果利用16寄存器访问到1M的地址空间呢？INTEL公司提出了内存分段管理机制：</p>
<p>1.段寄存器，首先1M内存空间正好被分为16个段，每个段的大小为64K。由于每个段为64K，那么每个段的起始地址都应该是XXXX0H这种形式。从&#8220;XXXX0H&#8221;可以看出，这个20位的地址是不能被直接存放到16位寄存器中的，但从这个地址可以看出它的最低位总是0H=0000b，则将这个地址的最低位去掉后，就可以保存到16位寄存器中，并将其称为段寄存器。</p>
<p>2.段内偏移，由于现在每个段都有64 K空间，则必须有一个保存段内某一个具体地址的16位寄存器，则将其称为段内偏移量寄存器。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 利用以上机制后，就可以利用两个16位的寄存器(段寄存器，段内偏移量寄存器)组合在一起访问1M以内的任何内存单元 。哪如何利用这两个16位寄存器访问一个物理单元呢？物理地址：</p>
<p>根据前面第一点&#8220;1.段寄存器&#8221;所说的，可知段寄存器中所保存的内容是段基址被去掉最低位的0H=0000b而得到的，所以在计算真正物理地址时，必需将最后低位的0H=0000b补上，即将段基址左移四位则可得到，再加上段内偏移量，则物理地址的计算公式为：</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 物理址=段基址&lt;&lt;4 + 偏移量</p>
<p>&nbsp;</p>
<p>本文来自CSDN博客，转载请标明出处：<a href="http://blog.csdn.net/lizhoujian/archive/2008/08/24/2823395.aspx">http://blog.csdn.net/lizhoujian/archive/2008/08/24/2823395.aspx</a></p>
<img src ="http://www.cppblog.com/Walker/aggbug/90930.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Walker/" target="_blank">漫步者×&……%￥</a> 2009-07-23 15:20 <a href="http://www.cppblog.com/Walker/articles/90930.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>