Linux中國

計算機實驗室之樹莓派:課程 0 簡介

這個課程簡介不包含實踐內容,但它解釋了一個操作系統的基本概念、彙編代碼、和其它很重要的一些基本原理。如果你想直接進入實踐環節,跳過本課程並不會有什麼問題。

1、操作系統

操作系統就是一個非常複雜的程序。它的任務就是組織安排計算機上的其它程序,包括共享計算機的時間、內存、硬體和其它資源。你可能聽說過的一些比較大的桌面操作系統家族有 GNU/Linux、Mac OS X 和 Microsoft Windows。其它的設備比如電話,也需要操作系統,它可能使用的操作系統是 Android、iOS 和 Windows Phone。 1

由於操作系統是用來與計算機系統上的硬體進行交互的,所以它必須了解系統上硬體專有的信息。為了能讓操作系統適用於各種類型的計算機,發明了 驅動程序 的概念。驅動程序是為了能夠讓操作系統與特定的硬體進行交互而添加(並可刪除)到操作系統上的一小部分代碼。在本課程中,我們並不涉及如何創建可刪除的驅動程序,而是專註於特定的一個硬體:樹莓派

操作系統有各種不同的設計方式,在本課程中,我們只觸及操作系統設計的皮毛。本課程中,我們主要專註於操作系統與各種硬體的交互部分,因為這經常是比較棘手的部分,並且也是在網路上文檔和幫助最少的部分。

2、彙編代碼

處理器每秒可以執行上百萬的指令,但是這些指令必須要簡單。

本課程幾乎要完全靠彙編代碼來寫。彙編代碼非常接近計算機的底層。計算機其實是靠一個叫處理器的設備來工作的,處理器能夠執行像加法這樣的簡單任務,還有一組叫做 RAM 的晶元,它能夠用來保存數字。當計算機通電後,處理器執行程序員給定的一系列指令,這將導致內存中的數字發生變化,以及與連接的硬體進行交互。彙編代碼只是將這些機器命令轉換為人類可讀的文本。

常規的編程就是,程序員使用編程語言,比如 C++、Java、C#、Basic 等等來寫代碼,然後一個叫編譯器的程序將程序員寫的代碼轉換成彙編代碼,然後進一步轉換為二進位代碼。 2 二進位代碼才是計算機真正能夠理解的東西,但它是人類無法讀取的東西。彙編代碼比二進位代碼好一點,至少它的命令是人類可讀的,但它仍然讓人很沮喪。請記住,你用彙編代碼寫的每個命令都是處理器可以直接認識的,因此這些命令設計的很簡單,因為物理電路必須能夠處理每個命令。

Compiler process

和普通編程一樣,也有很多不同的彙編代碼編程語言,但與普通編程不一樣的是,每個彙編編程語言是面對不同的處理器的,每種處理器設計為去理解不同的語言。因此,用一個針對某種機器設計的彙編語言所寫的彙編代碼,是不能在其它種類的機器上運行的。很多情況下,這都是一個大災難,因此每個程序都必須在使用它的不同種類的機器上重寫一遍,但對於操作系統,這不是個問題,因為在不同的硬體上它必須得重寫。儘管如此,大多數操作系統都是用 C++ 或 C 來寫的,這樣它們就可以很容易地在不同種類的硬體上使用,只需要重寫那些必須用彙編代碼來實現的部分即可。

現在,你已經準備好進入第一節課了,它是 課程 1 OK01

  1. 要查看更完整的操作系統列表,請參照:操作系統列表 - Wikipedia
  2. 當然,我簡化了普通編程的這種解釋,實際上它在很大程度上取決於語言和機器。感興趣的話,參見 編譯器 - Wikipedia

via: https://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/os/introduction.html

作者:Robert Mullins 選題:lujun9972 譯者:qhwdw 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    這個站點使用 Akismet 來減少垃圾評論。了解你的評論數據如何被處理

    More in:Linux中國

    Linux中國

    捐贈 Let's Encrypt,共建安全的互聯網

    隨著 Mozilla、蘋果和谷歌對沃通和 StartCom 這兩家 CA 公司處罰落定,很多使用這兩家 CA 所簽發證書的網站紛紛尋求新的證書籤發商。有一個非盈利組織可以為大家提供了免費、可靠和安全的 SSL 證書服務,這就是 Let's Encrypt 項目。現在,它需要您的幫助
    Linux中國

    關於Linux防火牆iptables的面試問答

    Nishita Agarwal是Tecmint的用戶,她將分享關於她剛剛經歷的一家公司(印度的一家私人公司Pune)的面試經驗。在面試中她被問及許多不同的問題,但她是iptables方面的專家,因此她想分享這些關於iptables的問題和相應的答案給那些以後可能會進行相關面試的人。 所有的問題和相應的答案都基於Nishita Agarwal的記憶並經過了重寫。 嗨,朋友!我叫Nishita Agarwal。我已經取得了理學學士學位,我的專業集中在UNIX和它的變種(BSD,Linux)。它們一直深深的吸引著我。我在存儲方面有1年多的經驗。我正在尋求職業上的變化,並將供職於印度的P
    Linux中國

    Lets Encrypt 已被所有主流瀏覽器所信任

    旨在讓每個網站都能使用 HTTPS 加密的非贏利組織 Lets Encrypt 已經得了 IdenTrust的交叉簽名,這意味著其證書現在已經可以被所有主流的瀏覽器所信任。從這個裡程碑事件開始,訪問者訪問使用了Lets Encrypt 證書的網站不再需要特別配置就可以得到 HTTPS 安全保護了。 Lets Encrypt 的兩個中級證書 ...