Q1. 什麼是GNU?Linux與GNU有什麼關系?
A:
1) GNU是GNU is Not Unix的遞歸縮寫,是自由軟件基金會(Free Software Foundation,FSF)的一個項目,該項目已經開發了許多高質量的編程工具,包括emacs編輯器、著名的GNU C和C++編譯器(gcc和g++);
2) Linux的開發使用了許多GNU工具,Linux系統上用於實現POSIX.2標准的工具幾乎都是由GNU項目開發的;Linux內核、GNU工具以及其它一些自由軟件組成了人們常說的Linux系統或Linux發布版。
Q2. Linux系統由哪幾部分組成?Linux內核處於什麼位置?
A:
1) Linux系統由四個部分組成:用戶進程,系統調用接口、Linux內核子系統和硬件;
2) Linux內核處於用戶進程和硬件之間,包括系統調用接口和Linux內核子系統。
Q3. Linux內核由哪幾部分組成?各個子系統的主要功能是什麼?
A:
1) Linux內核除系統調用外,由五個主要的子系統組成:進程調度、內存管理、虛擬文件系統、網絡和進程間通信(IPC);
2) 各個子系統的主要功能為:
A. 進程調度:它控制著進程對CPU的訪問,當需要選擇一個進程開始運行時,由調度程序選擇最應該運行的進程;
B. 內存管理:它允許多個進程安全地共享主內存區域,支持虛擬內存;從邏輯上可以分為硬件無關的部分和硬件相關的部分;
C. 虛擬文件系統(VFS):它隱藏了各種不同硬件的具體細節,為所有設備提供統一的接口,支持多達數十種不同的文件系統,分為邏輯文件系統和設備驅動程序;
D. 網絡:它提供了對各種網絡標准協議的存取和各種網絡硬件的支持,分為網絡協議和網絡驅動程序兩部分;
E. 進程間通信:支持進程間各種通信機制,包括共享內存、消息隊列和管道等。