《鳥哥的Linux私房菜》(基礎篇)筆記整理(第0~3章)

分類: 打印機驅動使用 发布时间:2018-11-28 10:57

在结束了C++ Primer Plus和计算机组成原理的第一遍学习之后,我又开始了新课程的学习。目前在学习鳥哥的Linux私房菜(基础篇),采用的是第三版(书本学习)和第四版(电子版)相结合的方式,所以整理的笔记会混合第三版和第四版的知识点,但是考虑版本更迭关系,整理知识会以第四版为主。

1.計算機的五大單元:輸入設備、輸出設備、控制單元、算術邏輯單元、內存。

2.CPU的種類:精簡指令集(RISC)和複雜指令集(CISC)。

3.CPU的外頻和倍頻:

(1)外頻指CPU和外部組件進行數據傳輸/運算速度;倍頻則是CPU內部用來加速工作性能的倍數。

CPU的頻率=CPU外頻X倍頻。

4.新的CPU設計中,已經將北橋的內存控制芯片整合到CPU內,而CPU與主存儲器、顯示適配器溝通的總線通常被稱爲系統總線,是內存傳輸的主要通道,速度較快;南橋是輸入輸出總線,聯系硬盤、USB、網卡等。

5.CMOS主要功能爲記錄主板上面的重要參數,包括系統時間、CPU電壓與頻率、各項設備的I/O国产福利不卡在线视频與IRQ等;BIOS爲寫入到主板上某一塊閃存或者EEPROM的程序,它可以在開機的時候執行,加載CMOS中的參數,並嘗試調用存儲設備中的開機程序,進一步進入操作系統當中。

6.操作系統的角色

图0.1 操作系统的角色

7.系統內核的功能:

(1)系統調用接口;

(2)程序管理;

(3)內存管理;

(4)文件系統管理;

(5)設備驅動。

8.個人計算機的主存儲器主要組件爲動態隨機存取內存(DRAM),CPU內部的第二層緩存(Cache)則使用SRAM。

9.磁盤連接到主板的接口多爲SATA和SAS,目前主流爲SATA3.0。

1.GNU是GNU’s Not Unix的缩写。GPL是GNU General Public License的缩写。

1.在Linux中,每個設備都被當做一個文件來對待,每個設備都有設備文件名。各硬件設備在Linux中的文件名

/dev/usb/lp[0-15](USB打印機)

/dev/psaux(PS/2界面)

/dev/sr[0-1](通用,CentOS較常見)

/dev/cdrom(當前CDROM)

/dev/tape(當前磁帶)

SATA/SCSI型:/dev/st0

(1)由于現在IDE的磁盤基本都被淘汰,所以現在連IDE的文件名也被仿真成/dev/sd[a-p]了。

(2)正常機器的SATA借口的文件名都是/dev/sd[a-p],但由于我使用的是虛擬機安裝linux,所以使用的是/dev/vd[a-p]。

2.IDE的硬盤文件名順序是按照接口順序來的,如下:

但是在SATA是按照LINUX核心偵測到磁盤的順序來設置順序。

3.早期磁盘第一个山区内含有重要的信息我们称为MBR(Master Boot Record)格式,但是现在硬盤越来越大,也就出现了新的GPT(GUID partition table)格式。

4.關于MBR

分區的原因:

(1)數據的安全性;

(2)數據的效能考慮。

MBR僅使用第一個512bytes區塊來記錄。第一個512bytes有兩個數據,MBR(可以安裝開機管理程序的地方,有446bytes)和分區表(記錄整個硬盤分區狀態,有64bytes)。

我們利用參考柱面號碼來進行分區,在分區表所在的64bytes容量中,總共分爲四組記錄區,每組記錄區記錄了該區段的啓始與結束的柱面號碼。例如:

由于分區表仅能写入四组分区信息,这四个分区被称为主(Primary)或扩(Extended)分区。我们可以用擴展分區来将一个硬盤分为更多的分区。擴展分區的想法是:既然第一个扇区所在的分區表只能记录四条数据,那就可以利用额外的扇区来记录更多的分区信息。由擴展分區继续切出来的分区,就被称为逻辑分区(logical partition)。例如:

注意:由于前四個號碼都是保留給Primary或Extended用的。所以邏輯分區的設備名稱號碼應該從5開始。

MBR主要分區、拓展分區和邏輯分區的特性:

(1)主分區和拓展分區最多只能有4組(硬盤限制);

(2)擴展分區最多只能有一個(操作系統限制);

(3)邏輯分區是由擴展分區持續切割出來的分區;

(4)能夠被格式化後作爲數據訪問的分區爲主分區和邏輯分區,擴展分區無法格式化;

(5)邏輯分區的數量以操作系統而不同,在LINUX系統中SATA硬盤已經可以突破63個以上分區的限制。

5.關于GPT

GPT已经没有擴展分區和逻辑分区的概念。GPT使用34个LBA(Logical Block Address,逻辑区块国产福利不卡在线视频)区块来记录分区信息。如图3.1所示。

图3.1 GPT的LBA块示意图

LBA0(MBR相容區塊):分爲兩個部分,第一個就是跟之前相似,儲存了第一階段的開機管理程序;後面的那部分放入一個特殊標志,表示此磁盤爲GPT格式。

LBA1(GPT表頭記錄):記錄了分區表本身的位置和大小,同時記錄了備份用的GPT分區(即最後34個LBA區塊)放置的位置,同時放置了分區表的檢驗機制碼(CRC32)。

LBA2-LBA33(實際記錄分區信息的地方):每個LBA都可以記錄4個分區記錄,所以默認情況下總共有4*32=128個分區記錄。GPT在美國記錄中分別提供了64bits來記載開始/結束的扇區號碼。

6.MBR的開機流程

簡單來說,整個個開機流程到操作系統之前的動作如下:

(1)BIOS:開機主動執行,會認識第一個可開機的設備;

(2)MBR:第一個可開機設備的第一個扇區內的主要啓動記錄區塊,內含開機管理程序;

(3)引导加载程序(Boot loader):一个可读取内核文件来执行的软件;

(4)內核文件:開始操作系統的功能。

7.UEFIBIOS搭配GPT的開機流程

傳統BIOS與UEFI差別如下:

不可變的內存存取

不可變的輸入/輸出存取

8.目錄樹結構

整个目录树架构中最重要的就是根目录(root directory),这个根目录的表示方法为一条斜线(/),所有文件都与目录树有关,呈现方式如下图。

图3.2 目录树相关性示意图

9.文件系統與目錄樹的關系——挂載

所謂挂載,就是利用一個目錄當成進入點,將磁盤分區的數據放置在該目錄下,也就是說進入該目錄就可以讀取該分區的信息。

10.boot loader的主要功能:提供菜单、载入内核文件、转交其它loader。boot loader的安装地点可以是MBR或者Boot sector。