x86、Linux、GNU、GNOME是什么


一、指令集架構:

指令集架構英語:Instruction Set Architecture,縮寫為ISA),又稱指令集指令集體系,是計算機體系結構中與程序設計有關的部分,包含了基本數據類型,指令集,寄存器,尋址模式,存儲體系,中斷,異常處理以及外部I/O。指令集架構包含一系列的opcode即操作碼(機器語言),以及由特定處理器執行的基本命令。

指令集體系與微架構(一套用於執行指令集的微處理器設計方法)不同。使用不同微架構的電腦可以共享一種指令集。例如,Intel的Pentium和AMD的AMD Athlon,兩者幾乎采用相同版本的x86指令集體系,但是兩者在內部設計上有本質的區別。

一些虛擬機器支持基於Smalltalk,Java虛擬機,微軟的公共語言運行時虛擬機所生成的字節碼,他們的指令集體系將bytecode(字節碼)從作為一般手段的代碼路徑翻譯成本地的機器語言,並通過解譯執行並不常用的代碼路徑,全美達以相同的方式開發了基於x86指令體系的VLIW處理器。

參考:

https://zh.wikipedia.org/wiki/%E6%8C%87%E4%BB%A4%E9%9B%86%E6%9E%B6%E6%A7%8B

二、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/

參考:

http://bbs.csdn.net/topics/80151778

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

參考:

https://zh.wikipedia.org/wiki/GNOME

https://zh.wikipedia.org/wiki/%E6%A1%8C%E9%9D%A2%E7%8E%AF%E5%A2%83

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM