鳥哥的Linux私房菜2018簡體化 第零章(3)、計算機概論

0.3 資料表示方式

事實上我們的電腦只認識0與1,記錄的資料也是只能記錄0與1而已,所以電腦常用的數(shù)據(jù)是二進制的。但是我們人類常用的數(shù)值運算是十進制,文字方面則有非常多的語言,臺灣常用的語言就有英文、中文(又分繁體與簡體中文)、日文等。那么電腦如何記錄與現(xiàn)實這些數(shù)值/文字呢?就得要通過一系列的轉換才可以啦!下面我們就來談談數(shù)值與文字的編碼系統(tǒng)啰!

0.3.1 數(shù)字系統(tǒng)

早期的電腦使用的是利用通電與否的特性的真空管,如果通電就是1,沒有通電就是0,后來沿用至今,我們稱這種只有0/1的環(huán)境為二進制,英文稱為binary。所謂的十進制指的是逢十進一位,因此在個位數(shù)歸零而十位數(shù)寫成1.所以所謂的二進制,就是逢二就前進一位的意思。

那二進制怎么用呢?我們先以十進制來解釋好了。如果以十進制來說,3456的意義為:

3456=3x103+4x102+5x101+6x100

特別注意:“任何數(shù)值的零次方為1”所以100的結果就是1啰。同樣的,將這個原理帶入二進制的環(huán)境中,我們來解釋一下1101010的數(shù)值轉為十進制的話,結果如下:

1101010=1x26+1x25+0x24+1x23+0x22+1x21+0x20

=64+32+0x16+8+0x4+2+0x1=106

這樣你了解二進制的意義了嗎?二進制是電腦基礎中的基礎喔!了解了二進制,八進制、十六進制就以此類推啦!那么知道二進制轉成十進制后,那如果有十進制數(shù)值轉為二進制的環(huán)境時,該如何計算?剛剛是乘法,現(xiàn)在則是除法就對了!我們同樣的使用十進制的106轉成二進制來測試一下好了:

圖0.3.1、十進制轉二進制的方法

最后的寫法就如同上面的紅色箭頭,由最后的數(shù)字向上寫,因此可得到1101010的數(shù)字啰!這些數(shù)字的轉換系統(tǒng)是非常重要的,因為電腦的加減乘除都是使用這些機制來處理的!有興趣的朋友可以再參考一下其他計算機概論的書籍中,關于1的補碼/2的補碼等運算方式喔!

0.3.2 文字編碼系統(tǒng)

既然電腦都只有記錄0/1而已,甚至記錄的數(shù)據(jù)都是使用Byte/bit等單元來記錄的,那么文字該如何記錄???事實上文本文件也是被記錄為0與1而已,而這個文件的內容要被取出來查閱時,必須要經過一個編碼系統(tǒng)的處理才行。所謂的“編碼系統(tǒng)”可以想成是一個“字碼對照表”,它的概念有點像下面的圖示:

圖0.3.2、資料參考編碼表的示意圖

當我們要寫入文件的文本數(shù)據(jù)時,該文本數(shù)據(jù)會由編碼對照表將該字符轉成數(shù)字后,再存入文件當中。同樣的,當我們要將文件內容的數(shù)據(jù)讀出時,也會經過編碼對照表將該數(shù)字轉成對應的字符后,再顯示到屏幕上。現(xiàn)在你知道為何瀏覽器上面如果編碼寫錯時,會出現(xiàn)亂碼了嗎?這是因為編碼對照表寫錯,導致對照的字符產生誤差之故啦!

常用的英文編碼表為ASCII系統(tǒng),這個編碼系統(tǒng)中,每個字符(英文、數(shù)字或符號等)都會占用1Byte的記錄,因此總共會有28=256種變化。至于中文字符當中的編碼系統(tǒng)早期最常用的就是Big5這個編碼表了。每個中文會占用2Bytes,理論上最多可以有216=65536,亦即最多可達6萬多個中文字符。但是因為Big5編碼系統(tǒng)并非將所有的位都拿來運用成為對照,所有并非可達這么多的中文字符的。目前Big5僅定義了一萬三千多個中文字符,很多中文利用Big5是無法成功顯示的~所有才會有造字程序。

Big5碼的中文字符編碼對于某些數(shù)據(jù)庫系統(tǒng)來說是很有問題的,某些字符例如“許、蓋、功”等字,由于這幾個字的內部編碼會被誤判為單/雙引號,在寫入時還不成問題,在讀出數(shù)據(jù)的對照表時,常常就會變成亂碼。不止中文字符,其他非英語系國家也常常會有這樣的問題出現(xiàn)啊!

為了解決這個問題,由國際組織ISO/IEC站出來制定了所謂的Unicode編碼系統(tǒng),我們常常稱為UTF8或者國際碼的編碼就是這個東西。因為這個編碼系統(tǒng)打破了所有國家的不同編碼,因此目前互聯(lián)網社會大多朝向這個編碼系統(tǒng)在走,所以各位親愛的朋友啊,記得將你們的編碼系統(tǒng)修訂一下喔!

0.4 軟件程序運行

鳥哥在上課時常常會開玩笑的問:“我們知道沒有插電的電腦是一堆廢鐵,那么插了電的電腦是什么”?答案是:“一堆會電人的廢鐵”!這是因為沒有軟件的運行,電腦的功能就無從發(fā)揮之故。就好像沒有了靈魂的軀體也不過就是行尸走肉,重點在于軟件/靈魂啰!所以下面咱們就得要了解一下“軟件”是什么。

一般來說,目前的電腦系統(tǒng)將軟件分為兩大類,一個是系統(tǒng)軟件,一個是應用程序。但鳥哥認為我們還是得要了解一下什么是程序,尤其是機器程序,了解之后再來討論一下為什么現(xiàn)今的電腦系統(tǒng)需要“操作系統(tǒng)”這玩意呢!

0.4.1 機器程序與編譯程序

我們前面談到電腦只認識0與1而已,而且電腦最重要的運算與邏輯判斷是在CPU內部,而CPU其實是具有微指令集的。因此,我們需要CPU幫忙工作時,就得要參考微指令集的內容,然后撰寫讓CPU讀得懂的指令碼給CPU執(zhí)行,這樣就能夠讓CPU運行了。

不過這樣的流程有幾個很麻煩的地方,包括:

需要了解機器語言:機器只認識0與1,因此你必須要學習直接寫給機器看的語言!這個地方想到都難呢!

需要了解所有硬件的相關功能函數(shù):因為你的程序必須要寫給機器看,當然你就得要參考機器本身的功能,然后針對該功能去撰寫源代碼。例如,你要讓DVD影片能夠播放,那就得要參考DVD影碟機的硬件資料才行。萬一你的系統(tǒng)有比較冷門的硬件,光是參考技術手冊可能會昏倒~

程序不具有可移植性:每個CPU都有獨特的微指令集,同樣的,每個硬件都有其功能函數(shù)。因此,你為A電腦寫的程序,理論上是沒有辦法在B電腦上運行的!而源代碼的修改非常困難!因為是機器碼,并不是人類看的懂的程序語言??!

程序具有專用性:因為這樣的程序必須要針對硬件功能函數(shù)來撰寫,如果已經開發(fā)了一個瀏覽器程序,想要再開發(fā)文件管理程序時,還是得從頭再參考硬件的功能函數(shù)來繼續(xù)撰寫,每天都在和“硬件”挑戰(zhàn)!可能需要天天喝紅牛了!@_@

那怎么解決?。繛榱私鉀Q這個問題,電腦科學家設計出一種讓人類看得懂的程序語言,然后創(chuàng)造一種“編譯器”來將這些人類能夠寫的程序語言轉譯成為機器能看懂的機器碼,如此一來我們修改與撰寫程序就變得容易多了!目前常見的編譯器有C,C++,Java,F(xiàn)ortran等等。機器語言與高級程序語言的差別如下所示:

圖0.4.1、編譯器的角色

從上面的圖示我們可以看到高級程序語言的源代碼是很容易查看的!鳥哥已經將源代碼(英文)寫成中文~這樣比較好理解啦!所以這樣已經將程序的修改問題處理完畢了。問題是,在這樣的環(huán)境下面我們還是得要考慮整體的硬件系統(tǒng)來設計程序喔!

舉例來說,當你需要將運行的數(shù)據(jù)寫入內存中,你就得要自行分配一個內存區(qū)域出來讓自己的數(shù)據(jù)能夠填進去,所以你還得要了解到內存的地址是如何定位的,??!眼淚還是不知不覺的流了下來……怎么寫程序這么麻煩?。?/p>

為了要克服硬件方面老是需要重復撰寫控制碼的問題,所以就有操作系統(tǒng)(Operating System, OS)的出現(xiàn)了!什么是操作系統(tǒng)呢?下面就來談一談!

0.4.2 操作系統(tǒng)

如同前面提到的,在早期想要讓電腦執(zhí)行程序就得要參考一堆硬件功能函數(shù),并且學習機器語言才能夠撰寫程序。同時每次寫程序時都必須要重新改寫,因為硬件與軟件功能不見得都一致之故。那如果我能夠將所有的硬件都驅動,并且提供一個開發(fā)軟件的參考接口來給工程師開發(fā)軟件的話,那開發(fā)軟件不就變得非常簡單了?那就是操作系統(tǒng)啦!

操作系統(tǒng)核心(Kernel)

操作系統(tǒng)(Operating System, OS)其實也是一組程序,這組程序的重點在于管理電腦的所有活動以及驅動系統(tǒng)中的所有硬件。我們剛剛談到電腦沒有軟件只是一堆廢鐵,那么操作系統(tǒng)的功能就是讓CPU可以開始判斷邏輯與運算數(shù)據(jù)、讓內存可以開始載入/讀出數(shù)據(jù)與代碼、讓硬盤可以開始被存取、讓網卡可以開始傳輸數(shù)據(jù)、讓所有外設可以開始運行等等??傊?,硬件的所有動作都必須要通過這個操作系統(tǒng)來完成就是了。

上述的功能就是操作系統(tǒng)的核心(Kernel)了!你的電腦能不能做到某些事情,都與核心有關!只有核心提供了的功能,你的電腦系統(tǒng)才能幫你完成!舉例來說,你的核心并不支持TCP/IP的網絡協(xié)議,那么無論你購買了什么樣的網卡,這個核心都無法提供網絡能力的!

但是單有核心我們用戶也不知道能做啥事的~因為核心主要在管控硬件與提供相關的能力(例如存取硬盤、網絡功能、CPU資源取得等),這些管理的動作是非常的重要的,如果使用者能夠直接使用核心的話,萬一用戶不小心將核心程序停止或破壞,將會導致整個系統(tǒng)的崩潰!因此核心程序所放置到內存當中的區(qū)塊是受保護的!并且開機后就一直常駐在內存當中。

Tips

所以整個系統(tǒng)只有核心的話,我們就只能看著已經準備好運行(Ready)的電腦系統(tǒng),但無法操作它!好像有點望梅止渴的那種感覺啦!這個時候就需要軟件的幫忙了!

系統(tǒng)調用

既然我的硬件都是由核心管理,那么如果我想要開發(fā)軟件的話,自然就得要去參考這個核心的相關功能!唔!如此一來不是從原本的參考硬件函數(shù)變成參考核心功能,還是很麻煩啊!有沒有更簡單的方法??!

為了解決這個問題,操作系統(tǒng)通常會提供一整組的開發(fā)接口給工程師來開發(fā)軟件!工程師只要遵守該開發(fā)接口那就很容易開發(fā)軟件了!舉例來說,我們學習C程序語言只要參考C程序語言的函數(shù)即可,不需要再去考慮其他核心的相關功能,因為核心的系統(tǒng)調用接口會主動的將C程序語言的相關語法轉成核心可以理解的任務函數(shù),那核心自然就能夠順利運行該程序了!

如果我們將整個電腦系統(tǒng)的相關軟/硬件繪制成圖的話,它的關系有點像這樣:

圖0.4.2、操作系統(tǒng)的角色

電腦系統(tǒng)主要由硬件構成,然后核心程序主要在管理硬件,提供合理的電腦系統(tǒng)資源分配(包括CPU資源、內存使用資源等等),因此只要硬件不同(如x86架構與RISC架構的CPU),核心就得要進行修改才行。而由于核心只會進行電腦系統(tǒng)的資源分配,所以在上面還需要有應用程序,用戶才能夠操作系統(tǒng)的。

為了保護核心,并且讓程序設計師比較容易開發(fā)軟件,因此操作系統(tǒng)出了核心程序之外,通常還會提供一整組開發(fā)接口,那就是系統(tǒng)調用層。軟件開發(fā)工程師只要遵循公認的系統(tǒng)調用函數(shù)來開發(fā)軟件,該軟件就能夠在該核心上面運行。所以你可以發(fā)現(xiàn),軟件與核心有比較大的關系,與硬件關系則不大!硬件也與核心有比較大的關系!至于與用戶有關的,那就是應用程序啦!

Tips

在定義上,只要能夠讓電腦硬件正確無誤的運行,那就算是操作系統(tǒng)了。所以說,操作系統(tǒng)其實就是核心與其提供的接口工具,不過就如同上面講的,因為最基本的核心缺少了與用戶溝通的友善界面,所以在目前,一般我們提到的“操作系統(tǒng)”都會包含核心與相關的用戶應用軟件呢!

簡單的說,上面的圖示可以帶給我們下面的概念:

????? 操作系統(tǒng)的核心層直接參考硬件規(guī)格寫成,所以同一個操作系統(tǒng)程序不能夠在不一樣的硬件架構下運行。舉例來說,個人電腦的Windows 8.1不能直接在ARM架構(手機與平板硬件)的電腦下運行。

????? 操作系統(tǒng)只是在管理整個硬件資源,包括CPU、內存、輸入輸出設備及文件系統(tǒng)。如果沒有其他的應用程序輔助,操作系統(tǒng)只能讓電腦主機準備妥當(Ready)而已!無法運行其他功能。所以你現(xiàn)在知道為何Windows上面要完成網頁影像的運行還需要類似PhotoImpact或Photoshop之類的軟件安裝了吧?

????? 應用程序的開發(fā)都是參考操作系統(tǒng)提供的開發(fā)接口,所以該應用程序只能在該操作系統(tǒng)上面運行而已,不可以在其他操作系統(tǒng)上面運行的?,F(xiàn)在您知道為何去購買網絡游戲的光盤時,光盤上面會明明白白的寫著該軟件適合用于哪一種操作系統(tǒng)上了吧?也該知道某些游戲為何不能夠在Linux上面安裝了吧?

核心功能

既然核心主要是在負責整個電腦系統(tǒng)相關的資源分配與管理,那我們知道其實整部電腦最重要的就是CPU與內存,因此,核心至少也要有這些功能的:

????? 系統(tǒng)調用接口(System call interface)

????? 剛剛談過了,這是為了方便程序開發(fā)者可以輕松的通過與核心的溝通,將硬件的資源進一步的利用,預算需要有這個簡單的接口來方便程序開發(fā)者。

????? 進程管理(Process control)

????? 總有聽過所謂的“多任務環(huán)境”吧?一臺電腦可能同時有很多的工作跑到CPU等待運算處理,核心這個時候必須要能夠控制這些工作,讓CPU的資源有效的分配才行!另外,良好的CPU調度機制(就是CPU先運行哪個任務的排列順序)將會有效的加快整體系統(tǒng)性能呢!

????? 內存管理(Memory management)

????? 控制整個系統(tǒng)的內存管理,這個內存控制是非常重要的,因為系統(tǒng)所有的代碼與數(shù)據(jù)都必須要先存放在內存當中。通常核心會提供虛擬內存的功能,當內存不足時可以提供內存交換(swap)的功能。

????? 文件系統(tǒng)管理(Filesystem management)

????? 文件系統(tǒng)的管理,例如數(shù)據(jù)的輸入輸出(I/O)等等的工作啦!還有不同文件系統(tǒng)的支持啦等等,如果你的核心不認識某個文件系統(tǒng),那么您將無法使用該文件系統(tǒng)里的文件啰!例如:Windows 98就不認識NTFS文件系統(tǒng)的硬盤;

????? 設備的驅動(Device drivers)

????? 就如同上面提到的,硬件的管理是核心的主要工作之一,當然啰,設備的驅動程序就是核心需要做的事情啦!好在目前都有所謂的“可加載模塊”功能,可以將驅動程序編譯成模塊,就不需要重新編譯核心啦!這個也會在后續(xù)的第十九章當中提到的!

Tips

事實上,驅動程序的提供應該是硬件廠商的事情!硬件廠商要推出硬件時,應該要自行參考操作系統(tǒng)的驅動程序開發(fā)接口,開發(fā)完畢后將該驅動程序連同硬件一起賣給用戶才對!舉例來說,當你購買顯卡時,顯卡包裝盒都會附上一張光盤,讓你可以在進入Windows之后進行驅動程序的安裝??!

操作系統(tǒng)與驅動程序

老實說,驅動程序可以說是操作系統(tǒng)里面相當重要的一環(huán)了!不過硬件可是持續(xù)在進步當中的!包括主板、顯卡、硬盤等等。那么比較晚推出的較新的硬件,例如顯卡,我們的操作系統(tǒng)當然就不認識啰!那操作系統(tǒng)該如何驅動這塊新的顯卡?為了克服這個問題,操作系統(tǒng)通常會提供一個開發(fā)接口給硬件開發(fā)商,讓他們可以根據(jù)這個接口設計可以驅動他們硬件的“驅動程序”,如此一來,只要用戶安裝驅動程序后,自然就可以在他們的操作系統(tǒng)上面驅動著塊顯卡了。

圖0.4.3、驅動程序與操作系統(tǒng)的關系

由上圖我們可以得到幾個小重點:

????? 操作系統(tǒng)必須要能夠驅動硬件,如此應用程序才能夠使用該硬件的功能;

????? 一般來說,操作系統(tǒng)會提供開發(fā)接口,讓開發(fā)商制作他們的驅動程序;

????? 要使用新硬件的功能,必須要安裝廠商提供的驅動程序才行;

????? 驅動程序是由廠商提供的,與操作系統(tǒng)開發(fā)者無關。

所以,如果你想要在某個操作系統(tǒng)上面安裝一張新的顯卡,那么請要求該硬件廠商提供適當?shù)尿寗映绦虬?!^_^為什么要強調“適當?shù)尿寗映绦颉蹦兀恳驗轵寗映绦蛉匀皇且罁?jù)操作系統(tǒng)而開發(fā)的,所以,給Windows用的驅動程序當然就不能用于Linux的環(huán)境下了。

0.4.3 應用程序

應用程序是參考操作系統(tǒng)提供的開發(fā)接口所開發(fā)出來的軟件,這些軟件可以讓用戶操作,以達到某些軟件的功能利用。舉例來說,辦公軟件(Office)主要是用來讓用戶辦公用的;影像處理軟件主要是讓用戶用來處理影音資料的;瀏覽器軟件主要是讓用戶用來上網瀏覽用的等等。

需要注意的是,應用程序是與操作系統(tǒng)有關的,如同上面的圖示當中的說明喔。因此,如果你想要購買新軟件,請務必參考軟件上面的說明,看看該軟件是否能夠支持你的操作系統(tǒng)??!舉例來說,如果你想要購買網絡游戲光盤,務必參考一下該光盤是否支持你的操作系統(tǒng),例如是否支持Windows XP/Windows

Vista/MAC/Linux等等,不要購買了才發(fā)現(xiàn)該軟件無法安裝在你的操作系統(tǒng)上喔!

我們拿常見的微軟公司的產品來說明。你知道Windows 8.1,Office 2013之間的關系了嗎?

????? Windows 8.1是一套操作系統(tǒng),他必須先安裝到個人電腦上面,否則電腦無法開機運行;

????? Windows 7與Windows 8.1是兩套不同的操作系統(tǒng),所以能在Win 7上安裝的軟件不見得可在Win 8.1上安裝;

????? Windows 8.1安裝好后,只擁有很少的功能,并沒有辦公軟件;

????? Office 2013是一套應用軟件,要安裝前必須要了解他能在哪些操作系統(tǒng)上面運行。

0.5 重點回顧

[if !supportLists]l? [endif]計算機的定義為:接受使用者輸入指令與數(shù)據(jù),經由中央處理器的數(shù)學與邏輯單元運算處理后,以產生或儲存成有用的信息;

[if !supportLists]l? [endif]電腦的五大單元包括:輸入單元、輸出單元、控制單元、數(shù)學邏輯單元、存儲單元五大部分。其中CPU占用控制、數(shù)學邏輯單元,存儲單元又包含內存與輔助存儲器;

[if !supportLists]l? [endif]數(shù)據(jù)會流進/流出內存是CPU所發(fā)布的控制指令,而CPU實際要處理的數(shù)據(jù)則完全來自于內存;

[if !supportLists]l? [endif]CPU依設計理念主要分為:精簡指令集(RISC)與復雜指令集(CISC)系統(tǒng);

[if !supportLists]l? [endif]關于CPU的頻率部分:外頻指的是CPU與外部元件進行數(shù)據(jù)傳輸時的速度,倍頻則是CPU內部用來加速工作性能的一個倍數(shù),兩者相乘才是CPU的頻率速度;

[if !supportLists]l? [endif]新的CPU設計中,已經將北橋的內存控制芯片集成到CPU內,而CPU與內存、顯卡溝通的總線通常稱為前端總線。南橋就是所謂的輸入輸出(I/O)總線,主要在聯(lián)系硬盤、USB、網卡等周邊設備;

[if !supportLists]l? [endif]CPU每次能夠處理的數(shù)據(jù)量稱為字寬(word size),字寬大小依據(jù)CPU的設計而有32位與64位。我們現(xiàn)在所稱的電腦是32或64位主要是依據(jù)這個CPU解析的字寬大小而來的!

[if !supportLists]l? [endif]個人電腦的內存主要元件為動態(tài)隨機存取存儲器(Dynamic Random Access Memory, DRAM),至于CPU內部的二級緩存則使用靜態(tài)隨機存取存儲器(Static Random Access Memory, SRAM);

[if !supportLists]l? [endif]BIOS(Basic Input Output System)是一套程序,這套程序是寫死到主板上面的一個存儲芯片中,這個存儲芯片在沒有通電時也能將數(shù)據(jù)記錄下來,那就是只讀存儲器(Read Only Memory, ROM);

[if !supportLists]l? [endif]目前主流的擴展卡接口大多為PCIe接口,且最新為PCIe 3.0,單通道速度高達1GBytes/s;

[if !supportLists]l? [endif]常見的顯卡連接到屏幕的接口有HDMI/DVI/D-Sub/Display

port等等。HDMI可同時傳送影像與聲音;

[if !supportLists]l? [endif]傳統(tǒng)硬盤的組成為:圓形磁盤片、機械臂、磁盤讀取頭與主軸馬達所組成的,其中磁盤片的組成為扇區(qū)、磁道與柱面;

[if !supportLists]l? [endif]磁盤連接到主板的界面大多為SATA或SAS,目前臺式機主流為SATA 3.0,理論速度可達600MBytes/s;

[if !supportLists]l? [endif]常見的字符編碼為ASCII,繁體中文編碼主要有Big5及UTF8兩種,目前主流為UTF8;

[if !supportLists]l? [endif]操作系統(tǒng)(Operating System, OS)其實也是一組程序,這組程序的重點在于管理電腦的所有活動及驅動系統(tǒng)中的所有硬件;

[if !supportLists]l? [endif]電腦主要以二進制作為單位,常用的磁盤容量單位為Byte,其單位換算為1 Byte = 8 bits;

[if !supportLists]l? [endif]最基本的操作系統(tǒng)僅在驅動與管理硬件,而要使用硬件時,就得要通過應用軟件或者是殼程序(shell)的功能,來調用操作系統(tǒng)操縱硬件工作。目前稱為操作系統(tǒng)的,除了上述功能外,通常已經包含了日常工作所需要的應用軟件在內了。

0.6 本章習題

[if !supportLists]l? [endif]根據(jù)本章內文的說明,請找出目前全世界跑的最快的超級電腦的:(1)系統(tǒng)名稱(2)所在位置(3)使用的CPU型號與規(guī)格(4)總共使用的CPU數(shù)量(5)全功率操作1天時,可能耗用的電費。

[if !supportLists]l? [endif]動手實踐題:假設你不知道你的主機內部的各項元件資料,請拆開你的主機機箱,并將內部所有的元件拆開,并且依次列出:

CPU的品牌、型號、最高頻率;

內存的容量、接口(DDR/DDR2/DDR3等);

顯卡的接口(AGP/PCIe/內置)與容量;

主板的品牌、南北橋的芯片型號、BIOS的品牌,有無內置的網卡或聲卡等;

硬盤的連接接口(SATA/SAS等)、硬盤容量、轉速、緩存容量等。

然后再將他組裝回去。注意,拆裝前務必先取得你主板的說明書,因此你可能必須要上網查詢上述的各項資料;

[if !supportLists]l? [endif]利用軟件:假設你不想要拆開主機機箱,但想了解你的主機內部各元件的資料時,該如何是好?如果使用的是Windows操作系統(tǒng),可使用CPU-Z(http://www.cpuid.com/cpuz.php)這個軟件,如果是Linux環(huán)境下,可以使用“cat/proc/cpuinfo”及使用“l(fā)spci”來查閱各項元件的型號;

[if !supportLists]l? [endif]如本章圖0.2.1所示,找出第四代Intel i7 4790CPU的:(1)與南橋溝通的DMI帶寬有多大?(2)二級緩存的容量多大?(3)最大PCIe通道數(shù)量有多少?并據(jù)以說明主板上面的PCIe插槽的數(shù)量限制(請Google此CPU相關資料即可發(fā)現(xiàn));

[if !supportLists]l? [endif]由Google查詢Intel SSD 520固態(tài)硬盤相關的功能表,了解(1)連接接口、(2)最大讀寫速度及(3)最大隨機讀寫數(shù)據(jù)(IOPS)的數(shù)據(jù)。

0.7 參考資料與延伸閱讀

注1:卡片型電腦,或單板電腦:

香蕉派臺灣官網:http://tw.bananapi.org/

Xapple pi粉絲團:https://www.facebook.com/roseapplepi

注2:可穿戴設備:http://en.wikipedia.org/wiki/Wearable_computer

注3:對于CPU的原理有興趣的讀者,可以參考維基百科的說明:

英文CPU(http://en.wikipedia.org/wiki/CPU

中文CPU(http://zh.wikipedia.org/w/index.php?title=%E4%B8%AD%E5%A4%AE%E5%A4%84%E7%90%86%E5%99%A8&variant=zh-hant

注4:圖片參考:

Wiki book:http://en.wikibooks.org/wiki/IB/Group_4/Computer_Science/Computer_Organisation

作者:陳錦輝,『計算機概論-探索未來2008』,金禾資訊,2007出版

注5:更詳細的RISC架構可以參考維基百科:

http://zh.wikipedia.org/w/index.php?title=%E7%B2%BE%E7%AE%80%E6%8C%87%E4%BB%A4%E9%9B%86&variant=zh-tw

相關的CPU種類可以參考:

http://en.wikipedia.org/wiki/SPARC

http://en.wikipedia.org/wiki/IBM_POWER_microprocessors

注6:關于ARM架構的說明,可以參考維基百科:

http://zh.wikipedia.org/w/index.php?title=ARM%E6%9E%B6%E6%A7%8B&variant=zh-tw

注7:更詳細的CISC架構可參考維基百科:

http://zh.wikipedia.org/w/index.php?title=CISC&variant=zh-tw

注8:更詳細的x86架構發(fā)展史可以參考維基百科:

http://zh.wikipedia.org/w/index.php?title=X86&variant=zh-tw

注9:用來觀察CPU相關信息的CPU-Z軟件網站:

http://www.cpuid.com/softwares/cpu-z.html

注10:Intel i7 4790 CPU的詳細規(guī)格介紹

http://ark.intel.com/zh-tw/products/80806/Intel-Core-i7-4790-Processor-8M-Cache-up-to-4_00-GHz

注11:DDR內存的詳細規(guī)格介紹

http://zh.wikipedia.org/wiki/DDR_SDRAM

注12:相關的固件說明可參考維基百科:

http://zh.wikipedia.org/w/index.php?title=%E9%9F%8C%E9%AB%94&variant=zh-hant

注13:相關EEPROM可以參考維基百科:

http://zh.wikipedia.org/w/index.php?title=EEPROM&variant=zh-tw

注14:相關BIOS的說明可以參考維基百科:

http://zh.wikipedia.org/w/index.php?title=BIOS&variant=zh-tw

注15:相關PCIe的說明可以參考維基百科:

http://en.wikipedia.org/wiki/PCI_Express

注16:關于磁盤片資料的說明:Zone bit recording:

http://en.wikipedia.org/wiki/Zone_bit_recording

注17:關于SATA磁盤接口的wiki說明:

http://zh.wikipedia.org/wiki/SATA

注18:關于SAS磁盤接口的wiki說明:

http://en.wikipedia.org/wiki/SCSI#SCSI-EXPRESS

http://en.wikipedia.org/wiki/Serial_attached_SCSI

注19:關于USB接口的wiki說明:

http://en.wikipedia.org/wiki/USB

注20:關于SSD的wiki說明:

http://en.wikipedia.org/wiki/Solid-state_drive

感謝:本章當中出現(xiàn)很多圖示,很多是從Tom’s Hardware(http://www.tomshardware.com/)網站取得的,在此特別感謝!

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 文章圖片上傳不正常,如需文檔,可聯(lián)系微信:1017429387 目錄 1 安裝... 4 1.1 配置探針... ...
    Mrhappy_a7eb閱讀 6,957評論 0 5
  • 由過去的經驗當中,鳥哥發(fā)現(xiàn)因為興趣或生活所迫而必須要接觸Linux的朋友,很多可能并非IT相關科系出身,因此對于電...
    Mooou閱讀 1,434評論 0 0
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標準。 注意:講述HT...
    kismetajun閱讀 28,892評論 1 45
  • 晚上反思 1 讀書和聽,很好,站在比我高的人高度一樣看問題和世界.比如我看阿何的書,就和他站在一起。 2 下午回來...
    freshriver閱讀 226評論 0 0
  • 1. 最近一段時間,關于裸條的新聞炒的有點火,我當時特別想不通,怎么現(xiàn)在這些女大學生已經開放到如此程度,為了錢那是...
    勃然滄海閱讀 465評論 0 2

友情鏈接更多精彩內容