📄 linux kernel(
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0047)http://linux.asnc.edu.cn/kernel/linuxkernel.htm -->
<HTML><HEAD><TITLE>硬件基础知识</TITLE>
<META content="text/html; charset=gb_2312-80" http-equiv=Content-Type>
<META content="MSHTML 5.00.2614.3500" name=GENERATOR></HEAD>
<BODY link=#0000ff><FONT size=3>
<P align=justify>Chapter 1</P>
<P align=justify> </P>
<P align=justify>Hardware Basic(</FONT><FONT face=宋体 lang=ZH-CN
size=3>硬件基础知识</FONT><FONT size=3>)</P>
<P align=justify> </P></FONT><FONT face=宋体 lang=ZH-CN size=3>
<P
align=justify>一个操作系统必须和作为它的基础的硬件系统紧密配合。操作系统需要使用一些只有硬件才能提供的功能。为了完整的了解</FONT><FONT
size=3>Linux</FONT><FONT face=宋体 lang=ZH-CN
size=3>,你需要了解底层硬件的基础知识。本章对于现代</FONT><FONT size=3>PC</FONT><FONT face=宋体
lang=ZH-CN size=3>的硬件进行了。</P></FONT><FONT size=3>
<P align=justify>1975</FONT><FONT face=宋体 lang=ZH-CN size=3>年</FONT><FONT
size=3>1</FONT><FONT face=宋体 lang=ZH-CN size=3>月“</FONT><FONT size=3>Popular
Electronics</FONT><FONT face=宋体 lang=ZH-CN size=3>”杂志封面上印出了</FONT><FONT
size=3>Altair 8080</FONT><FONT face=宋体 lang=ZH-CN
size=3>的图片,一场革命开始了。</P></FONT><FONT size=3>
<P align=justify>Altair 8080</FONT><FONT face=宋体 lang=ZH-CN
size=3>,跟随早期的“</FONT><FONT size=3>Star Trek epsode</FONT><FONT face=宋体
lang=ZH-CN size=3>”命名,只需要</FONT><FONT size=3>$397</FONT><FONT face=宋体 lang=ZH-CN
size=3>,就可由个人电子爱好者自己组装。它拥有</FONT><FONT size=3>Intel 8080</FONT><FONT face=宋体
lang=ZH-CN size=3>处理器和</FONT><FONT size=3>256</FONT><FONT face=宋体 lang=ZH-CN
size=3>字节内存,但是没有屏幕和键盘。以今天的标准来衡量,它太简陋了。它的发明者,</FONT><FONT size=3>Ed
Roberts</FONT><FONT face=宋体 lang=ZH-CN size=3>,制造了名词“</FONT><FONT
size=3>personal computer</FONT><FONT face=宋体 lang=ZH-CN
size=3>“来命名他的发明,但现在,</FONT><FONT size=3>PC</FONT><FONT face=宋体 lang=ZH-CN
size=3>这个名词已经用来命名几乎所有你可以不依靠帮助就可以自己运行起来的计算机。用这个定义,甚至一些十分强大的</FONT><FONT
size=3>Alpha AXP</FONT><FONT face=宋体 lang=ZH-CN size=3>系统也是</FONT><FONT
size=3>PC</FONT><FONT face=宋体 lang=ZH-CN size=3>。</P>
<P align=justify>爱好者们看到了</FONT><FONT size=3>Altair</FONT><FONT face=宋体
lang=ZH-CN
size=3>的潜力,开始为它写软件,制造硬件。对于这些早期的先驱来讲,它代表着自由:从被神职人员控制和运行的大型批处理的主机系统中逃脱出来的自由。你可以在自己家里甚至厨桌上拥有计算机,这使学院的退学生为此着迷并通宵达旦。与此同时出现大量硬件,在一定程度上各自不同,而软件专家则乐于为这些新机器撰写软件。有讽刺意味的是,</FONT><FONT
size=3>IBM</FONT><FONT face=宋体 lang=ZH-CN size=3>在</FONT><FONT
size=3>1981</FONT><FONT face=宋体 lang=ZH-CN size=3>年发布了</FONT><FONT size=3>IBM
PC</FONT><FONT face=宋体 lang=ZH-CN size=3>并于</FONT><FONT size=3>1982</FONT><FONT
face=宋体 lang=ZH-CN size=3>年早期供货,从此定义了现代</FONT><FONT size=3>PC</FONT><FONT
face=宋体 lang=ZH-CN size=3>的模型。它拥有</FONT><FONT size=3>Intel 8088</FONT><FONT
face=宋体 lang=ZH-CN size=3>处理器,</FONT><FONT size=3>64K</FONT><FONT face=宋体
lang=ZH-CN size=3>内存(可以扩充到</FONT><FONT size=3>256K</FONT><FONT face=宋体
lang=ZH-CN size=3>),两个软驱和一个</FONT><FONT size=3>80x25</FONT><FONT face=宋体
lang=ZH-CN size=3>的彩色图卡</FONT><FONT size=3>(CGA)</FONT><FONT face=宋体 lang=ZH-CN
size=3>,用今天的标准衡量,它功能不算很强,但是它销售的不错。</FONT><FONT size=3>1983</FONT><FONT face=宋体
lang=ZH-CN size=3>年,紧接着推出的</FONT><FONT size=3>IBM PC-XT</FONT><FONT face=宋体
lang=ZH-CN size=3>,则拥有一个豪华的</FONT><FONT size=3>10M</FONT><FONT face=宋体
lang=ZH-CN size=3>硬盘。不久大批公司如</FONT><FONT size=3>Compaq</FONT><FONT face=宋体
lang=ZH-CN size=3>开始制造</FONT><FONT size=3>IBM PC</FONT><FONT face=宋体 lang=ZH-CN
size=3>的复制品,</FONT><FONT size=3>PC</FONT><FONT face=宋体 lang=ZH-CN
size=3>的结构成为了事实的标准。这个事实的标准使大批硬件公司可以在这个不断增长的市场上一起竞争,反过来,可以遏制价格,让用户满意。现代</FONT><FONT
size=3>PC</FONT><FONT face=宋体 lang=ZH-CN size=3>承袭了早期</FONT><FONT
size=3>PC</FONT><FONT face=宋体 lang=ZH-CN size=3>的许多系统体系特征。甚至基于最强大的</FONT><FONT
size=3>Intel Pentium Pro</FONT><FONT face=宋体 lang=ZH-CN
size=3>的系统也可以运行</FONT><FONT size=3>Intel 8086</FONT><FONT face=宋体 lang=ZH-CN
size=3>的寻址模式。当</FONT><FONT size=3>Linus Torvalds</FONT><FONT face=宋体 lang=ZH-CN
size=3>开始开发后来的</FONT><FONT size=3>Linux</FONT><FONT face=宋体 lang=ZH-CN
size=3>时,他选择了当时最常见和价格最合理的硬件平台:一台</FONT><FONT size=3>Intel 80386 PC</FONT><FONT
face=宋体 lang=ZH-CN size=3>。</P>
<P align=justify>从</FONT><FONT size=3>PC</FONT><FONT face=宋体 lang=ZH-CN
size=3>的外面看,最明显的部件就是机箱、键盘、鼠标和显示器。在机箱的前面有一些按钮,一个小屏幕显示一些数字,还有一个软驱。现在的大多数系统还有一个</FONT><FONT
size=3>CD-ROM</FONT><FONT face=宋体 lang=ZH-CN
size=3>期、驱动器。如果你需要保护你的数据,那么还会有一个备份用的磁带机。这些设备一律被看作外设。</P>
<P align=justify>虽然</FONT><FONT size=3>CPU</FONT><FONT face=宋体 lang=ZH-CN
size=3>管理整个系统,但它并不是唯一的智能设备。所有的外设控制器,例如</FONT><FONT size=3>IDE</FONT><FONT
face=宋体 lang=ZH-CN size=3>控制器,也都拥有一定程度的智能。在</FONT><FONT size=3>PC</FONT><FONT
face=宋体 lang=ZH-CN size=3>内部(图</FONT><FONT size=3>1.1</FONT><FONT face=宋体
lang=ZH-CN size=3>),你可以看到一个主板,包括</FONT><FONT size=3>CPU</FONT><FONT face=宋体
lang=ZH-CN size=3>或微处理器、内存和一些</FONT><FONT size=3>ISA</FONT><FONT face=宋体
lang=ZH-CN size=3>或</FONT><FONT size=3>PCI</FONT><FONT face=宋体 lang=ZH-CN
size=3>外设控制卡的槽位。其中一些控制器,如</FONT><FONT size=3>IDE</FONT><FONT face=宋体 lang=ZH-CN
size=3>磁盘控制器可能内置在系统主板上。</P>
<P align=justify> </P>
<OL>
<OL></FONT><FONT size=3>
<P align=justify>
<LI>CPU
<P></P></FONT><FONT face=宋体 lang=ZH-CN size=3>
<P align=justify> </P></FONT><FONT size=3>
<P align=justify>CPU</FONT><FONT face=宋体 lang=ZH-CN
size=3>,或者说微处理器,是所有计算机系统的心脏。微处理器进行数学运算,逻辑操作并从内存中读取指令并执行指令,进而控制数据流向。计算机发展的早期,微处理器的各种功能模块是由相互分离(并且尺寸上十分巨大)的单元构成。这也是名词“中央处理单元”的起源。现代的微处理器将这些功能模块集中在一块非常小的硅晶片制造的集成电路上。在本书,名词</FONT><FONT
size=3>CPU</FONT><FONT face=宋体 lang=ZH-CN size=3>、微处理器和处理器交替使用。</P>
<P align=justify>微处理器处理二进制数据:这些数据由</FONT><FONT size=3>1</FONT><FONT face=宋体
lang=ZH-CN size=3>和</FONT><FONT size=3>0</FONT><FONT face=宋体 lang=ZH-CN
size=3>组成。这些</FONT><FONT size=3>1</FONT><FONT face=宋体 lang=ZH-CN
size=3>和</FONT><FONT size=3>0</FONT><FONT face=宋体 lang=ZH-CN
size=3>对应电气开关的开或关。就好像</FONT><FONT size=3>42</FONT><FONT face=宋体 lang=ZH-CN
size=3>代表</FONT><FONT size=3>4</FONT><FONT face=宋体 lang=ZH-CN
size=3>个</FONT><FONT size=3>10</FONT><FONT face=宋体 lang=ZH-CN
size=3>和</FONT><FONT size=3>2</FONT><FONT face=宋体 lang=ZH-CN
size=3>个单元,二进制数字由一系列代表</FONT><FONT size=3>2</FONT><FONT face=宋体 lang=ZH-CN
size=3>的幂数的数字组成。这里,幂数意味着一个数字用自身相乘的次数。</FONT><FONT size=3>10 </FONT><FONT
face=宋体 lang=ZH-CN size=3>的一次幂是</FONT><FONT size=3>10</FONT><FONT face=宋体
lang=ZH-CN size=3>,</FONT><FONT size=3>10</FONT><FONT face=宋体 lang=ZH-CN
size=3>的</FONT><FONT size=3>2</FONT><FONT face=宋体 lang=ZH-CN
size=3>次幂是</FONT><FONT size=3>10x10</FONT><FONT face=宋体 lang=ZH-CN
size=3>,</FONT><FONT size=3>10</FONT><FONT face=宋体 lang=ZH-CN
size=3>的</FONT><FONT size=3>3</FONT><FONT face=宋体 lang=ZH-CN
size=3>次幂是</FONT><FONT size=3>10x10x10</FONT><FONT face=宋体 lang=ZH-CN
size=3>,依此类推。二进制</FONT><FONT size=3>0001</FONT><FONT face=宋体 lang=ZH-CN
size=3>是十进制</FONT><FONT size=3>1</FONT><FONT face=宋体 lang=ZH-CN
size=3>,二进制数</FONT><FONT size=3>0010</FONT><FONT face=宋体 lang=ZH-CN
size=3>是十进制</FONT><FONT size=3>2</FONT><FONT face=宋体 lang=ZH-CN
size=3>,二进制</FONT><FONT size=3>0011</FONT><FONT face=宋体 lang=ZH-CN
size=3>是十进制</FONT><FONT size=3>3</FONT><FONT face=宋体 lang=ZH-CN
size=3>,二进制</FONT><FONT size=3>0100</FONT><FONT face=宋体 lang=ZH-CN
size=3>是十进制</FONT><FONT size=3>4</FONT><FONT face=宋体 lang=ZH-CN
size=3>,等等。所以,十进制</FONT><FONT size=3>42</FONT><FONT face=宋体 lang=ZH-CN
size=3>是二进制</FONT><FONT size=3>101010</FONT><FONT face=宋体 lang=ZH-CN
size=3>或者(</FONT><FONT size=3>2+8+32</FONT><FONT face=宋体 lang=ZH-CN
size=3>或</FONT><FONT
size=3>2<SUP>1</SUP>+2<SUP>3</SUP>+2<SUP>5</SUP></FONT><FONT face=宋体
lang=ZH-CN size=3>)。在计算机程序除了使用二进制表示数字之外,另一种基数,</FONT><FONT
size=3>16</FONT><FONT face=宋体 lang=ZH-CN
size=3>进制,也经常用到。在这种进制中,每一位数字表示</FONT><FONT size=3>16</FONT><FONT face=宋体
lang=ZH-CN size=3>的幂数。因为十进制数字只是从</FONT><FONT size=3>0</FONT><FONT face=宋体
lang=ZH-CN size=3>到</FONT><FONT size=3>9</FONT><FONT face=宋体 lang=ZH-CN
size=3>,在十六进制中</FONT><FONT size=3>10</FONT><FONT face=宋体 lang=ZH-CN
size=3>到</FONT><FONT size=3>15</FONT><FONT face=宋体 lang=ZH-CN
size=3>分别用字母</FONT><FONT size=3>A</FONT><FONT face=宋体 lang=ZH-CN
size=3>,</FONT><FONT size=3>B</FONT><FONT face=宋体 lang=ZH-CN
size=3>,</FONT><FONT size=3>C</FONT><FONT face=宋体 lang=ZH-CN
size=3>,</FONT><FONT size=3>D</FONT><FONT face=宋体 lang=ZH-CN
size=3>,</FONT><FONT size=3>E</FONT><FONT face=宋体 lang=ZH-CN
size=3>,</FONT><FONT size=3>F</FONT><FONT face=宋体 lang=ZH-CN
size=3>表示。例如,十六进制的</FONT><FONT size=3>E</FONT><FONT face=宋体 lang=ZH-CN
size=3>是十进制的</FONT><FONT size=3>14</FONT><FONT face=宋体 lang=ZH-CN
size=3>,而十六进制的</FONT><FONT size=3>2A</FONT><FONT face=宋体 lang=ZH-CN
size=3>是十进制的</FONT><FONT size=3>42</FONT><FONT face=宋体 lang=ZH-CN
size=3>(</FONT><FONT size=3>2</FONT><FONT face=宋体 lang=ZH-CN
size=3>个</FONT><FONT size=3>16+10</FONT><FONT face=宋体 lang=ZH-CN
size=3>)。用</FONT><FONT size=3>C</FONT><FONT face=宋体 lang=ZH-CN
size=3>语言的表示法(本书一直使用),十六进制数字使用前缀“</FONT><FONT size=3>0x</FONT><FONT face=宋体
lang=ZH-CN size=3>”:十六进制的</FONT><FONT size=3>2A</FONT><FONT face=宋体
lang=ZH-CN size=3>写做</FONT><FONT size=3>0x2A</FONT><FONT face=宋体 lang=ZH-CN
size=3>。</P>
<P align=justify> </P>
<P align=justify><IMG height=504 src="Linux Kernel(中文).files/Image1.gif"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -