Linux
作为操作系统软件,是沟通计算机系统硬件和应用软件的桥梁。学习
RHCE
,当然也应自硬件始,不过,操作系统毕竟属于软件,所以对硬件知识的了解只需要掌握一些基本的就可以了。其实,对这些基本硬件知识的理解不仅有助于系统管理员很好地配置
Linux
,而且有助于解决
Linux
系统上的诸多故障。
★
系统架构(
Architecture
)
我们知道
Linux
是以支持大量系统架构而著称的。不过,对于
RHCE
而言,只需考虑普通
PC
都能支持的
Intel
架构(
i386
)就行,从而免去了学习那些系统架构相关知识的麻烦。
★
Intel
通信通道
一般
PC
机上所支持的通道无外乎以下三种:
1)
中断请求端口(
IRQ
):主要用于键盘、打印机等设备的中断请求服务。
2)
输入
/
输出地址:
CPU
和计算机其它部分通信的内存地址。
3)
直接内存存取通道(
DMA
):主要用于那些具有独立处理器的计算机设备。
由于
Redhat
对即插即用的支持已经相当出色,这些通道相关的配置差不多对系统管理员已然透明了。不过,学习它们,将有助于我们解决一些特殊的故障。下面我们分别来了解一下相关情况:
1)
IRQ
设置:按准确的定义,
IRQ
是当某一外围设备(如网卡、鼠标、串口等)向
CPU
请求处理时间时所发送的请求信号。一般而言,计算机上每个相连设备都需要自己的
IRQ
端口,而且这个端口往往是一直占用的(可移动设备除外)。如果
IRQ
耗尽了,有些
PCI
设备及
USB
设备是可以共享
IRQ
的。
实践分析
:如果机器上的
USB
端口或
PCI
卡出现问题,首先检查
BIOS
。不少
BIOS
中都包含了“激活
PCI
共享”和“支持
USB
连接”的选项。
2)
关于
IRQ
冲突:在某些
PC
上,
IRQ
可谓宝贵资源,随着连接设备增多,可能会发生
IRQ
冲突。一旦冲突发生,可以考虑手工设置
IRQ
,如果没有可用的
IRQ
了,那就必须牺牲某个连接设备。需要注意的是,有些
IRQ
是不允许改动的,因为它们是为主板上控制设备所预留的,千万不要与它们冲突。在
Linux
中,可以浏览
/proc/interrupts
来查看哪些中断已经使用,哪些还未使用。
3)
输入
/
输出地址:每个计算机设备都需要一个输入
/
输出地址,这是那些请求
CPU
服务的数据所存放的位置。
I/O
地址一般以十六进制编码列出。有些典型的
I/O
地址,如串口
COM1
,
COM2
,
COM3
和
COM4
,它们分别对应的
I/O
地址为:
03f8
,
02f8
,
03e8
和
02e8
。在
Linux
中,可以浏览
/proc/ioports
来查看已分配的
I/O
地址情况。
4)
直接内存地址:通常用来直接在设备间传输信息,而无需通过
CPU
。现代
PC
的许多部分都不需要
CPU
,例如声卡和显卡。尽管
DMA
通道不要
CPU
的干预,但这些设备仍然配置了
IRQ
端口,有
8
个标准
DMA
通道(
0-7
)。注意
DMA 4
是保留的,不能用于任何设备。在
Linux
中,可以浏览
/proc/dma
来查看已分配的
DMA
地址。
★
内存
对于
Redhat Enterprise Linux 5
(以下简称
RHEL 5
)而言,最小的内存需求为
256MB
(实际还可以更小,但内存太少不够满足系统的正常工作要求)。
RHEL 5
可以支持很大数量的内存,一般而言,内存的限制来源于硬件。
实践分析
:对于
Linux
服务器而言,系统对内存的需求随着用户数的增加而增加,而那些大型程序,如数据库,对内存的消耗也是很大的。
★
硬盘
Linux
系统是安装在硬盘上的,显然,硬盘对系统的支持是十分紧密的。从硬件角度来看,你应该了解:
1)
标准
PC
只能管理最多
4
个
IDE
驱动器,而且不能识别
PATA
驱动器。
2)
更新的
PC
可以控制更多的
SATA
驱动器。
3)
如果有
SCSI
硬件的支持,机器可以支持多达
31
个
SCSI
驱动器。
4)
不管使用多少
PATA
、
SATA
还是
SCSI
驱动器,
Linux
的启动文件(
/boot
目录下)必须安装在前两个硬盘中,否则,就需要用驱动软盘来启动系统。
5)
尽管能将
Linux
安装在
USB
或
IEEE 1394
硬盘上,却不能直接从这些驱动器启动。