<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[我是程序员   -Shosh's Blog - 操作系统]]></title>
<link>http://www.wscxy.com/shosh/</link>
<description><![CDATA[]]></description>
<language>zh-cn</language>
<copyright><![CDATA[Copyright 2005 PBlog3 v2.8]]></copyright>
<webMaster><![CDATA[shosh.zhu@qisda.com(shosh)]]></webMaster>
<generator>PBlog2 v2.4</generator> 
<image>
	<title>我是程序员   -Shosh&#39;s Blog</title>
	<url>http://www.wscxy.com/shosh/images/logos.gif</url>
	<link>http://www.wscxy.com/shosh/</link>
	<description>我是程序员   -Shosh&#39;s Blog</description>
</image>

			<item>
			<link>http://www.wscxy.com/shosh/article.asp?id=123</link>
			<title><![CDATA[第三章： 进程同步机制]]></title>
			<author>shosh.zhu@qisda.com(shosh)</author>
			<category><![CDATA[操作系统]]></category>
			<pubDate>Sun,15 Nov 2009 02:52:52 +0800</pubDate>
			<guid>http://www.wscxy.com/shosh/default.asp?id=123</guid>
		<description><![CDATA[<p>第三章： 进程同步机制</p>
<p>3.1 信号量和P、V操作</p>
<p>信号量：表示资源使用情况的一种数据结构</p>
<pre>
struct{
	int n; //正数表示当前可用的资源个数，负数表示等待该种资源的进程个数
	PCB* pcbList; //等待该种资源的进程(PCB)列表
}
</pre>
<p>信号量的值仅由P、V操作来改变 </p>
<p>原语：机器指令的延生，往往是为完成某些特定功能而编制的一段系统程序，其操作具有不可分割性（一次性完成）</p>
<p>P操作P(S)：也叫wait操作，S为相应的信号量</p>
<pre>
S = S - 1;
if (S < 0)
{
    //资源不足，得不到分配的情况
    将本进程链入 S 的队尾；
    阻塞本进程；
}
else
{
    本进程继续执行；
}
</pre>
<p>V操作V(S): 也叫signal操作
<pre>
S = S + 1;
if (S > 0)
{
    //说明目前没有进场在等待该资源
    本进程继续执行；
}
else
{
    //说明有进程在等待该资源
    释放S队列上的第一个PCB；
    本进程继续执行；
}
</pre>
<p>3.2 同步机制的应用</p>
<p>使用PV操作实现进程互斥</p>
<ul>
  <li>在每个进程中，P(mutex)和V（mutex）必须成对出现，并且先P后V</li>
  <li>互斥信号量mutex的初值一般为1</li>
</ul>
<p>使用PV操作实现简单同步</p>
<p>例如 ： 供者和用者共同使用缓冲区的问题 </p>
<p>分析和解答：供者和用者两个需要合作来完成，它们之间的桥梁是缓冲区，它们之间的动作需要按照一定的先后顺序才能顺利进行，它们之间的关系是同步。临界资源是缓冲区，因为供者在向缓冲区写入数据的时候，用者不能从缓冲区读数据，同样，在缓冲区数据写满后，用者开始读缓冲区数据，这时供者不能往缓冲区里写数据，直到用者从缓冲区中取完数据。缓冲区有两个临界状态，一是空了，一是满了。使用两个信号量来表示，E表示空了的状态，F表示满了的状态，初始状态下缓冲区是空着的，所以E = 1, F = 0。对于供者，先用P操作获得空着的缓冲区，在写满数据之后，再用V操作释放一个满了的缓冲区的信号量；而用者则使用P操作获得写满的缓冲区，在取完数据之后，再用V操作释放清空的缓冲区的信号量。
所以供者的程序如下：
<br />P(E);
<br />写数据到缓冲区;
<br />V(F);
<br />
用者的程序如下：
<br />P(F);
<br />将缓冲区中的数据全部取走;
<br />V(E);</p>
<p>
不难理解为什么P操作又叫wait操作，而V操作又叫signal操作。因为P操作会确保获得满足信号量要求的临界资源，如果暂时没有，会等待直到其他进程释放出该临界资源并得到后再继续执行；V操作会释放出一种临界资源，发出一个信号，如果有其他进程在等待该资源，会将该资源交给队列最前面的那个进程。</p>
<p>这里有个比较容易混淆的问题：既然临界资源只有缓冲区一种，为什么使用两个信号量E和F？回顾一下什么是信号量,信号量并不代表临界资源，而是临界资源的状态，既然临界资源有两种状态空着和满了，就可以用两个信号量来表示。另外初始值E = 1表示有一个空着的缓冲区，而不是表示缓冲区是空着的，F = 0 表示没有满了的缓冲区，而不是表示缓冲区没有满（或者是空着的）。</p>

<p>使用PV操作的说明：</p>
<ul>
  <li>确定彼此关系和信号量种类</li>
  <li>设定信号量初值</li>
  <li>同一信号量的PV操作要成对出现，只是互斥的PV操作在同一进程中成对出现，而同步的PV操作在不同进程中成对出现。</li>
</ul>
<p>同步互斥的经典例子：生产者和消费者</p>
<p>生产者和消费者的问题和上面提到的供着和用者的例子类似，只是供着和用者只有一个缓冲区，而生产者和消费者有N个缓冲区，构成缓冲池。当N=1时候，本问题就成为了供者和用者的问题，可见，供者和用者的问题只是本问题的一个特例而已。</p>
<p>1、消费者只有在生产者生产出产品之后才能消费（缓冲池中有满的缓冲区时才可以让消费者从缓冲区取走产品消费）<br />
2、生产者在缓冲池满了以后要暂停生产，直到有空的缓冲区出现<br />
3、为避免混乱，生产者和消费者互斥使用缓冲池</p>
<p>上面的1、2点讲的就是供者和用者中提到的同步问题，第3点讲的是互斥问题。</p>
<p>同步问题同样设E和F两个信号量，E表示缓冲池中空缓冲区的数目，初始状态下E = 0; F表示缓冲池中满了的缓冲区的个数，初始状态下F = N。另外增加缓冲池的互斥信号量M， 初始状态下M = 1(表示只用一个缓冲池可供使用）</p>
<p>对于生产者，他要做的事情是：1、等待获得空缓冲区；2、等待获得缓冲池的使用权；3、往空缓冲区中放入产品；4、释放缓冲池使用权（通知缓冲池可以使用了）；5、通知新增一个满的缓冲区（一个新产品）</p>
<p>对于消费者，他要做的事情是：1、等待获得满的缓冲区；2、等待获得缓冲池的使用权；3、从满的缓冲区中取走产品；4、释放缓冲池使用权（通知缓冲池可以使用了）；5、通知新增一个空的缓冲区</p>

<p>生产者和消费者都要做5步动作，其中他们的第4步和第5步都是可以互换的，但是其他步骤是不能改变顺序的，尤其是第一步和第二步。如果第一步和第二步颠倒，很可能发生锁住的问题（死锁），导致生产者和消费者都不能往下进行。举个例子：假如消费者先获得了缓冲池的使用权，然后等待获得满的缓冲区，不过当时没有满的缓冲区，它就在一直占用缓冲池的情况下处于等待状态；而生产者因为得不到缓冲池的使用权，也无法让缓冲区变慢，这样消费者也就永远无法获得满的缓冲区（产品），于是生产者和消费者谁也干不了活了。不过有个原则是：互斥信号量的PV操作要成对出现在临界区的前后，所以第4步和第5步最好不要颠倒，既便于记忆，又避免出错。</p>
<p>上面的步骤中凡是使用了”等待获得“来描述的，都是P操作，要获得的东西是P操作的信号量；凡是用到了”释放“或”通知“的步骤都是V操作，释放或通知的东西就是V操作的信号量。</p>

<p>注意：</p>
<ul>
  <li>P(mutex)和V(mutex)分别出现在临界区的前后</li>
  <li>各信号量的P、V操作都要成对出现</li>
  <li>两个P操作的顺序不能颠倒</li>
</ul>]]></description>
		</item>
		
			<item>
			<link>http://www.wscxy.com/shosh/article.asp?id=122</link>
			<title><![CDATA[第二章： 进程概念]]></title>
			<author>shosh.zhu@qisda.com(shosh)</author>
			<category><![CDATA[操作系统]]></category>
			<pubDate>Sat,14 Nov 2009 17:54:22 +0800</pubDate>
			<guid>http://www.wscxy.com/shosh/default.asp?id=122</guid>
		<description><![CDATA[<p>第二章： 进程概念</p>
<p>2.1 进程的概念</p>
<p>资源的分配单位、并发执行的基本单位、能独立运行的单位</p>
<p>进程：程序在并发环境中的执行过程。</p>
<p>程序本身是具有顺序性的（顺序执行），它的并发执行是通过进程来实现的。</p>
<p>一个程序可由多个进程共用，一个进程可顺序执行多个程序。</p>
<p>特征：</p>
<ul>
    <li>动态性</li>
    <li>并发性</li>
    <li>调度性：资源的分配单位</li>
    <li>异步性：（走走停停）</li>
    <li>结构性： PCB</li>
</ul>
<p>进程的组成：</p>
<ul>
    <li>进程控制块PCB</li>
    <li>程序</li>
    <li>数据集合</li>
</ul>
<p>进程和PCB的关系：</p>
<ul>
    <li>每个进程有唯一的PCB</li>
    <li>OS依赖PCB管理进程</li>
    <li>利用PCB实现进程的动态和并发</li>
    <li>PCB是进程存在的唯一标志</li>
</ul>
<p>2.2 进程的状态及其转换</p>
<ul>
    <li>状态存在于PCB</li>
    <li>基本状态
    <ul>
        <li>运行态：分到CPU，真正在运行</li>
        <li>就绪态：万事具备，只差CPU</li>
        <li>阻塞态：等待设备资源</li>
    </ul>
    </li>
</ul>
<p>2.3 进程的同步与互斥</p>
<p>进程活动中会相互制约</p>
<ul>
    <li>所有进程均相互独立</li>
    <li>以异步方式并发执行</li>
</ul>
<p>同步：进程间共同完成一项任务时直接发生相互作用的关系</p>
<p>举例：供者和用者的关系（供者把数据放入缓冲区，用者从缓冲区提取数据）</p>
<p>说明：</p>
<ul>
    <li>同步进程间具有合作关系</li>
    <li>在执行顺序上须按照一定的顺序协调进行</li>
</ul>
<p>互斥：并发执行的多个进程由于竞争同一资源而产生的相互排斥的关系</p>
<p>说明：</p>
<ul>
    <li>互斥进程在逻辑上是完全无关的</li>
    <li>他们的运行不具有时间次序的特征（对同一资源的使用并无谁先谁后的规定）</li>
</ul>
<p>2.4 临界资源和临界区</p>
<p>临界资源（Critical Resource）：一次仅允许一个进程使用的共享资源（包含硬件资源和软件资源）</p>
<p>临界区（Critical Section）:在每个进程中访问临界资源的那段程序（简称CS区）</p>
<p>进入临界区的准则：</p>
<ul>
    <li>单一进入：进入临界区的进程在任何时候最多只能有一个</li>
    <li>独自占用：进入临界区的进程单独占用临界资源</li>
    <li>尽快退出：使用完临界资源后尽快释放临界资源并退出临界区</li>
    <li>等则让权：在等待临界资源的时候，需让出CPU使用权</li>
</ul>]]></description>
		</item>
		
			<item>
			<link>http://www.wscxy.com/shosh/article.asp?id=121</link>
			<title><![CDATA[第一章： 操作系统引论]]></title>
			<author>shosh.zhu@qisda.com(shosh)</author>
			<category><![CDATA[操作系统]]></category>
			<pubDate>Fri,13 Nov 2009 23:31:50 +0800</pubDate>
			<guid>http://www.wscxy.com/shosh/default.asp?id=121</guid>
		<description><![CDATA[<p>都是概念性的东西，稍微了解下即可。</p>
<p>操作系统的功能：</p>
<ul>
    <li>存储器管理
    <ul>
        <li>内存分配</li>
        <li>地址映射：把逻辑地址映射为内存的物理地址</li>
        <li>内存保护：各程序之间的内存如何做到不冲突</li>
        <li>内存扩充：提供虚拟内存</li>
    </ul>
    </li>
    <li>处理机管理
    <ul>
        <li>作业调度</li>
        <li>进程调度</li>
        <li>进程控制</li>
        <li>进程通信</li>
    </ul>
    </li>
    <li>设备管理
    <ul>
        <li>缓冲区管理</li>
        <li>设备分配</li>
        <li>设备驱动</li>
        <li>设备无关性：方便编程使用</li>
    </ul>
    </li>
    <li>文件管理
    <ul>
        <li>文件存储空间管理</li>
        <li>文件操作</li>
        <li>目录管理</li>
        <li>读写管理和存取控制</li>
    </ul>
    </li>
    <li>用户接口
    <ul>
        <li>命令界面</li>
        <li>程序界面</li>
        <li>图形界面</li>
    </ul>
    </li>
</ul>
<p>操作系统的特点：</p>
<ul>
    <li>并发（宏观上的，与并行相区分）</li>
    <li>共享</li>
    <li>异步</li>
</ul>
<p>操作系统的类型：</p>
<ul>
    <li>批处理系统：单道+多道（作业）批处理系统
    <ul>
        <li>多道批处理系统虽然多个作业成批进行，但是缺乏与用户的交互性</li>
    </ul>
    </li>
    <li>分时系统
    <ul>
        <li>分时：若干并发程序对CPU时间的共享</li>
        <li>多个用户终端共用主机</li>
        <li>特点：
        <ul>
            <li>同时性：多个用户同时使用</li>
            <li>交互：用户可控制程序的运行</li>
            <li>独立：用户感觉不到其它用户的存在，感觉自己在独立使用计算机</li>
            <li>及时：计算机对命令及时响应</li>
        </ul>
        </li>
    </ul>
    </li>
    <li>实时系统
    <ul>
        <li>响应时间更短，比分时系统的&ldquo;及时&rdquo;更为&ldquo;及时&rdquo;</li>
        <li>特点：
        <ul>
            <li>专用</li>
            <li>实时</li>
            <li>高可靠</li>
        </ul>
        </li>
    </ul>
    </li>
    <li>个人机系统
    <ul>
        <li>分类
        <ul>
            <li>单用户操作系统</li>
            <li>多用户操作系统</li>
        </ul>
        </li>
    </ul>
    </li>
    <li>网络操作系统
    <ul>
        <li>多个主机通过网络互联</li>
    </ul>
    <ul>
        <li>特征
        <ul>
            <li>分布式</li>
            <li>自治性：各台主机可自行运行</li>
            <li>互连性</li>
            <li>可见性：知道对方计算机地址</li>
        </ul>
        </li>
    </ul>
    </li>
    <li>分布式操作系统
    <ul>
        <li>特征
        <ul>
            <li>分布式处理</li>
            <li>模块化结构</li>
            <li>利用信息通信</li>
            <li>实施整体控制</li>
        </ul>
        </li>
        <li>特点
        <ul>
            <li>透明：不知道资源位于何处</li>
            <li>灵活：得益于模块化结构，系统的修改很方便</li>
            <li>可靠：一部分发生故障并不影响整体的使用</li>
            <li>高性能</li>
            <li>可扩充</li>
        </ul>
        </li>
    </ul>
    </li>
</ul>]]></description>
		</item>
		
			<item>
			<link>http://www.wscxy.com/shosh/article.asp?id=110</link>
			<title><![CDATA[win7下有通信提示音时音乐声音不再减小]]></title>
			<author>shosh.zhu@qisda.com(shosh)</author>
			<category><![CDATA[操作系统]]></category>
			<pubDate>Mon,12 Oct 2009 16:17:29 +0800</pubDate>
			<guid>http://www.wscxy.com/shosh/default.asp?id=110</guid>
		<description><![CDATA[<p>在windows7下，如果你在看电影或听歌，当QQ等网络工具传来的消息播放提示音的时候，电影或音乐的声音会暂时性减小。</p>
<p>其实这是可以设置的，打开控制面板（Control panel），再打开声音（Sound），在弹出的窗口选择通信（Comunications），最后选中第四个选项什么都不做（Do nothing）即可。</p>
<p>如下图所示：</p>
<p><img alt="" src="http://wscxy.com/shosh/attachments/month_0910/soundreduce.jpg" /></p>
<p>可以看到其实我们还可以设置成&ldquo;让其他静音&rdquo;或降低音量。</p>]]></description>
		</item>
		
			<item>
			<link>http://www.wscxy.com/shosh/article.asp?id=107</link>
			<title><![CDATA[重新安装Windows后 Ubuntu 启动恢复]]></title>
			<author>shosh.zhu@qisda.com(shosh)</author>
			<category><![CDATA[操作系统]]></category>
			<pubDate>Wed,16 Sep 2009 01:32:45 +0800</pubDate>
			<guid>http://www.wscxy.com/shosh/default.asp?id=107</guid>
		<description><![CDATA[Ubuntu Linux与Windows双系统，重新安装Windows后将系统启动硬盘（也就是C盘）所有文件覆盖，完全不顾及其他系统启动文件的存在，这就导致已安装的Ubuntu 8.04不能启动，不过，幸好Ubuntu8.04版支持wubi安装，也就是在windows下安装。如果你的Ubuntu8.04是wubi安装的话，恢复就很简单。 <br/><br/>1、把Ubuntu所在盘下的wubidr和wubidr.mbr两个文件(如找不到在Ubuntu-&gt;winboot文件夹下也有)copy到c：\下。 <br/> <br/>2、修改系统隐藏boot.ini文件，用记事本打开后在最后加上一句c:\wubildr.mbr=Ubuntu 保存退出。 <br/><br/>3、重启即可恢复重装以前的状态。<br/><br/>更好的方法是使用easyBCD，具体请参考 <a target="_blank" href="http://blog.zol.com.cn/1303/article_1302851.html" rel="external">http://blog.zol.com.cn/1303/article_1302851.html</a>]]></description>
		</item>
		
			<item>
			<link>http://www.wscxy.com/shosh/article.asp?id=99</link>
			<title><![CDATA[Ubuntu学习笔记（1）]]></title>
			<author>shosh.zhu@qisda.com(shosh)</author>
			<category><![CDATA[操作系统]]></category>
			<pubDate>Fri,20 Mar 2009 23:52:30 +0800</pubDate>
			<guid>http://www.wscxy.com/shosh/default.asp?id=99</guid>
		<description><![CDATA[<ul>
    <li><b>背景：</b></li>
</ul>
<p>&nbsp;&nbsp;&nbsp; 之前使用wubi安装的方法安装了Ubuntu8.10的中文版，而在Vista系统的虚拟机上安装的是Ubuntu8.10的英文版，不过为了较好地使用Ubuntu的所有功能，尤其是高级的画面特效等，所以主要使用的还是硬盘上的Ubuntu，而非虚拟机上的。</p>
<p>&nbsp;&nbsp;&nbsp; 用了一阵Ubuntu之后，发现它其实它要比想象中的要容易使用，也被它的桌面效果、窗口特效等深深吸引。不过毕竟刚开始学习使用Ubuntu，也遇到了一些问题。一是刚开始安装的是中文版本，在中文版本的基础上也顺利装上了中文输入法，但是我希望使用英文版的Ubuntu，在成功切换回英文版后，中文输入法虽然已经启动，但是却不能使用它来输出中文了，即使重装输入法也没效果。但是在登入时如果选择汉语登入，输入法就没有问题。不过这不是主要的，我想这个问题在网上搜搜是可以找到答案的。另一个问题是设置了compizconfig settings manager中的一些设置之后，本来好好的，在看到Appearance Preferences下的Visual Effects中的三个选项（None, Normal, Extra）竟然一个都没选中，本来应该选中Extra的才对，所以我就选中它，不料屏幕的画面竟然放大了，而且光标的位置和实际的位置存在几个厘米的偏差，怎么都弄不回去了。几次重启都没有效果，所以就卸掉重新安装了一下。</p>
<p>&nbsp;&nbsp;&nbsp; 本系列日志将我配置Ubuntu的主要操作记录下来，方便以后碰到同样的问题可以快速解决，同时也可以帮助Ubuntu的初学者快速入门。</p>
<ul>
    <li><b>第一天2009-03-19</b></li>
</ul>
<p>&nbsp;&nbsp;1、在windows(vista)下安装Ubuntu8.10。这个自己去配置就好了，这一次我配置了20GB的空间给它，上次只给了10GB，感觉太少了，以后软件装多了，还要使用一定的方法重新给它分配（这也是选择重装的一个原因）。安装语言选择English。安装很快，重新启动后在配置的时候会需要几十分钟的等待。</p>
<p>&nbsp;&nbsp;2、成功进入Ubuntu桌面之后，结合上一次使用的经验，第一步做的就是选择最快的源，否则下载软件或更新的速度太慢，所以这一步很重要，不然会浪费你很多时间的。方法如下：<br />
&nbsp;&nbsp;&nbsp; 依次选择System -&gt; Administration -&gt; Software Sources<br />
&nbsp;&nbsp;&nbsp; 在弹出的Software Sources窗口的Ubuntu Software页的Source Code选择Download from &quot;Others...&quot;, 在随后弹出的Choose a Download Server窗口点击Select Best Server，系统会自动从200多个源中选择速度最快的源，在一两分钟之后便会自动选中一个源，再点击Choose Server按钮。</p>
<p>&nbsp;&nbsp;3、在选择好最快的源之后，我们就可以开始下载工作了。下载的内容主要有自动更新、中文字库和一些软件的安装等。虽然我们选择使用英文版的系统，但是我们还是要读写中文的内容的，并且要让输入法支持中文输出。这里我先做的事情就是设置语言支持，方法如下：<br />
&nbsp;&nbsp;&nbsp; 依次选择System -&gt; Administration -&gt; Language Support<br />
&nbsp;&nbsp;&nbsp; 在弹出的Language Support窗口，在Supported Languages下列出了很多语言，其中English已经默认选中了（因为我们装的是英文版），我们再手动选中Chinese，在Input method中也选中Enable support to enter complex characters复选框，再点击Apply按钮。<br />
&nbsp;&nbsp;&nbsp; 这次的下载速度平均能够达到245KB/s，四五分钟就能下载完毕，而我第一次配置的时候，没有选择最快的源，下载语言支持和自动更新都用了好几个小时，真是天壤之别呀！完成之后窗口会提示: Successfully applied all changes. You can close the window now. 按照提示关闭窗口即可。这个时候你会发现Language Support窗口的Default Language多了几个可供选择语言，其中包括Chinese(Chinese), Chinese(Hong Kong)等，不用修改它，使用默认的英语即可，因为我想使用的是英文版的。下一步安装输入法。</p>
<p>&nbsp;&nbsp;4、打开终端（依次Applications -&gt; Accessories -&gt; Terminal，一般习惯将它加到Panel去，方便启动，以为它是经常需要用到的程序，方法是在Terminal点右键选择Add this launcher to panel即可），使用下面的命令下载并安装输入法：<br />
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff"><b>sudo apt-get install im-switch fcitx </b></font><br />
&nbsp;&nbsp;&nbsp; <b>命令说明：</b><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>sudo: </b>使用管理员的身份运行命令，运行很多命令的时候会经常用到。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>apt-get install:</b>获取并安装，安装软件的时候会经常用到。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>im-switch:</b> apt-get install命令的参数，是输入法切换软件，安装了它以后，我们可以使用im-switch命令来设置输入法。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>fcitx:</b>也是apt-get install命令的参数，在这里和im-switch是并列关系，它是我们选择安装的输入法。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>整句话的意思：</b>用管理员的权限下载并安装im-switch和fcitx两个软件。<br />
&nbsp;&nbsp;&nbsp; <b>小插曲：</b>最开始使用该命令的时候，忘记了使用sudo，会有如下提示：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#0000ff">Could not open lock file /var/lib/dpkg/lock - open (13 Permission denied)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Unable to lock the administration directory (/var/lib/dpkg/), are you root?<br />
&nbsp;</font>&nbsp;&nbsp;&nbsp;然后回车，会要求输入密码，输入账户的密码即可自动下载和安装了。提示一下，在终端输入密码的时候，屏幕上是不会出现输入的字符，连***等替换字符都不会出现，所以不要以为按键无效哦！我第一次使用终端输入密码的时候，就认为键盘无效或屏幕了我的输入，折腾了大半天。</p>
<p>&nbsp;&nbsp;5、安装完输入法还不可以直接使用，需要设置输入法，分别使用如下两条命令：<br />
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff"><b>im-switch -s fcitx -z default<br />
</b></font>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff"><b>sudo im-switch -s fcitx -z default<br />
</b></font><br />
&nbsp;&nbsp;&nbsp; 简单介绍以下im-switch命令，改名来就是用来设置或查看输入法的，-s指定输入法的名称，-z指定语言，这里选择了默认（如果重启之后都不能输出中文，可以将default改成zh_CN试试），还有可以使用-l来查看当前的设置。请使用<b><font color="#0000ff">im-switch -h</font></b>来查看详细的使用说明。如果命令运行结束后不能使用Ctrl+Space切换出中文输入法，请重启试试。</p>
<p>&nbsp;&nbsp;6、安装更新。第一次安装或换源之后往往会有更新提示，如果已经在面板显示了Notification Area，可以点击更新的那个icon进行自动更新。也可以依次选择System -&gt; Administration -&gt; Update Manager来打开更新窗口，如果没有提示Your system is up-to-date，可以点击Install Updates来下载并安装更新。这个自动化很高，让它自己下载安装好了，因为我们已经选择了速度最快的源，所以几十分钟就可以完成的。完成之后可能需要重新启动。</p>
<p>&nbsp;&nbsp;7、使用视觉效果。该功在虚拟机下不能使用，并且需要显卡驱动的支持。依次选择System -&gt; -&gt; Preferences -&gt; Appearance,在弹出的Appearance Preferences窗口选择Visual Effects页，选择Extra，这个时候系统会去检测，如我的笔记本的显卡为NV GeForce 9600M GS, 会提示它的驱动受限，并弹出窗口允许我激活驱动（提供了两个，随便选择一个，不同的显卡会不一样），该窗口同样可以通过依次选择System -&gt; Administration -&gt; Hardware Drivers来打开。至于为什么某些驱动受限，在帮助文档中又解答：Restricted drivers are drivers for your hardware which are not freely available or open-source...usually because the hardware manufacturer has not release details of their hardware which would make it possible to create such a driver. 也就是说你的硬件不能自由获得或不是开源的，通常是因为硬件制造商没有发布他们的硬件细节导致（给ubuntu写驱动的人）无法为这些硬件开发驱动程序。设置好Extra的Visual Effects之后就已经具备了一些效果了，比如在桌面空白处可以通过滚动鼠标中键切换视口，使用Super(Windows)+Tab开切换窗口等，移动的窗口会变形、在边界处会停靠等。<br />
&nbsp;&nbsp;&nbsp; 更多的视觉效果还可以安装compizconfig settings manager，然后使用它来设置。安装的方法是依次选择System -&gt; Administration -&gt; Synaptic Package Manager，在弹出的Synaptic Package Manager窗口选择菜单Edit -&gt; Search...，然后在弹出的Find窗口的Search后面输入Compizconfig再点Search按钮，然后Synaptic Package Manager窗口的列表中找到compizconfig-backend-gconf，然后点击工具栏的Apply，如果弹出需要同时选择其他Package的话也同时选中，如果没有就OK了，它会自动完成下载安装的。完成之后依次选择System -&gt; Preferences -&gt; CompizConfig Settings Manager，在打开的窗口有很多可以设置的，你自己慢慢设吧。我测试这些效果弄了大半天，现在决定不去弄它了，也不在这里具体写了。如果有需要，可以自己玩玩或到网上找找相关资料。（我想玩玩KDE，那个似乎好看很多。以后会继续写这方面的文章。）</p>
<p>　</p>]]></description>
		</item>
		
			<item>
			<link>http://www.wscxy.com/shosh/article.asp?id=98</link>
			<title><![CDATA[初学Linux, 调整Ubuntu在VirtualBox下的分辨率]]></title>
			<author>shosh.zhu@qisda.com(shosh)</author>
			<category><![CDATA[操作系统]]></category>
			<pubDate>Mon,16 Mar 2009 22:28:29 +0800</pubDate>
			<guid>http://www.wscxy.com/shosh/default.asp?id=98</guid>
		<description><![CDATA[初学Linux，选择的是现今比较流行也比较容易上手的ubuntu8.10。版本号8.10是指08年10月的版本的意思，而不是我之前所认为的大版本号为8，小版本号为10。ubuntu每年会release两个版本，其中下半年的版本都是在10月份发布的。<br/><br/>我先是直接在windows vista下直接安装了ubuntu，采用的是傻瓜式的安装。安装后要求重新启动，然后ubuntu会进行较长时间的配置。进度条到达82%的时候基本上就像卡住了，很难前进，需要耐心等待。因为我安装选择的是简体中文版，所以过了82%之后还会自动下载语言包，发现下载速度实在太慢，所以将下载语言包的步骤取消了（幸亏提供了取消按钮）。<br/><br/>因为系统也刚安装上，所以刚进入ubuntu很多功能都还不能够使用，比如不能播放音频视频文件等。所以还是需要在windows下做很多事情，边在windows下打开学习资料学习，边在ubuntu下实践练习。所以又用VirtualBox装了个英文版ubuntu系统（因为已经装了简体中文版的了，所以再装一个英文版的），在该虚拟机上运行之。<br/><br/>据说傻瓜式地在windows下安装ubuntu和在裸机上直接安装ubuntu除了文件系统以外，其它都是一样的（在windows下像安装一般windows下的应用程序一样安装的ubuntu使用的是windows的文件系统，而非Linux本身的文件系统，其他功能都是一样的）；但是使用虚拟机和不使用虚拟机来运行的ubuntu就有很大的差异了。<br/><br/>现在要解决的是分辨率的问题。我的本本是15.4英寸的IdeaPadY530，正常使用的分辨率是1280*800，直接运行的ubuntu的分辨率也可以设置成1280*800，但是虚拟机下的ubuntu的分辨率只有两种选择，分别是640*480和800*600，也就是说最高也就只能设置成800*600，这样的分辨率未免太低了。而且还有一个很有趣的是，屏幕刷新屏幕是61Hz，且只有这一种选择。我的电脑的正常屏幕刷新频率是60Hz，它61Hz从数据的大小上倒也符合，只是为什么会多一个零头1来呢？<br/><br/>昨天晚上一直想把屏幕分辨率调整得大一些，至少也要到1024*768，在网上找了很多资料没有成功。今天晚上终于把分辨率调整到1280*800了。方法如下：<br/><br/>不要让ubuntu的运行窗口全屏（默认情况下使用“右边的”Ctrl键 + F键），然后选择设备菜单，依次“分配光驱”，“虚拟光驱”，在“虚拟光驱”Tab页会列出一些光驱映像文件，其中一个为VBoxGuestAdditions.iso，将光标移至其上，点右键，在弹出的菜单中选择“释放”，然后按“选择”按钮关闭当前窗口。这时就可以在ubuntu的桌面上可以看到VBOXADDITIONS_2.1.0_4114的光驱（名字根据VirtualBox的版本会略有不同），然后打开ubuntu的Applications菜单，在Accessories下选择Terminal，打开Terminal我们就可以输入linux命令了。<br/><br/>输入如下命令：<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:Blue"><strong>sudo</strong> sh /media/cdrom0/VBoxLinuxAdditions-x86.run</span><br/>然后回车，要求你输入用户密码，你输入密码再回车即可（有点让人不习惯的是，在该窗口输入密码在屏幕上是不会有任何显示的，就连***都不会出现，会给人按键无效的错觉，记得我昨天晚上就在这上面花费了不少时间，一直不明白怎么将密码正确输入，今天晚上才明白过来）。<br/><br/>上面的命令的后面指定的是要打开的文件的完整路径，如果提示文件找不到，可以手动打开光驱看里面的文件，看文件名是否和上面的命令中的一致，如果不一致，请使用光驱中的文件名（提到这一点的原因是：我在网上找的命令的文件名是VBoxLinuxAdditions.run，可能用的VirtualBox版本不一致导致的）。与文件VBoxLinuxAdditions-x86.run相对应的还有一个文件，名为VBoxLinuxAdditions-arm64.run，很明显，它是64位系统下的。如果你装的是64位的Ubuntu，应该使用这个。<br/><br/>完成之后再重新启动一下Ubuntu，就会发现分辨率调高了，在全屏模式下我的电脑的分辨率自动调整到了1280*800，打开Screen Resolution可以看到分辨率调整选项里多了1280*800和1024*768的选项，而Refresh Rate也变成了60Hz而不是之前奇怪的61Hz。不过如果按Ctrl(右)+F退出全屏，分辨率会自动调整回800*600，即使打开Screen Resolution也不会看到1280*800和1024*768的选项，不过Refresh Rate不会变到61Hz去。<br/><br/>继续学习，得先解决音频视频文件的播放的问题了。]]></description>
		</item>
		
			<item>
			<link>http://www.wscxy.com/shosh/article.asp?id=78</link>
			<title><![CDATA[Palm 操作系统]]></title>
			<author>shosh.zhu@qisda.com(shosh)</author>
			<category><![CDATA[操作系统]]></category>
			<pubDate>Tue,23 Dec 2008 13:11:41 +0800</pubDate>
			<guid>http://www.wscxy.com/shosh/default.asp?id=78</guid>
		<description><![CDATA[<p>&nbsp;Palm OS操作系统</p>
<p>　　PalmOS是Palm公司的是一种32位的嵌入式操作系统，它的操作界面采用触控式，差不多所有的控制选项都排列在屏幕上，使用触控笔便可进行所有操作。作为一套极具开放性的系统，开发商向用户免费提供Palm操作系统的开发工具，允许用户利用该工具在Palm操作系统的基础上编写、修改相关软件，使支持Palm的应用程序丰富多彩、应有尽有。</p>
<p>　　 PalmOS是Palm公司开发的专用于PDA上的一种操作系统，这是PDA上的霸主，一度普占据了90%的PDA市场的份额。虽然其并不专门针对于手机设计，但是PalmOS的优秀性和对移动设备的支持同样使其能够成为一个优秀的手机操作系统。其最新的版本为PalmOS5.2。目前具有手机功能的PalmPDA如Palm公司的TungstenW。而Handspring公司（目前已被Palm公司收购）的Treo系列则是专门使用Palm OS的手机，如Treo 270以及最新的倍受瞩目的Treo 650。</p>
<p>　　Palm OS操作系统特性</p>
<p>　　Palm操作系统最明显的优势还在于其本身是一套专门为掌上电脑编写的操作系统，在编写时充分考虑到了掌上电脑内存相对较小的情况，所以Palm操作系统本身所占的内存极小，基于Palm操作系统编写的应用程序所占的空间也很小，通常只有几十KB，所以基于Palm操作系统的掌上电脑虽然只有几兆内存却可以运行众多的应用程序。</p>
<p>　　Palm在其它方面还存在一些不足，Palm操作系统本身不具有录音、MP3播放功能等，如果你需要使用这些功能，就需要另外加入第三方软件或硬件设备方可实现。对于中国用户而言，另一个不足之处在于Palm操作系统起初在中国销售的产品仍然要使用中文外挂平台，有相当部分依然是以英文界面为主，在一定程度上影响了基于Palm操作系统的产品在中国市场的大面积进入。其代表性的产品有Palmm505、Palmm500、PalmIII等。</p>
<p><!-- 分页 --><!-- 分页end --></p>]]></description>
		</item>
		
</channel>
</rss>
