鸟哥的Linux私房菜学习笔记(一)

第零章 计算器概论

Intel系列计算机架构的整个主板上面最重要的就是芯片组了!而芯片组通常又分为两个网桥来控制各组件的沟通,分别是:(1)北桥:负责连接速度较快的CPU、主存储器与显示适配器等组件;(2)南桥:负责连接速度较慢的周边接口,包括硬盘、USR、网络卡等。

AMD系列计算机架构与Intel不同的地方在于主存储器是直接与CPU沟通而不透过北桥!

所谓的多核心则是在一颗CPU封装当中嵌入两个以上的运算核心,简单的说,就是一个实体的CPU外壳中,含有两个以上的CPU单元就是了。

简单的说,频率就是CPU每秒钟可以进行的工作次数。CPU频率为3.0GHz,表示这颗CPU在一秒内可以进行3.0*109次工作,每次工作都可以进行少数的指令运作之意。

所谓的外频指的是CPU与外部组件进行数据传输时的速度,倍频则是CPU内部用来加速工作效能的一个倍数,两者相乘才是CPU的频率速度。

所谓的超频指的是:将CPU的倍频或者是外频透过主板的设定功能更改成较高频率的方式。但因为CPU的倍频通常在出厂时已经被锁定而无法修改,因此较常被超频的为外频。

北桥的总线称为系统总线,因为是内存传输的主要信道,所以速度较快。南桥就是所谓的输入输出(I/O)总线,主要在联系硬盘、USB、网络卡等接口设备。

北桥所支持的频率我们称为前端总线速度(Front Side Bus,FSB),而每次传送的位数则是总线宽度。那所谓的总线带宽则是:[FSB*总线宽度]亦即每秒钟可传送的最大数据量。

与总线宽度相似的,CPU每次能够处理的数据量称为字组大小(word size),字组大小一句CPU的设计而有32位与64位。我们现在所称的计算机是32位或是64位主要是依据这个CPU解析的字组大小而来的!早期的32CPU中,因为CPU每次能够解析的数据量有限,因此由主存储器传来的数据量就有所限制了。这也导致32位的CPU醉倒只能支持到最大4GBytes的内存。

CPU等级

由于x86架构的CPUIntelPentinum系列(1993年)后就有不统一的脚位与设计,为了将不同种类的CPU规范等级,所以就有i386i586i686等名词出现了。基本上,在Intel Pentium MMXAMD K6年代的CPU称为i586等级,而Intel CeleronAMD AthlonK7)年代之后的32CPU称为i686等级。至于目前的64CPU则统称为x86_64等级。

内存

个人计算机的主存储器主要组件为动态随机存取内存(Dynamic Random Access MemoryDRAM)。

DRAM根据技术的更新又分好几代,而使用上较广泛的有所谓的SDRAMDDR SDRAM两种。这两种内存的差别除了在于脚位与工作电压上的不同之外,DDR是所谓的双倍数据传输速度(Double Data Rate),他可以在一次工作周期中进行两次数据的传送,感觉上好像就是CPU的倍频了!

双通道设计

由于所有的数据都必须要放在主存储器,所以主存储器的数据宽度当然是越大越好。但传统的总线宽度一般大约仅达64位,为了要加大这个宽度,因此芯片组厂商就将两个存储器汇整在一起,如果一支内存可达64位,两支内存就可以达到128位了,这就是双通道的设计理念。

显示适配器

显示适配器又称为VGAVideo Graphics Array),他对于图形影像的显示扮演相当关键的角色。一般对于图形图像的显示重点在于分辨率与颜色深度,因为每个图像显示的颜色会占用掉内存,因此显示适配器上面会有一个内存的容量,这个显示适配器内存容量将会影响到最终你的屏幕分辨率与颜色深度。

CMOSBIOS

CMOS主要的功能为记录主板上面的重要参数,包括系统时间、CPU电压与频率、各项设备的I/O地址与IRQ等,由于这些数据的记录要花费点了,因此主板上面才有电池。BIOS为写入到主板上某一块flashEEPROM的程序,他可以在开机的时候执行,以家在CMOS当中的参数,并尝试呼叫存储装置中的开机程序,进一步进入到操作系统当中。BIOS程序也可以修改CMOS中的数据,每钟主板呼叫BIOS设定程序的按键都不同,一般左面计算机常见的是使用[del]按键进入BIOS设定画面。

第一章 Linux是什么

Thompson的这个文件系统有两个重要的概念,分别是:

1)所有的程序或系统装置都是档案

2)不管构建编辑器还是附属档案,所写的程序只有一个目的,且要有效的完成目标。

POSIX是可携式操作系统接口(Portable Operating System Interface)的缩写,重点在规范核心与应用程序之间的接口,这是由美国电气与电子工程师学会(IEEE)所发布的一项标准。

第二章 Linux如何学习

所谓的平行运算指的是“将原本的工作分成多份,然后交给多部主机去运算,最终再将结果收集起来”的一种方式。

第三章 主机规划与磁盘分区

磁盘阵列(RAID)是利用硬件技术将数个硬盘整合成为一个大硬盘的方法,操作系统只会看到最后被整合起来的大硬盘。由于磁盘阵列是由多个硬盘组成,所以可以达成速度效能、备份等任务。

各硬件装置在Linux中的文件名

装置

装置在Linux内的文件名

IDE硬盘机

/dev/hd[a-d]

SCSI/SATA/USB硬盘机

/dev/sd[a-p]

USB快闪碟

/dev/sd[a-p](SATA相同)

软盘驱动器

/dev/fd[0-1]

打印机

25:/dev/lp[0-2]

USB:/dev/usb/lp[0-15]

鼠标

USB:/dev/usb/mouse[0-15]

PS2:/dev/psaux

当前CDROM/DVDROM

/dev/cdrom

当前的鼠标

/dev/mouse

磁带机

IDE:/dev/ht0

SCSI:/dev/st0

磁盘连接的方式与装置文件名的关系

IDE接口来说,由于一个IDE扁平电缆可以连接两个IDE装置,又通常主机都会提供两个IDE接口,因此最多可以接到四个IDE装置。也就是说,如果你已经有一个光盘设备了,那么最多就只能再接三颗IDE接口的硬盘。这两个IDE接口通常被称为IDE1primary)及IDE2secondary),而每条扁平电缆上面的IDE装置可以被区分为MasterSlave。这四个IDE装置的文件名为:

IDE\Jumper

Master

Slave

IDE1(Primary)

/dev/hda

/dev/hdb

IDE2(Secondary)

/dev/hdc

/dev/hdd

再以SATA接口来说,由于SATA/USB/SCSI等磁盘接口都是使用SCSI模块来驱动的,因此这些接口的磁盘装置文件都是/dev/sd[a-p]的格式。但是与IDE接口不同的是,SATA/USB接口的磁盘根本就没有一定的顺序,那如何决定他的装置文件名呢?这个时候就得要根据Linux核心侦测到磁盘的顺序了!

其实整颗磁盘的第一个扇区特别重要,因为他记录了整颗磁盘的重要信息!磁盘的第一个扇区主要记录了两个重要信息,分别是:

1) 主要启动记录区(Master Boot Record,MBR):可以安装开机管理程序的地方,有446bytes

2) 分割表(partition table):记录整颗硬盘分割的状态,有64bytes

MBR是很重要的,因为当系统在开机的时候会主动去读取这个区块的内容,这个系统才会知道你的程序放在哪里且如何进行开机。

由于分割表就只有64bytes而已,最多只能容纳四笔分割的记录,这四个分割的记录被称为主要(Primary)或延伸(Extended)分割槽。

请注意,延伸分割的目的是使用额外的扇区来记录分割信息,延伸分割本身并不能拿来格式化。然后我们可以透过延伸分割所指向的那个区块继续作分割的记录。

主要分割、延伸分割与逻辑分割的特性我们做个简单的定义:

(1) 主要分割与延伸分割最多可以有四笔(硬盘的限制)

(2) 延伸分割最多只能有一个(操作系统限制)

(3) 逻辑分割是由延伸分割持续切割出来的分割槽

(4) 能够被格式化后,作为数据存取的分割槽为主要分割和逻辑分割。延伸分割无法格式化。

(5) 逻辑分割的数量依操作系统而不同,在Linux系统中,IDE硬盘最多有59个逻辑分割(5号到63号),SATA硬盘则有11个逻辑分割(5号到15号)。

由于第一个扇区所记录的分割表与MBR是这么的重要,几乎只要读取硬盘都会先由这个扇区先读起。因此,如果整颗硬盘的第一个扇区(就是MBRpartition table所在的扇区)物理实体坏掉了,那这个硬盘大概就没有用了!

由于P(primary)+E(extended)最多只能有四个,其中E最多只能有一个。

因为1~4号是保留给主要/延伸分割槽的,因此第一个逻辑分割槽一定是由5号开始的!

开机流程与主要启动记录区(MBR

简单的说,整个开机流程到操作系统之前的动作应该是这样的:

1.BIOS:开机主动执行的韧体,会认识第一个可开机的装置;

2.MBR:第一个可开机装置的第一个扇区内的主要启动记录区块,内含开机管理程序;

3.开机管理程序(boot loader):一支可读取核心档案来执行的软件;

4.核心档案:开始操作系统的功能

由上面的说明我们会知道,BIOSMBR都是硬件本身会支持的功能,至于Boot loader则是操作系统安装在MBR上面的一套软件了。由于MBR仅有446bytes而已,因此这个开机管理程序是非常小而美的。这个boot loader的主要任务有底下这些项目:

1.提供选单:用户可以选择不同的开机项目,这也是多重引导的重要功能。

2.载入核心档案:直接指向可开机的程序区段来开始操作系统;

3.转交其他loader:将开机管理功能转交给其他loader负责。

开机管理程序除了可以安装在MBR之外,还可以安装在每个分割槽的启动扇区(boot sector!

总结:

1.每个分割槽都拥有自己的启动扇区(boot sector

2.实际可开机的核心档案是放置到各分割槽内的!

3.loader只会认识自己的系统槽内的可开机核心档案,以及其他loader而已。

4.loader可直接指向或者是间接将管理权转交给另一个管理程序。

“如果要安装多重引导,最好先安装Windows再安装Linux”,这是因为:

1.Linux在安装的时候,你可以选择将开机管理程序安装在MBR或各别分割槽的启动扇区,而且Linuxloader可以手动设定选单,所以你可以在Linuxboot loader里面加入Windows开机的选项;

2.Windows在安装的时候,他的案子程序会主动覆盖掉MBR以及自己所在分割槽的启动扇区,你没有选择的机会,而且他没有让我们自己选择选单的功能。

Linux安装模式下,磁盘分区的选择(极重要)

(1) 目录树结构(directory tree

Linux内的所有数据都是以档案的形态来呈现的,所以,整个Linux系统最重要的地方就是在于目录树架构。所谓的目录树架构(directory tree)就是以根目录为主,然后向下呈现分支状的目录结构的一种档案架构。所以,整个目录树架构最重要的就是那个根目录(root directory),这个根目录的表示方法为一条斜线“/”,所有的档案都与目录树有关。

(2) 文件系统与目录树的关系(挂载)

所谓的“挂载”就是利用一个目录当成进入点,将磁盘分区槽的数据放置在该目录下;也就是说,进入该目录就可以读取分割槽的意思。这个动作我们称为“挂载”,那个进入点的目录我们称为“挂载点”。

由于整个Linux系统最重要的是根目录,因此根目录一定需要挂载到某个分割槽的。至于其他的目录则可依用户自己的需求来给予挂载到不同的分割槽。

(3) distributions安装时,挂载点与磁盘分区的规划:

强烈建议使用“自定义安装,Custom”这个安装模式!在某些Linux distribution中,会将这个模式写的很厉害,叫做是“Expert,专家模式”。

(4) 自定义安装“Custom

A:初次接触Linux:只要分割“/”与“swap”即可

如果是初次安装的话,那么可以仅分割成两个分割槽“/”与“swap”即可。

B:建议分割的方法:预留一个备用的剩余磁盘容量!

(5) 选择Linux安装程序提供的默认硬盘分割方式:

对于首次接触Linux的朋友们,鸟哥通常不建议使用各个distribution所提供预设的Server安装方式,因为会让你无法得知Linux在搞什么鬼,而且也不见得可以符合你的需求!

安装Linux前的规划

1)选择适当的distribution

2)主机的服务规划与硬件的关系

3)主机硬盘的主要规划

1)最简单的分割方法

仅分割出根目录与内存置换空间(/&swap),然后在预留一些剩余的磁盘供以后练习之用。

(2)稍微麻烦一点的方式

较麻烦一点的分割方式就是先分析这部主机的未来用途,然后根据用途去分析需要较大容量的目录,以及读写较为频繁的目录,将这些重要的目录分别独立出来而不与根目录放在一起,那当这些读写较频繁的磁盘分区槽有问题时,至少不会影响到根目录的系统数据,那挽救方面就比较容易了!

4)鸟哥说:关于练习机的安装建议

猜你喜欢

转载自bsr1983.iteye.com/blog/1161870
今日推荐