標籤:linux 作業系統 ubuntu android 移動
學習Linux, 當然是要從Linux的基礎開始,學習任何一門技術,都要首先紮實基礎,那麼你後面的路就會越走越順。
關於Linux,這裡我不想做過多的介紹。大家都知道,Linux是從1991年的時候,有一個叫Linus的人寫了第一個版本的Linux,也就是0.0.1這個版本,當時大概是有8000行的這樣一個代碼,後來他加入了GNU,這個組織是打造一個開源的公用環境。這個組織定義了一個叫GPL的協議,意思就是做這個系統的時候,必須開源,允許別人修改和傳播,但不能作為商業用途。
現在我們進入課題。
之前我們記得我們給硬體加電的時候,就是硬體在啟動過程。在以前沒有Linux作業系統的時候,我們是不是一加電,我們就可以到具體的一個物理地址去讀我們寫的程式,然後由這個程式去顯示我們想要的東西,無論是列印出來還是幹嘛的。當時後來我們有了作業系統了,很多事情都交給作業系統來完成,我們啟動過程就發生了一些改變,先是加電,加完電過後通過我們的Bios,因為加完電之後,我們的CPU就要到具體的一個物理地址去取東西,取到的是一個Bios,所以所BIOS是依託於我們系統之外的,然後BIOS又去一個具體的地方,這個地方就是我們儲存空間的首地址,對於我們硬碟來說就是零符道的第一扇區,如果是磁碟片啟動也是第一扇區。那麼去到第一扇區找到啟動入口,這個啟動入口對於我們Linux而然,就是找到了Grub這樣的一個引導程式,這個引導程式就會根據具體情況,因為它知道我們作業系統是在什麼地方的,所以它就去載入我們作業系統的核心。那麼載入核心之後還有很多步驟,那麼其中一個就是要先去掛載我們的檔案系統,因為有了檔案系統我們才能去訪問,才能去儲存。所以這個就是這樣的一個過程。那麼載入了系統核心之後我們還要啟動什麼呢。我們還要啟動我們的系統服務,系統服務要去啟動我們的應用程式,這樣我們整個作業系統就載入完了。
那麼下面我們想一下,如果我們要設計一個作業系統,那我們要怎麼開始來設計呢?
至少我們認為,做一個作業系統的話,我們首先,作業系統至少要知道怎麼去啟動,所以引導必須要有一個入口,其次,這個作業系統至少要能訪問我們的磁碟儲存,這個我們稱之為檔案系統;再次,我們作業系統是不是要有使用者管理,這個先不說,作業系統也有可能是單使用者的。作業系統必須跑程式,那麼跑程式是怎麼跑的呢,那就是要載入到記憶體裡面,那麼要怎麼來存放呢,我們稱之為進程。當然,進城後面我們又誕生了線程這些概念。再其次,我們呢在存放進程的時候,是不是該有記憶體管理。這個就是我們要考慮作業系統的最核心的部分。
我們現在無法去設計一個作業系統,我們就選一個作業系統,當然是選我們的Ubuntu了。
Ubuntu是一個很好的一個開源的,是Android指定的一個作業系統,那就很方便,Ubuntu發展也很快,現在Ubuntu已經開始支援ARM架構了。
Ubuntu官網: www.ubuntu.com
在使用Ubuntu和安裝Ubuntu之前,我們先來瞭解一下Linux作業系統的核心架構。
那麼典型的Linux作業系統是什麼樣子的 ?
?
Linux的主要特點就是:它對硬體的要求是比較低的,因為Linux它的圖形介面是設計到它系統程式去支援的,也就是說它的核心就考慮到圖形介面這一塊,還有Linux預設情況下是沒有圖形介面的。它的圖形介面無非就是進行了一個協議層的封裝。
認識Ubuntu的一些版本。long-term表示長期維護的一個版本。
desktop
server
還有一個cloud版本
Ubuntu的安裝
1、安裝前的準備工作
(1)硬體準備:這個沒什麼好說的,一般現在只要能跑得動的電腦都可以裝。
(2)vmware
(3)檔案系統 :
1、什麼是檔案系統?
簡單來說,檔案系統其實就是一種儲存和組織電腦檔案和資料的方法。只不過我們把它做成了一 個 種系統服務。它其實也是一個軟體程式。
2、檔案系統通用結構 ?
FAT32 NTFS
EXT3 Swap
我們想象一下,我們在磁碟上放一個檔案,我們Windows系統是不是有分區這個概念,Linux沒 有。但Linux有引導這個概念,首先我們要去引導它們,所以我們在定義檔案系統的時候首先要有 一個引導塊,其二,我們針對這個磁碟,我們是要儲存磁碟資訊的,比如說我們磁碟有多大,每個 扇區的大小是多少,這個稱之為master,超級塊。其三,我們是不是有一個資料庫去存放資料, 這個就是我們 的資料區塊。我們存取資料快是因為我們有索引區,我們又INode。
3、檔案系統的分類
磁碟檔案系統
NTFS, EXT3(記錄檔系統)
快閃記憶體檔案系統
JFFS2,YAFFS
資料庫檔案系統
BFS,WINFS
網路檔案系統
NFS
虛擬檔案系統
VFS(Proc)
4、EXT3 SWAP
2、安裝 Ubuntu desktop & server
Linux檔案及檔案系統:
一切皆檔案
檔案屬性
Linux檔案目錄結構
檔案類型(7種)
一般檔案 -
目錄檔案 d
連結檔案 l
塊裝置 b
字元裝置 c
socket s
管道 p (其實就是把一個程式的出口寫到另外一個程式的入口)
Linux基礎及操作架構概述