一、指令集架構:
指令集架構(英語:Instruction Set Architecture,縮寫為ISA),又稱指令集或指令集體系,是計算機體系結構中與程式設計有關的部分,包含了基本資料類型,指令集,寄存器,尋址模式,存儲體系,中斷,異常處理以及外部I/O。指令集架構包含一系列的opcode即操作碼(機器語言),以及由特定處理器執行的基本指令。
指令集體系與微架構(一套用于執行指令集的微處理器設計方法)不同。使用不同微架構的電腦可以共享一種指令集。例如,Intel的Pentium和AMD的AMD Athlon,兩者幾乎采用相同版本的x86指令集體系,但是兩者在内部設計上有本質的差別。
一些虛拟機器支援基于Smalltalk,Java虛拟機,微軟的公共語言運作時虛拟機所生成的位元組碼,他們的指令集體系将bytecode(位元組碼)從作為一般手段的代碼路徑翻譯成本地的機器語言,并通過解譯執行并不常用的代碼路徑,全美達以相同的方式開發了基于x86指令體系的VLIW處理器。
二、x86和x64分别指什麼:
關于x86的32位元架構(常被稱為i386、x86-32或是x86),請見“IA-32”。
關于x86的64位元架構(向前相容于16位及32位的x86架構,常稱AMD64或 Intel 64),請見“x86-64”。
x86是一個指令集架構家族,最早由英特爾在1978年面市的“Intel 8086”CPU上開發出來。
x86-64(簡稱x64)是64位版本的x86指令集,向後相容于16位及32位的x86架構。x64于1999年由AMD設計,AMD首次公開64位集以擴充給x86,稱為“AMD64”。其後也為英特爾所采用,現時英特爾稱之為“Intel 64”。Apple和rpm以“x86-64”或“x86_64”稱呼此64位架構。甲骨文公司及Microsoft稱之為“x64”。BSD家族及其他Linux發行版則使用“amd64”,32位版本則稱為“i386”(或i486/586/686),Arch Linux用x86_64稱呼此64位架構。
參考:
https://zh.wikipedia.org/wiki/X86
https://zh.wikipedia.org/wiki/X86-64
三、Linux是什麼
Linux是一種自由和開放源代碼的類UNIX作業系統。Linux嚴格來說是單指作業系統的核心,因作業系統中包含了許多使用者圖形接口和其他實用工具。如今Linux常用來指基于Linux的完整作業系統,核心則改以Linux核心稱之。而包含了許多使用者圖形接口和其他實用工具的Linux系統被成為Linux發行版,比如Ubuntu、Debian等。
https://zh.wikipedia.org/wiki/Linux
四、GNU是什麼
GNU是一個自由作業系統,其内容軟體完全以GPL方式釋出。這個作業系統是GNU計劃的主要目标,名稱來自GNU's Not Unix!的遞歸縮寫,因為GNU的設計類似Unix,但它不包含具著作權的Unix代碼。作為作業系統,GNU的發展仍未完成,其中最大的問題是具有完備功能的核心尚未被開發成功。
用的最多的應該是GPL,即GNU通用公共許可協定(GNU General Public License),是廣泛使用的免費軟體許可證 ,可以保證終端使用者得自由運作,學習,共享和修改軟體。
或者通俗點說:GNU由于作業系統沒發展起來,然而先從軟體做起,比如先在Unix系統上開發基于GNU協定的軟體,最有名的GCC編譯器這些。然後早期Linux在當時發展需要,就內建了GNU這些軟體,使作業系統能實作我們工作需要的功能。
https://zh.wikipedia.org/wiki/GNU
https://zh.wikipedia.org/wiki/GNU%E9%80%9A%E7%94%A8%E5%85%AC%E5%85%B1%E8%AE%B8%E5%8F%AF%E8%AF%81
五、Linux與GNU的名字相争
Linux的完整作業系統中,由于這些支援使用者空間的系統工具和庫主要由理查德·斯托曼于1983年發起的GNU計劃提供,自由軟體基金會提議将其組合系統命名為GNU/Linux,但Linux不屬于GNU計劃,這個名稱并沒有得到社群的一緻認同。
六、Linux與GNU的詳細發展曆史
參考鳥叔的Linux私房菜:http://cn.linux.vbird.org/linux_basic/0110whatislinux.php
七、Linux發行版彙總
參考:https://linux.cn/article-4130-1.html
八、單獨安裝Linux核心可以嗎?
答案當然可以的,但是如果單單是核心,那麼隻能啟動到init的第一個程序,然後系統什麼都幹不了。那麼要使核心能跑起來,需要做如下幾點:
1、硬體啟動到BIOS時,再到硬碟,此時需要一個程式去引導,然後再啟動核心。那麼這個引導程式是需要內建到核心去,幫助從BIOS過來之後能成功調用起核心。
2、啟動到了核心的第一個內建init之後,就應該啟動其它程序來實作工作需要,比如內建一些實用的工具來保證完整性。
通過以上幾點,參考下面站點看Linux核心是如何組裝成完整的作業系統的,有點像Linux發行版:
https://github.com/ivandavidov/minimal-linux-script
https://github.com/ivandavidov/minimal
http://minimal.idzona.com/
https://gxnotes.com/article/19587.html
http://techqa.info/programming/question/27582166/How-to-run-only-the-LINUX-kernel-and-User-programs
https://superuser.com/questions/290808/running-linux-kernel-0-01-in-a-virtual-machine
https://superuser.com/questions/668061/can-linux-kernel-be-installed-alone-without-any-other-existing-os
https://unix.stackexchange.com/questions/175386/run-only-the-linux-kernel-and-user-programs
https://stackoverflow.com/questions/22610448/how-to-install-a-bare-linux-kernel-without-any-distribution-to-study-it
https://unix.stackexchange.com/questions/17122/is-it-possible-to-install-the-linux-kernel-alone
九、GNOME是什麼
GNOME是一個完全由自由軟體組成的桌面環境。它的目标作業系統是Linux,但是大部分的BSD系統亦支援GNOME。
通俗的說:比如核心啟動到了init程序之後,然後再經過一些列程序之後,再到GNOME這個程序被調用,就能在螢幕上顯示出桌面,有滑鼠有顯示的圖形界面。如果沒有這個圖形界面就隻能在指令行上操作。(從中是很複雜的一個過程)
對于桌面環境還有很多,随着發展可能會更多,常用的如下所示:
GNOME
KDE
Xfce
LXDE
CDE
Unity(Ubuntu基于GNOME2往上開發的新型桌面環境,最後還是放棄了)
Enlightenment
Ambient
Étoilé
IRIX Interactive Desktop
Project Looking Glass
Workbench
OpenWindows
Mezzo
ROX Desktop
Sugar
UDE
EDE