第01周作業

第01周 作業內容

1、描述計算機的組成及其功能。

答:經典的計算機系統體系結構,即馮.諾依曼體系結構主要由控制器、運算器、存儲器、輸入設備和輸出設備組成。
其中:

  • 控制器用於控制、協調計算機各部件運轉;
  • 運算器用於數據的運算;
  • 存儲器用於存儲要運行的程序、數據及數據處理結果;
  • 輸入設備主要用於下達指令、提供數據等;
  • 輸出設備主要用於輸出數據處理的結果。

2、描述內核功能以及作用

答:Linux Kernel遵循了從Multics就一直延續下來的思想,也就是內核只作爲其它進程及硬件的監控和管理者。內核直接運行在硬件之上並對硬件資源進行管理和虛擬化,將虛擬化得到的虛擬資源分配給需要的工作進程用以支撐工作進程的正常運行,並在工作進程運行期間進行監控、管理和調度,使得在共用硬件資源的每個工作進程看來自己都是在“獨佔”式地使用硬件資源。以達到系統內的各個進程安全、可靠、穩定地運行。

3、按系列羅列常見Linux的發行版,並描述不同發行版之間的聯繫與區別。

答:常見的Linux發行版主要有幾大系列

  1. Slackware
    • S.u.S.E
      • SuSE Linux Enterprise System : SLES
      • OpenSUSE
  2. Debian
    • Ubuntu
      • Linux Mint
      • Deepin
    • Kali
    • Raspbian
  3. Redhat
    • Redhat Enterprise Linux : RHEL
      • CentOS
      • Scientific Linux
      • Oracle Linux
      • RedFlag Linux
    • Fedora
  4. ArchLinux
    • KaOS
    • Manjaro Linux
  5. Gentoo
  6. LFS

各不同的發行版之間最大的聯繫就是都是基於Linux內核並結合大最GNU程序從而形成了一套完整的操作系統。所以說各不同的發行版之間的聯繫就是遵循相同的哲學思想和體系結構。所不同的是不同的發行版所採用的構建方式、包管理方式、操作系統面向的硬件環境、使用人羣等等各不相同,這就造就了一個個不同的發行版。

4、描述常見的開源協議(GPL,LGPL, BSD,Apache等)以及開源協議的區別

答:

  1. 對幾大常見的開源協議(GPL、LGPL、BSD、Apache)的描述如下:
    • GPL:GPL名稱爲GNU通用公共許可證(GNU Public License),主要是爲了保證自由軟件對所有用戶都是自由的,具有極強的傳染性。
    • LGPL:LGPL與GPL不同,它允許商業軟件以引用類庫的方式使用LGPL的軟件產品。
    • BSD:BSD許可證原先是用在發表4.4BSD/4.4BSD-Lite各個版本上面的,後被衆多開源軟件所採納。
    • Apache:Apache是ASF所採用的協議,相對較寬鬆且商業友好。
  2. 幾大開源協議的區別:
    • BSD、Apache與GPL、LGPL最大的區別是,BSD、Apache在他人修改源碼後,可以將源碼轉爲閉源,但GPL、LGPL不可以。
    • BSD與Apache最大的區別是,Apache每一個修改過的源代碼文件都必須放置版權說明,而BSD不需要。
    • GPL與LGPL最大的區別是,GPL新增的代碼也必須也採用GPL,而LGPL新增代碼可以更換許可證或閉源。

5、描述Linux的哲學思想,並按照自己的理解對其進行解釋性描述。

答:Linux哲學思想主要有以下幾個方面:

  1. 一切皆文件:
    就是把幾乎所有的軟硬件資源全部抽象爲文件,包括硬件設備、進程信息、通信接口等。這樣處理方式可以大大簡化並統一對這些資源的訪問接口,比如可以用open(), read(), write(), close(), delete(), create()等幾個標準接口函數來完成對幾乎所有資源的創建、打開、數據讀取、寫入、關閉、刪除的通用操作。
  2. 由衆多功能單一的程序組成:
    具體是指:
    • 一個程序只做一個事兒,並且做好。這一方面強調了程序功能要單一,這樣在就可以大大減小單一程序的複雜度,降低了程序開發難度,減小了程序出現缺陷的可能性,使出現精品程序的可能性大大增加了,同時這一思想也使程序更加的原子化,便於程序功能的複用,減少了避免了重複勞動。
    • 組合小程序完成複雜任務。從理論上來講,任何一項複雜任務都可能分解爲一定數量的相對簡單的小任務。再基於前一條原則,已經有了足夠數量、功能的高質量的單一功能程序,所以通過這些程序的組合就可以較簡單地完成複雜的任務,這樣不但簡化了任務的複雜度,減小了編制複雜軟件系統的難度,而且還避免了重複造輪子。
  3. 程序啓動後儘量避免與用戶交互:
    這個方面從某種程度上來說來源於第2條的第一個方面,因爲程序都是單一功能的,那麼在執行的過程中就沒有過多的需要用戶參與的需要,再加上大部分程序把運行過程中可能需要與用戶交互的內容都做成了可以通過程序的選項、參數來進行前期指定的,這樣就可以實現程序運行過程中不需要用戶的參與,這一做法的好處就是可以做到程序的無人值守運行,也就是可以做到以編程的方式來自動化地完成任務。
  4. 使用文本文件保存配置信息:
    因爲文本文件可以說是計算機系統裏最常見的文件形式了,可以說所有的操作系統都支持文本文件,並且都內置了對文本文件的處理能力,而且文本文件同時也很容易被人閱讀、理解、編寫、修改,所以可以說文本文件是一件非常好的用於人與計算機進行事項約定的工具。所以用文本文件保存配置信息不但簡化了管理員人對配置信息的把控,也簡化了各程序配置文件處理相關邏輯的編寫。

6、描述Linux目錄結構以及目錄結構命名規定。

答:Linux的目錄結構是以“/”(根)爲原初起點,有N層組織,形成的倒置樹狀結構。其命名規定爲:

  1. 嚴格區分大小寫。
  2. 目錄也是文件,在同一路徑下,文件(目錄)不能同名。
  3. 支持使用除"/"以外的任意字符。
  4. 最長不能超過255個字符。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章