📄 ls03.php
字号:
<P>第二,鼠标的输入端要处理的是什么信息呢(换一种问法是:鼠标要输入什么信息)?</P>
<P>答:是我们胳膊肘的来回挪动(这里暂不说单击,双击等)。可别说胳膊肘的动作不是信息——那样说可真外行——包括挪动的方向,距离,速度等。</P>
<P> </P>
<P>第三,胳膊肘的动作是“模拟信号”还是“数字信号”呢?</P>
<P>答:只要你的手是肉长的,那么就只能是模拟信号。</P>
<P> </P>
<P>第四,胳膊肘的动作是如何被采集,又如何传输入进电脑,又如何被处理,又如何变成一个光标在屏幕上跑来跑去,有时候还会变成一只小手……</P>
<P> </P>
<P>答:@ # ¥ % # ? !</P>
<P>关于鼠标的具体工作过程已经不是我能回答的了,也不是我们要学习的内容。不过如你很穷,和我一样用的是10来块的机械式鼠标,那么恭喜你,你可以亲自“解剖”一下鼠标,观察鼠标里头的“模数转换器”。方法是把鼠标背过来,揭掉合格证(提醒,揭掉后你的鼠标可能无法保修了),拧掉螺丝,打开上盖,会发现内有滚轮,水平向滚轴,垂直向滚轴,辅助压轮各一,组成一套采集设置,看看你就明白它们是如何配合工作,完成采集你胳膊肘的挪动的信息了。</P>
<P>最后在合上盖时,顺便将滚轴上的积泥刮掉,它们严重影响数据采集的精度。</P>
<P> </P>
<P>说完存储设备和I/O设备,重要人物也要该出场了。它就是电脑的心脏:CPU。</P>
<P> </P>
<P>CPU何许人也?Central Processor
Unit。即:中央处理器。中央并不是说它正好在机箱内正中间,而是说它是核心人物,其实你显卡声卡等也有芯片在处理一些数据。但大都数数据,比如鼠标采集到信息后,便需要送到CPU中进行复杂的计算,最终才能输出。</P>
<P>CPU便是这样一个人物,它要处理几乎所有计算系统中的数据。它的重要性得就像是大脑之于人体。把它说成是心脏真是个混淆视听的比喻。</P>
<P>CPU又是如何处理数据的呢?大千世界中的数据(当我们偏向于专业时,我们就将信息说成是数据)各类各样,极其复杂;同样的,对种种数据的处理也相当复杂。比如给你一个苹果你的处理是吃掉,而女友把她的手给你时她的意思是要你牵着,如果你把后者等同于前者进行同样的处理……后果……</P>
<P>Intel或AMD生产的CPU如何先进,终究是个东西,怎能自已决定如何处理各种数据呢?</P>
<P>有数据:钢板拴着一个螺丝钉,</P>
<P>有处理数据的能力:工具箱中一把螺丝刀。</P>
<P>一只狗和一只猪从二者前面走过,它们不知用后者把前者拧下。因为马克思说了,只有人类才会制造和利用工具。</P>
<P>CPU也只是一个工具。尽管它有处理各数据的能力,但必须由人来控制它:什么时候,什么方法,计算什么样的数据。这样的工具并不仅有CPU,早在你我童年时爱不释手的,会自已摇摆走路的玩具小鸭内,那个发条就是这种工具。通过既定的设计,发条具有把人拧紧的能量存储,然后释放,一点点控制其它齿轮,小鸭的脚,最终让玩具小鸭如人所愿地走。</P>
<P> </P>
<P>发条处理数据的动作很简单,只须一点展开就行。但是如果没有人事先将其拧紧,它一样动不了。CPU要处理的数据复杂,处理的方法更复杂。同样,必须有<B>人</B>事先将<B>计算机处理数据的方法</B>存储在上述的存储器上,在要开始处理时,装上这些方法,然后开始执行。</P>
<P>一切重要概念至此呼之欲出:</P>
<P> </P>
<P>人不是普通的人,是伟大的程序员(当然当然,各行各业除了中国电信以外的从事者都很伟大);</P>
<P> </P>
<P>计算机处理数据的方法,便是:程序!程序!!程序!!</P>
<P>《超级解霸》是什么?是音频视频播放软件,但归根是处理多媒体数据的程序。《金山毒霸》是什么?是杀毒软件,但归根是对付病毒数据的程序;<FONT
color=#0000ff><A class=A href="http://www.bcbschool.com/v5_softs.htm"
target=_blank>《句神英语2002》</A></FONT>是什么?是英语教育软件,但归根是辅助你自学英语口语的程序。Windows或Linux是什么?是操作系统软件,不过其实它们也是程序:管理所有其它程序的程序。</P>
<P> </P>
<P>下一节,我们讲计算机内存,内存也是存储器,但它是一种特殊的存储器。</P>
<P> </P>
<H3><A name=3.4>3.4</A> 内存</H3>
<P>有外存吗?软盘,光盘这些放在外面的存储器就是外存啊——真不明白这算是什么知识,但各种考试似乎兴趣这些。硬盘有可以放里头的也有可以放外头的,不知怎么算。</P>
<P>对内存要弄明白的第一件是事是:为什么要有内存?听我做一个不负任何责任的预言:10年之内,高速硬盘和高速外部总线的发展,但得计算机可在硬盘上固定划块分区作为内存。如此这般,以后关机时不用使用Win2000或XP的休眠功能,更不必像普通关机那样听硬盘卡卡响半天,一个关机命下,机器迅速关掉,妙哉。</P>
<P> </P>
<P>程序和数据平常存储在硬盘等存储器上,不管你开机或关机了,它们都是存在的,不会丢失。硬盘可以存储的东西很多,但其传输数据的速度较慢。所以需要运行程序或打开数据时,这些数据必须从硬盘等存储器上先传到另一种容量小但速度快得多的存储器,之后才送入CPU进行执行处理。这中间的存储器就是内存。</P>
<P> </P>
<P>无论何种存储器,软盘、硬盘、光盘或者内存,都有地址。因为它们要存储数据,所以就必须按一定的单位的数据分配一个地址。有了地址,程序才能找到这些数据。这很好理解,想想你们家为什么要有门牌号即可。</P>
<P>学习编程,必须对内存的地址有一个透彻的理解。我们编程中的每一行代码,代码中用到的每个数据,都需要在内存上有其映射地址。当然,我们并不需要掌握内存是如何进行编址,那是计算机系中的另外一门课:操作系统的事了。</P>
<P>下面,我将<FONT color=#0000ff><A
href="http://www.bcbschool.com/clasroom.htm">旧课程中</A></FONT>的有关内存的一段内存拷到这里。</P>
<H4><B><A name=3.4.1>3.4.1</A> 内存地址</H4></B>
<P>“你叫丁小明吧?”</P>
<P>“是的。”</P>
<P>“噢,你记得你的姓名,那么请告诉我你把你的姓名记在你的脑海中的哪一个位置呢?在你记着你的姓名信息的下一个位置,你记着什么?上一个位置呢?”</P><FONT
face="Times New Roman">
<P>“</FONT>啊!这我不知道。”</P>
<P>“你骗我!既然你记着你的姓名,你怎么会不知道把它记在哪儿呢?”计算机生气说。</P>
<P>是啊,依靠现在的科技力量,我们无法得知自已把一个数据记在脑海里的哪个脑细胞里。这也是人的记忆状态无法数据化的原因。计算机就不一样的,我们说过,它是什么都数字化了。所以它知道自已把一个数据,一条命令记到了内存中的哪个(些)位置。每一个位置都有编号,就像编了门牌号一样。如果让计算机在内存里记住“丁小明”这个名字,可以示意为:</P>
<TABLE cellSpacing=1 cellPadding=0 width=568 border=0>
<TBODY>
<TR>
<TD
style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid"
align=middle width="33%" bgColor=#c0c0c0 colSpan=2><FONT size=3>
<P>丁</FONT></P></TD>
<TD
style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid"
align=middle width="33%" bgColor=#00ffff colSpan=2><FONT size=3>
<P>小</FONT></P></TD>
<TD
style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid"
align=middle width="33%" bgColor=#c0c0c0 colSpan=2><FONT size=3>
<P>明</FONT></P></TD></TR>
<TR>
<TD
style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid"
align=middle width="17%" bgColor=#c0c0c0><FONT
face="Times New Roman" size=3>
<P>1000H</FONT></P></TD>
<TD
style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid"
align=middle width="17%" bgColor=#c0c0c0><FONT
face="Times New Roman" size=3>
<P>1001H</FONT></P></TD>
<TD
style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid"
align=middle width="17%" bgColor=#00ffff><FONT
face="Times New Roman" size=3>
<P>1002H</FONT></P></TD>
<TD
style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid"
align=middle width="17%" bgColor=#00ffff><FONT
face="Times New Roman" size=3>
<P>1003H</FONT></P></TD>
<TD
style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid"
align=middle width="17%" bgColor=#c0c0c0><FONT
face="Times New Roman" size=3>
<P>1004H</FONT></P></TD>
<TD
style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid"
align=middle width="17%" bgColor=#c0c0c0><FONT
face="Times New Roman" size=3>
<P>1005H</FONT></P></TD></TR></TBODY></TABLE>
<P></P>
<P>在第一行中,每一格表示一段内存,而格子里的内容是这段内容记下的数据;第二行中每一格内数字就是对应的内存的地址。至于为什么数字后面跟了一个字母<FONT
face="Times New Roman">H </FONT>,那是为了表示这是一个<FONT
face="Times New Roman">16</FONT>进制的数。什么是<FONT
face="Times New Roman">16</FONT>进制的数,大家现在可以不管。只要把它想成和上一节我们所讲的<FONT
face="Times New Roman">2</FONT>进制一样即可:长有<FONT
face="Times New Roman">16</FONT>个指头的人订出来的数。从<FONT
face="Times New Roman">0</FONT>一直数到<FONT
face="Times New Roman">15</FONT>,到了<FONT
face="Times New Roman">16</FONT>才往高位进<FONT
face="Times New Roman">1</FONT>。</P>
<P>可能有人会啄磨:为什么一个“丁”字(“小”“明”两字也一样)占用两个内存地址呢?这是因为汉字在一个地址(位置)里呆不下,必须放在<B>连续</B>的两个地址空间内。</P><B>
<P> </P>
<P><FONT color=#ff0000>......[此处内容不发表在网页,请报名的学员使用</FONT><A
href="file:///E:/mywl_web/noused/v4_xiazai.htm"
target=_blank>课程下载器</A><FONT color=#ff0000>下载完整课程]......</FONT></P>
<P> </P>
<P>位: </B>一个<FONT face="Times New Roman">0</FONT>或<FONT
face="Times New Roman">1</FONT>称为一位(bit);<B><FONT
face="Times New Roman"></P></FONT>
<P>字节:</B>连续八位称为一个字节(Byte);字节是计算机中可单独处理的最小单位。</P>
<P> </P>
<P>用上的两个单位来表达上面的图,便是:</P>
<P>汉字如“丁”,在内存中,占两个字节(Byte),共16位(Bit)。</P>
<P>英文字母如 ‘A’在内存中,占1个字节,8位。</P>
<P>(这里说的是内存,其实在其它存储器中,所占空间是一致的)</P>
<P> </P>
<P><B>公式 :1 字节(Byte) = 8位(bit)</B></P>
<H4><A name=3.4.2>3.4.2</A> 虚拟内存</H4>
<P>程序和数据必须装入内存,这就必须面对内存不足的问题。这一问题有许多解决措施,其中很重要的措施就是使用虚拟内存。而所谓的虚拟内存,其实就是硬盘。</P>
<P>打开一个Word写文章,再打开几个IE浏览网页;后台还有FlashGet在默默地为你下载网上文件。很快你就会觉得的机器反应变得慢了。为什么?因为程序本身和程序所使用的数据太大,物理内存(真实内存)已经不足,系统采用了大量的硬盘空间来模拟内存。上节说过,硬盘虽大,但其(传输、查找)速度比物理内存慢一个数量级,所以整个系统速度就变慢了。</P>
<P>在DOS的编程时代,程序必须自已实现虚拟内存,或者采用第三方程序。而在Windows时代,虚拟内存机制由操作系统来实现。所以在本节,我们只需知道,虽然理论上程序在运行时必须装载入内存,但这内存并不一定全是真正的内存,很大一部分,其实是在使用虚拟内存。当然,在Windows下,程序员无须去考虑自已的程序什么时候使用物理内存,什么时候使用虚拟内存。</P>
<P>操作系统设置了最大可以使用多少虚拟内存?现在正在使用多少虚拟内存,这一些都有工具可以查看到。现在让我们用最方便的方法来看看第一个问题。</P>
<P>Windows95/98/Me:</P>
<P>请在您的电脑桌面上找到“我的电脑”图标,点击鼠标右键,在弹出的右键菜单里选“属性”,然后在弹出的“系统属性”对话框里选“性能”这一页,就可以看到右下角的“虚拟内存”按钮,点击后便可看到<FONT
face="Times New Roman" size=1>Windows</FONT>对我们所讲的“虚拟内存”的设置。
<P>WindowsXP/2000:</P>
<P>在开始菜单中找到“我的电脑”,点击鼠标右键,在弹出的右键菜单里选“属性”,然后在弹出的“系统属性”对话框里选“高级”选项页,点其中“性能”组内的“设置”按钮。出现“性能选项”对话框。选“高级”选项页,底部有“虚拟内存”组。你可以从中看到有多少MB的硬盘空间允许Windows拿来当虚拟内存。如何想修改或查看更多信息,可点“更改”按钮。建议采用系统默认值,不要修改。</P>
<P> </P></TD></TR></TBODY></TABLE></CENTER>
<P align=center>[<A href="http://www.bcbschool.com/v5_jiaoxue.php">回课程目录</A>] --
[<A href="http://www.bcbschool.com/newls/ls03.php#页首">到页首</A>]</P></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -