Big-man进军Linux系统(一)
前言:
- 作为在创业公司的前端技术人员Big-man ,需要调整一下心态,开始进军Linux系统了。
计算机系统分析:
1、Big-man在介绍Linux之前,需要先分析一下什么是计算机系统了?
- 计算机其实是:接受用户输入指令(
Instruction
)与数据(Data
),经过中央处理器(CPU
)的数据与逻辑单元运算处理后,以产生或储存成有用的信息。因此,只要有输入设备(不管是键盘还是触摸式屏幕)以及输出设备(屏幕或直接打印出来),让你可以输入数据使该机器产生信息的,那就是一台计算机。
- 计算机其实是:接受用户输入指令(
- 如图所示:
五大单元:
根据上面的定义Big-man就可以依次推理出计算机的组成部分,主要是五大单元大致可以分为三个部分:
- 输入单元:包括键盘、鼠标、卡片阅读机、扫描仪、手写板、触摸屏幕等。
- 中央处理器(
CPU
):含有算术逻辑、控制、记忆等单元。 - 输出单元:例如屏幕、打印机等。
- 如图所示:
CPU
五大单元也就是三大部分中最为重要的(在Big-man看来其中最为重要的)部分——中央处理器,它也是主机部分最为重要的组成部分,中央处理器在其他国家被称为CPU(
Center Processing Unit, CPU
),CPU是一个具有特定功能的芯片,里头含有微指令集,如果你想要让主机进行什么特异的功能,就得要参考是否有相关内置的微指令集才可以。CPU的工作主要有两个部分, 一个就是管理,而另一个就是运算,当然,Big-man所应用到的大部分都是运算,因此在CPU分为两个主要的单元,分别是算术逻辑单元与控制单元。
CPU的分类:
Big-man既然向你介绍了CPU的位置(重要程度)和作用,那就意味还要给大家带来它的分类,CPU的分类:
a、 精简指令集(Reduced Instruction Set Computing, RISC )
- 这种CPU的设计中,微指令集较为精简,每个指令的执行时间都很短,完成的操作也很单纯,指令的执行性能较佳;但是若要做复杂的事情,就要由多个指令来完成。
b、复杂指令集(Complex Instruction Set Computing, CISC)
- 与RISC不同的,在CISC的微指令集中,每个小指令可以执行一些较低级的硬件操作,指令数目多而且复杂,每条指令的长度并不相同。因为每条指令执行较为复杂,所以每条指令花费的时间较长,但每条个别指令处理的工作较为丰富。
上面介绍的内存和CPU以及一些输入、输出设备,但是Big-man转念一想又觉得光是凭借着这些就能够组成计算机系统了吗?答案肯定是不行的,Big-man在心里这样否定着自己,因为还要有接口设备。
接口设备:
接口设备:
- 提起接口设备,Big-man提醒大家必须要想到的是主板,主板负责将所有设备连接到一起,让所有的设备能够进行协调和通信, 这不禁让Big-man联想到小时候看隔壁小伙伴玩耍的模型道具,而主板就是模型道具的模板,把各个模型连接到一起这块模板必不可少的。而主板上面最重要就是主板芯片组,这个芯片组可以将所有的设备汇集在一起!当然还是存在其他的设备:
- a、存储设备:包括硬盘、软盘、光盘和磁带等;
- b、显示设备:显卡对于像Big-man这样的3D游戏来说是非常重要的,它与显示的精度、色彩与分辨率都有关系。
- c、网络设备:没有网络就活不下去。所以网络对于计算机来说也是相当重要的。
- 提起接口设备,Big-man提醒大家必须要想到的是主板,主板负责将所有设备连接到一起,让所有的设备能够进行协调和通信, 这不禁让Big-man联想到小时候看隔壁小伙伴玩耍的模型道具,而主板就是模型道具的模板,把各个模型连接到一起这块模板必不可少的。而主板上面最重要就是主板芯片组,这个芯片组可以将所有的设备汇集在一起!当然还是存在其他的设备:
计算机的运作模式:
Big-man又想到了一个问题,计算机是如何运作的了?如下图所示:
Big-man自我感觉这样的介绍可以很好的解释计算机的运作流程是什么样的!如果这是在中学时代的话,老师会跟大家解释说这是拟人修辞手法。
- a、CPU = 大脑:每个人会做事情都不一样(微指令集的区别),但主要都是通过大脑来进行判断和控制各部分活动。
- b、内存 = 大脑的记录区块:在实际活动过程中,我们的大脑能够将外界的互动暂时记录起来,提供CPU来进行判断。
- c、硬盘 = 大脑中的记忆区块:将重要的数据记录起来,以便未来再次使用这些重要的经验。
- d、主板 = 神经系统:好像人类的神经一样,将所有重要的组件连接起来,包括手脚的活动都是大脑发布命令后,通过神经(主板)传输给手脚来进行活动。
- e、各项接口设备 = 人体与外界通信的手、脚、皮肤、眼睛等;就好像手脚一般,是人体与外界互动的关键部位。
- f、显卡 = 脑袋中的影像:将来自于眼睛的刺激转成影响后在脑袋中呈现,所以显卡所产生的数据来源也是CPU控制。
- g、电源(Power) = 心脏:所有的组件要能运作,得要有足够的电力供给才行。这电力供给就好像心脏一样,如果心脏不够强,那么全身也就无法动弹的!心脏不稳定的话,那么你的身体也就会出现各种的毛病(不稳定)。
个人计算机的主板
理清楚了计算的运作方式其实就大致地知道计算机的内部执行状态和组件,Big-man又想到了一个想法——分析一下用户量巨大的个人计算机的主板。
- 主板上面最重要的就是芯片组了!而芯片组通常又分为两个桥接器:
- a、北桥负责连接CPU、内存与显卡等组件;北桥的总线又被称为系统总线,因为这是内存传输的主要通道,所以速度较快, 也就是像Big-man这样的大家伙们把用眼睛(显卡)储存在某个位置(内存)然后等待处理的过程,这个过程是否比较快,相信大家如果阅片无数的话可以很清楚其中的速度;
- b、南桥负责连接周边接口,包括硬盘、USB、网卡等,所以速度较慢;也就好比像Big-man这样的大家伙,通过读取外在信息去理解原理,这个过程总是没有自己去动手体会来得那么深刻。
- 这里的南北桥和三国中的大小乔不一样的。
- 主板上面最重要的就是芯片组了!而芯片组通常又分为两个桥接器:
CPU频率:
CPU频率:
- 频率就是CPU每秒钟可以进行的工作次数。
- CPU的”外频”和“倍频”
- 所谓的外频指的是CPU与外部组件进行数据传输/运算时的速度,倍频则是CPU内部用来加速工作性能的一个倍数,两者相乘才是CPU的频率。
32bit与64bit:
- 32位和64位:
- 北桥所支持的频率我们称为前端的总线速度(Front Side Bus),而每次传送的位数则是总线长度。
- 与总线长度相似,CPU每次能够处理的数据量称为字组大小(word size),字组大小依据CPU的设计有32位和64位。Big-man了解到我们现在所称的计算机是32位还是64位主要是依据CPU解析的字组大小而来的。
内存:
- 内存:
- 无论是软件程序还是数据,都必须要读入主存储器后CPU才能利用。
- 注意:主存储器型号的挑选与CPU以及芯片组有关,所以主板、CPU与内存在购买的时候必须要考虑其相关性。不然怎么给自己的女神买比较高配的电脑啊。
- 通常是越大的内存代表越快速的系统,这是因为系统不用常常释放一些内存的数据。以服务器来说,主储存器的容量有时比CPU的速度还要来的重要的!
双通道设计:
- 双通道设计:
- 由于所有数据都必须存放在主存储器,所以主存储器的数据宽度当然是越大越好。但传统的总线宽度一般大约仅达64位,为了要加大这个宽度,因为芯片组厂商就将两个主存储器汇整在一起,如果一支内存可达64位,两支内存就可以达到128位了,这就是双通道的设计理念。
- 就像武侠小说中的叠加功力一样,只不过这里的双通道中的内存最好是型号都是一模一样的,这样的话启动这个双通道的时候,数据都会是同步写入/读出这一对主存储器中,如此才能最大化地提升。
DRAM和SRAM:
- DRAM和SRAM:
- CPU内的第二次高速缓存。大家现在知道了CPU中的数据都是由主存储器提供,但主存储器提供,但主存储器的数据毕竟得经由北桥送到CPU内。如果某些很常用的程序或数据可以放置到CPU内部的话,那么CPU资料的读取就不需要北桥了!对于效能说不就可以大大的提升了?这是第二层的设计概念。第二层快取与主存储器以及CPU的关系。如下图所示:
- 静态随机存取内存(Static Random Access Memory, SRAM)的帮忙了。SRAM在设计上使用的晶体管数量较多,价格较高,且不易做成大容量,不过由于其速度快,因此整合到CPU内成为告诉缓存以加快数据的存取是个不错的选择。
- DARM(Dynamic Random Access Memory)不适合做这个第二层的Cache,因为它无法和CPU的频率相同。
- CPU内的第二次高速缓存。大家现在知道了CPU中的数据都是由主存储器提供,但主存储器提供,但主存储器的数据毕竟得经由北桥送到CPU内。如果某些很常用的程序或数据可以放置到CPU内部的话,那么CPU资料的读取就不需要北桥了!对于效能说不就可以大大的提升了?这是第二层的设计概念。第二层快取与主存储器以及CPU的关系。如下图所示:
只读存储器(ROM):
- 只读存储器(ROM)
- BIOS(Basic Input Output System)是一套程序,这套程序是写死到主板上面的一个内存芯片中,这个内存芯片在没有通电时也能够将数据记录下来,那就是只读存储器(Read Only Memory ,ROM)。ROM是一种非挥发性的内存。另外, 将BIOS对于个人计算机来说是非常重要的,因为他是系统在开机的时候首先会去读取的一个小程序的。
- 韧体(Firmware)很多也是使用ROM来进行软件的写入的。韧体就像软件一样也是被计算机所执行的程序,然而他是对于硬件内部而言更加重要得到部分。这样说出来大家可能会像Big-man一样一头雾水,所以例如:
- BIOS就是一个韧体,BIOS虽然对于我们日常操作计算机系统没有什么太大的关系,但是他却控制着开机时各项硬件参数的取得!连BIOS都是卸载
ROM
上的, 那么我们就会知道很多硬件上都会存在ROM写入韧体这个软件。
显示设配器:
- 显示设配器:
- 显示适配器又称为VGA(Video Graphics Array),他对于图形影像的显示扮演着相当关键的角色。一般对于图形影像的显示重点在于分辨率与颜色深度,因为每个图像显示的颜色会占用掉内存,因此显示适配器上面会有一个内存的容量,这个显示适配器内存容量将会影响到最终你的屏幕分辨率与颜色深度。
- 例题:
- 假设你的桌面使用1024*768分辨率,且使用全彩(每个像素占用
3bytes
的容量),请问你的显示适配器至少需要多少内存才能使用这样的彩度? 这个时候我们需要拿出自己的演草纸了。 - 至于结果是多少了,希望大家去进行运算,但是运算出来的结果,实际的内存还要考虑屏幕的更新率(每秒屏幕的更新次数),所以显示适配器的内存还是越大越好!
- 假设你的桌面使用1024*768分辨率,且使用全彩(每个像素占用
硬盘与存储设备:
硬盘与存储设备:
- 硬盘、软盘、MO、CD、DVD、磁带机、随身碟(闪存)、还有新一代的蓝光光驱等。
硬盘的物理组成:
实际的数据都是写在具有磁性物质的磁盘盘里面,而读写主要是透过机器手臂上的读取头(head)/磁头来达成。
磁盘上的数据:
- 整个磁盘盘里面好像存在多个同心圆绘制的饼图,而由同心圆以放射状的方式分割出磁盘的最小储存单位,那就是扇区(
selector
)。
- 整个磁盘盘里面好像存在多个同心圆绘制的饼图,而由同心圆以放射状的方式分割出磁盘的最小储存单位,那就是扇区(
如图所示:
在物理组成分面, 每个扇区的大小
512Bytes
, 这个值是不会变化的。而扇区组成一个圆, 这个圆就称为磁道(track
), 如果是在多碟的硬盘上面, 在所有磁盘盘上面的同一个磁道可以组成一个磁柱(Cylinder
), 磁柱也就是一般分割硬盘时的最小单位!- 在计算整个储存量时, 简单的计算公式就是:
[header数量 * 每个header负责的磁柱数量 * 每个磁柱的扇区数量 * 扇区的容量]
- 单位换算后的计算公式:
[header * cylinder/header * sector / cylinder * 512bytes/secter]
- 简单的写法如下:
Head * Cylinder * Sector * 512Bytes
在理论的范畴去计算储存量是可以按照以上来进行计算的,但是如果现实生活中, 制造商们是通过十进制的方式去编号的,所以市面上的
500GB
的储存量,到实际可用(理论上)也就会变为460GB
左右的容量了。那么是否每个扇区都一样重要呢?其实整个磁盘的第一个扇区特别的重要,因为他记录了整颗磁盘的重要信息!磁盘的第一个扇区主要记录了两个重要的信息,分别是:
主要启动记录区(Master Boot Record, MBR):可以安装开机管理程序的地方,有446bytes
。
分割表(partition table):记录整颗硬盘分割的状态,有64bytes
MBR是很重要的,因为当系统在开机的时候会主动去读取这个区块的内容,这样系统才会知道你的程序放在哪里且该如何进行开机。如果你要安装多重引导的系统,MBR这个区块的管理就非常非常的重要了。
- 那么分割表又是啥?其实你刚刚拿到的整颗硬盘就像一个原木,你必须要在这根原木上面切割出你想要的区段,这个区段才能够再制作成为你想要的家具!如果没有进行切割,那么原木就不能被有效的使用。同样的道理,你必须要针对你的硬盘进行分割,这样硬盘才可以被你使用的!
传输接口:
- 由于传输速度的需求提升,目前硬盘与主机系统的联系主要有几种接口规格:
IDE
界面:
- IDE接口插槽所使用的扁平电缆较宽,每条扁平电缆上面可以接两个
IDE
装置,由于可以接两个装置,那为了判别两个装置的主/从架构,因此这种磁盘驱动器上面需要调整跳帧(Jump
)成为Master
或Slave
。每秒理论的传播速度可达133MBytes
(Utra 133规格)。
- IDE接口插槽所使用的扁平电缆较宽,每条扁平电缆上面可以接两个
SATA
界面:
- 每条
SATA
连接线仅能接一个SATA
装置。SATA
接口除了速度较快之外,由于其扁平电缆细小所以有利于主机壳内部的散热与安装! - SATA-1(也就是SATA一代):
- 每秒
150MBytes
;
- 每秒
- SATA-2(也就是SATA二代):
- 每秒
300MBytes
;
- 每秒
- 每条
SCSI
界面:
- 另一种常见于工作站等级以上的硬盘传输接口为
SCSI
接口,这种接口的硬盘在控制器上含有一颗处理器,所以除了运转速度快之外,也比较不会耗费CPU
的资源。在个人计算机上这种类型还不常见。
- 另一种常见于工作站等级以上的硬盘传输接口为
连接设备接口:
- 如图:
JackDan9 Thinking