免費提供紙箱及拆裝,24H全省服務
合約保障,提供您平價又專業的搬家服務
油漆工程壁癌專業工程!免費到府估價
業界優質口碑,來電洽詢!

首頁  •  j2h 論壇 • 軟體討論     • 

[問題]x86_64 和 i386 差別在哪??

房東:新手
發表時間:2007-07-29


我下載
linux 作業系統
他有分 x86_64 版本 和 i386 版本
如果我電腦是雙核心 因該要使用哪個?




  • 贊助網站       

    油漆粉刷工程
    優質油漆師傅,專業的油漆工程,免費諮詢刷油漆大小事,值得您信賴!
    清潔公司
    清潔公司, 電話清潔, 清潔保養, 電腦清潔, 清潔消毒, 清潔服務, 消毒服務
    DRAPERY窗簾設計
    捲簾、窗簾布、窗簾布多種款式,免費丈量,挑戰市場超低價,為家輕鬆增添新意

  • 1 樓住戶:達人
    發表時間:2007-07-29


    http://download.fedora.redhat.com/pub/fedora/linux/core/4/i386/iso/ <----一般32位元處理器版本,你用這個版本就可以了。

    http://download.fedora.redhat.com/pub/fedora/linux/core/4/x86_64/iso/ <----64位元版本 支援 INTEL EMT64 以及AMD 64 系列。這個版本限定CPU要64位元

    http://download.fedora.redhat.com/pub/fedora/linux/core/4/ppc/iso/ <---- IBM POWER PC系列 。這個版本限定要使用IBM的POWER PC CPU。



    2 樓住戶:小菊
    發表時間:2010-04-24

    32 位元與 64 位元 Windows:常見問題集

    http://windows.microsoft.com/zh-TW/windows-vista/32-bit-and-64-bit-Windows-frequently-asked-questions

    3 樓住戶:呱呱
    發表時間:2014-07-11


    i386 x86 區別、i386 x86_64、i386 x86_x64、i386 x86 区別、i386 x86_64 linux、i386 x86 difference





    IA32 : 32 bits Intel Architecture (32 位處理器 Intel 架構)
    IA64 : 64 bits Intel Architecture (64 位處理器 Intel 架構)

    i386 : Intel 386 ( 老的386機器,也泛指IA32體系的 CPU)
    i486 : Intel 486
    i586 : Intel 586 ( Pentium ,K6 級別 CPU )
    i686 : Intel 686 ( Pentium II, Pentium III , Pentim 4, K7 級別 CPU )

    以上的86 也可以叫做 x86, 通稱說 x86也是指 IA32架構CPU

    x86 包含 i386 ,i386 僅僅是 x86 的一部分。
    x86 這裡的 x 本來就是一個未知數性質的,他可以是 3、4、5、6、7 。

    x86 是 Intel 建立起來的 CPU 架構。
    他的 8086、8088、80286、80386、80486、Pentium 、Pentium Pro 、Pentium MMX ,Pentium 2 ,還有後面的 P3、P4 、PD 、Core 全系列,Xeon 的 x86 系列。以及 AMD 的 Intel 架構相容全系列.當然還有最近重新崛起的 VIA 的 C7 系列。
    他們都是 x86 架構。

    更多的 x86 代表的是 32 位的 Intel CPU 架構體系。

    但其中分成很多代。i386 就是 80386 的那代 CPU 的標準,主要是支援 32 位元的保護模式和真實模式兩種工作環境。這個功能很好很強大,一直沿用至今,而且系統對於這個功能是必須支援的。386 之後的 cpu 是完全相容 i386 體系的。

    i486 加入了新的一個功能,i586 (奔騰 1 代系列)又加入了新功能,i686 (奔騰 Pro 系列以後)又加入了新的功能體系。
    i386 的軟體可以執行在 i686 系統,但是 i686 的軟體不能執行在之前的架構上。

    舊 CPU 不能執行新軟體主要是不能使用新的特性導致不能執行,但是舊的架構軟體在新的架構上執行,僅僅是不能用新的功能體系,執行效率是沒有減少的。
    而且這個功能架構主要是 Linux 內核在使用。

    只要看到 i 什麼 86 ,基本都能用。
    如果有 i686 ,CPU 只要不是 K6 系列,而是 Athlon 系列,最好選擇 i686 ,但如果只有 i386 的,注意安裝後看看你的內核是不是 i686 體系的,如果是,性能不受影響。

    題外:
    i786 是一個隱藏的新體系,聽說只能用在 P4 以後的 Intel CPU 上面。但是很多軟體沒有針對這個架構編寫,所以除非自己基於 i786 編譯,不然網上沒有 i786 的軟體。

    這裡還要說 x86_64 體系,這個是 AMD 提出並且最先使用的 x86 新的架構體系。他把 32 位的 i686 架構體系,擴展為 64 位。
    但是因為變動很x86 包含 i386 ,i386 僅僅是 x86 的一部分。

    這裡還要說 x86_64 體系,這個是 AMD 提出並且最先使用的 x86 新的架構體系。他把 32 位的 i686 架構體系,擴展為 64 位。
    但是因為變動很大的原因,64 位元的系統軟體要相容 32 位元的軟體,需要在內核裡打開支援,並且安裝 32 位的相容庫才行。其實如果你有原始程式碼,32位元系統的原始程式碼基本上可以直接在 64 位元的系統上面編譯成為 64 位架構可執行的軟體(新的技術還是用不上)。

    同樣 64 位的 CPU 相容上一代的 i686 架構,i686 CPU 不支援 x86_64 的軟體。

    一、x86與i386、i486、i586、i686等

    x86或80x86是英特爾Intel首先開發製造的一種微處理器體系結構的泛稱。
    該系列較早期的處理器名稱是以數位來表示,並以“86”作為結尾,包括Intel 8086、80186、80286、80386以及80486,因此其架構被稱為“x86”。由於數位並不能作為注冊商標,因此Intel及其競爭者均在 新一代處理器使用可註冊的名稱,如Pentium。現時Intel把x86-32稱為IA-32,全名為Intel Architecture, 32-bit。不過由於x86包括16位的處理器,這樣的命名也出現麻煩。

    x86架構於1978年]推出的Intel 8086中央處理器中首度出現,它是從Intel 8008處理器中發展而來的,而8008則是發展自Intel 4004的。8086在三年後為IBM PC所選用,之後x86便成為了個人電腦的標準平臺,成為了歷來最成功的CPU架構。
    其它公司也有製造x86架構的處理器,計有Cyrix(現為VIA所收購)、NEC集團、IBM、IDT以及Transmeta。Intel以外最成功的製造商為AMD,其Athlon系列處理器的市場僅次於Pentium。
    8086是16位處理器;直到1985年32位的80386的開發,這個架構都維持是16位。接著一系列的處理器表示了32位架構的細微改進,推出了數種 的擴充,直到2003年AMD對於這個架構發展了64位的擴充,並命名為AMD64(有時也被稱作x86-64,x64或EM64T),推出了 Opteron處理器家族,開創了x86的64位時代。
    值得注意的是Intel早在1990年代就與惠普合作提出了一種用在安騰系列處理器中的獨立的64位架構,這種架構被稱為IA-64。IA-64是一種嶄新的系統,和x86架構完全沒有相似性;不應該把它與AMD64或x86-64弄混。

    x86是一個Intel通用電腦系列的標準編號縮寫,也標識一套通用的電腦指令集合,X與處理器沒有任何關係,它是一個對所有*86系統的簡單的萬用字元定義,例如:i386, 586,奔騰(pentium)。

    由於早期intel的CPU編號都是如8086,80286來編號,這整個系列的CPU都是指令相容的,所以都用X86來標識所使用的指令集合。如今的奔騰、P2、P4、賽揚系列都是支援X86指令系統的,所以都屬於X86家族。

    x86指令集是美國Intel公司為其第一塊16位CPU(i8086)專門開發的。

    為了保證電腦能繼續運行以往開發的各類應用程式以保護和繼承豐富的軟體資源,所以Intel公司所生產的所有CPU仍然繼續使用X86指令集,所以它的CPU仍屬於X86系列。

    另外除Intel公司之外,AMD和Cyrix等廠家也相繼生產出能使用X86指令集的CPU,由於這些CPU能運行所有的為Intel CPU所開發的各種軟體,所以電腦業內人士就將這些CPU列為Intel的CPU相容產品。由於Intel X86系列及其相容CPU都使用X86指令集,所以就形成了今天龐大的X86系列及相容CPU陣容。當然在目前的臺式(可擕式)電腦中並不都是使用X86 系列CPU,部分伺服器和蘋果(Macintosh)機中還使用美國DIGITAL(數字)公司的Alpha 61164和PowerPC 604e系列CPU。

    Intel 80x86簡稱ix86,比如i386、i586、i686等等,指的是適用於intel i386、i586、i686相容指令集的微處理器。i686應該是P2以上級別的CPU,i586應該是pentium 這一系列都可以,但pentium pro 屬於i686。

    二、x86-64與x64、AMD64等

    “x86-64”,有時會簡稱為“x64”,是64位元微處理器架構及其相應指令集的一種,也是Intel x86架構的延伸產品。“x64”最先由AMD設計,推出時被稱為“AMD64”,其後也為英特爾所採用,現時英特爾稱之為“Intel 64”,在之前曾使用過Clackamas Technology (CT)、IA-32e及EM64T。外界多使用 "x86-64" 或 "x64" 去稱呼此64位架構,從而保持中立,不偏袒任何廠商。

    關於Linux/Unix的安裝介質類型:

    1. i386 適用於intel和AMD所有32位的cpu.以及via採用X86架構的32的cpu.

    intel平臺包括8086,80286,80386,80486,奔騰系列(1.2.3.4)、賽揚系列,Pentium D系列

    以及centrino P-M,core duo 等.

    2. X86_64 適用於intel的Core 2 Duo, Centrino Core 2 Duo, and Xeon 和AMD Athlon64/x2, Sempron64/x2, Duron64等採用X86架構的64位cpu.

    3. PPC 適用於Apple Macintosh G3, G4, G5, PowerBook, and other non-Intel models

    安裝DVD包括的軟體要比安裝光碟多一些,安裝DVD也包括了兩種圖形介面(KDE和gnome).

    4.Jigdo

    也可以通過 Jigdo 下載 Fedora 發行版本。Jigdo 可以加速下載安裝碟的 ISO 鏡像。同 BT 下載等待任務完全完成所不同,Jidgo 自動定位最快的鏡像伺服器(通過 Fedora 鏡像管理器),並且從中下載所需要的檔。為了減少所需的網路流量,可以讓 Jigdo 掃描現存的 DVD 或 CD 介質。這個功能對於以下用戶特別有用。

    LiveCD介質,分fedora桌面(gnome)和KDE桌面

    可以直接進去系統再安裝.先體驗再決定是否安裝的類型.

    i686 只是i386的一個子集,支持的cpu從Pentium 2 (686)開始,之前的型號不支持.

    i686指的是Pentium Pro及以後Intel IA32 CPU,也就是我們所說的P6系列處理器
    i386指的是80386以後的
    IA32劃分子集的話:386,486是一個,Pentium是一個,Pentium Pro,Pentium II,PentiumIII是P6系列,Pentium IV又是一個,Pentium 4是NetBurst框架的,比P6系列有些變化

    i386、i586、i686指的是適用於inteli386、i586、i686相容指令集的微處理器。一般來說,等級愈高的機器可接受較低等級的rpm檔。你可以透過/proc/cpuinfo這個文檔查詢CPU等級。

    i386
    Intel x86-compatible processors, including Intel Pentium and Pentium-MMX, Pentium Pro, Pentium-II, Pentium-III, Celeron, Pentium 4, and Xeon; VIA C3/C3-m and Eden/Eden-N; and AMD Athlon, AthlonXP, Duron, AthlonMP, and Sempron

    ppc
    PowerPC processors, such as those found in Apple Power Macintosh, G3, G4, and G5, and IBM pSeries systems

    x86_64
    64-bit AMD processors such as Athlon64, Turion64, Opteron; and Intel 64-bit processors such as EM64T

    英特爾x86相容處理器,包括英特爾奔騰和奔騰MMX、個人奔騰系列,奔騰II、奔騰III、賽揚,奔騰4和Xeon;同時包括 威盛系列的C3/C3-m和and Eden/Eden-N; AMD Athlon、AthlonXP、Duron、AthlonMP和Sempron
    ppc

    PowerPC處理器,例如在蘋果電腦公司的Macintosh, G3、G4和G5和IBM pSeries的那些系統
    x86_64

    AMD64位處理器例如Athlon64,Turion64,Opteron。

    英特爾64位處理器例如EM64T

    x86體系結構雖然指令都一樣,但是不同時代的具體實現,在編譯優化上還是有自己的特點,而且後一代往往會多出一些指令,所以編譯RPM時,可以針對不同的體系結構作不同的編譯選項優化。

    一般而言,所有x86處理器都能執行386的指令集,80486處理器當然需要486的優化。
    Pentium 就是586,PentiumPro (P6) 之後的統稱為686,包含了PentiumPro, PentiumⅡ, PentiumⅢ和P4。

    出於效率考慮,在編譯核心和glibc這樣的套裝軟體的時候,都是為不同體系結構編譯不同的包,安裝的時候選擇適合自己機器的,以便得到最好的效率。

    目前而言,只要有686的包,那就不必考慮386的包。

    PⅢ的CPU,通過/proc/cpuinfo查到是386的。

    i386是指intel發佈的通用處理器類型,適合386,486,586,686的CPU。
    x86_64是指intel的X86的64位元處理器系統。
    一般你使用i386就好了。

    64bit CPU 可以裝 i386/x86_64,但32bit CPU 只能裝i386,x86_64是無法裝的。

    i386是指CPU在32位元以上的的pc可以安裝
    x86_64是指CPU在64位的pc可以安裝
    因為32位的CPU不支持x86_64的指令集,但是64位元的CPU支援i386的指令集(這就是所謂的向下相容),
    所以判斷不出電腦的CPU是哪種的話,建議用i386的作業系統。


    4 樓住戶:小鴨
    發表時間:2014-07-11

    什麼是 i386, i586, i686, noarch, x86_64



    從上面的說明,現在我們知道 RPM 與 SRPM 的格式分別為:









    xxxxxxxxx.rpm   <==RPM 的格式,已經經過編譯且包裝完成的 rpm 檔案; xxxxx.src.rpm   <==SRPM的格式,包含未編譯的原始碼資訊。


    那麼我們怎麼知道這個軟體的版本、適用的平台、編譯釋出的次數呢?只要透過檔名就可以知道了!例如 rp-pppoe-3.1-5.i386.rpm 這的檔案的意義為:









    rp-pppoe -        3.1    -     5        .i386        .rpm 軟體名稱   軟體的版本資訊 釋出的次數 適合的硬體平台 副檔名


    除了後面適合的硬體平台與副檔名外,主要是以『-』來隔開各個部分,這樣子可以很清楚的發現該軟體的名稱、 版本資訊、打包次數與操作的硬體平台!好了,來談一談每個不同的地方吧:



    • 軟體名稱

      當然就是每一個軟體的名稱了!上面的範例就是 rp-pppoe 。

    • 版本資訊

      每一次更新版本就需要有一個版本的資訊,否則如何知道這一版是新是舊?這裡通常又分為主版本跟次版本。以上面為例,主版本為 3 ,在主版本的架構下更動部分原始碼內容,而釋出一個新的版本,就是次版本啦!以上面為例,就是 1 囉!

    • 釋出版本次數

      通常就是編譯的次數啦!那麼為何需要重複的編譯呢?這是由於同一版的軟體中,可能由於有某些 bug 或者是安全上的顧慮,所以必須要進行小幅度的 patch 或重設一些編譯參數。 設定完成之後重新編譯並打包成 RPM 檔案!因此就有不同的打包數出現了!

    • 操作硬體平台

      這是個很好玩的地方,由於 RPM 可以適用在不同的操作平台上,但是不同的平台設定的參數還是有所差異性! 並且,我們可以針對比較高階的 CPU 來進行最佳化參數的設定,這樣才能夠使用高階 CPU 所帶來的硬體加速功能。 所以就有所謂的 i386, i586, i686, x86_64 與 noarch 等的檔案名稱出現了!






























      平台名稱 適合平台說明
      i386 幾乎適用於所有的 x86 平台,不論是舊的 pentum 或者是新的 Intel Core 2 與 K8 系列的 CPU 等等,都可以正常的工作!那個 i 指的是 Intel 相容的 CPU 的意思,至於 386 不用說,就是 CPU 的等級啦!
      i586 就是針對 586 等級的電腦進行最佳化編譯。那是哪些 CPU 呢?包括 pentum 第一代 MMX CPU, AMD 的 K5, K6 系列 CPU (socket 7 插腳) 等等的 CPU 都算是這個等級;
      i686 在 pentun II 以後的 Intel 系列 CPU ,及 K7 以後等級的 CPU 都屬於這個 686 等級! 由於目前市面上幾乎僅剩 P-II 以後等級的硬體平台,因此很多 distributions 都直接釋出這種等級的 RPM 檔案。
      x86_64 針對 64 位元的 CPU 進行最佳化編譯設定,包括 Intel 的 Core 2 以上等級 CPU ,以及 AMD 的 Athlon64 以後等級的 CPU ,都屬於這一類型的硬體平台。
      noarch 就是沒有任何硬體等級上的限制。一般來說,這種類型的 RPM 檔案,裡面應該沒有 binary program 存在, 較常出現的就是屬於 shell script 方面的軟體。



      受惠於目前 x86 系統的支援方面,新的 CPU 都能夠執行舊型 CPU 所支援的軟體,也就是說硬體方面都可以向下相容的, 因此最低等級的 i386 軟體可以安裝在所有的 x86 硬體平台上面,不論是 32 位元還是 64 位元。但是反過來說就不行了。舉例來說,目前硬體大多是 64 位元的等級,因此妳可以在該硬體上面安裝 x86_64 或 i386 等級的 RPM 軟體。但在你的舊型主機,例如 P-III/P-4 32 位元機器上面,就不能夠安裝 x86_64 的軟體!


    根據上面的說明,其實我們只要選擇 i386 版本來安裝在你的 x86 硬體上面就肯定沒問題。但是如果強調效能的話, 還是選擇搭配你的硬體的 RPM 檔案吧!畢竟該軟體才有針對你的 CPU 硬體平台進行過參數最佳化的編譯嘛!





    小標題的圖示RPM 的優點



    由於 RPM 是透過預先編譯並打包成為 RPM 檔案格式後,再加以安裝的一種方式,並且還能夠進行資料庫的記載。 所以 RPM 有以下的優點:



    • RPM 內含已經編譯過的程式與設定檔等資料,可以讓使用者免除重新編譯的困擾;

    • RPM 在被安裝之前,會先檢查系統的硬碟容量、作業系統版本等,可避免檔案被錯誤安裝;

    • RPM 檔案本身提供軟體版本資訊、相依屬性軟體名稱、軟體用途說明、軟體所含檔案等資訊,便於瞭解軟體;

    • RPM 管理的方式使用資料庫記錄 RPM 檔案的相關參數,便於升級、移除、查詢與驗證。


    為什麼 RPM 在使用上很方便呢?我們前面提過, RPM 這個軟體管理員所處理的軟體,是由軟體提供者在特定的 Linux 作業平台上面將該軟體編譯完成並且打包好。那使用者只要拿到這個打包好的軟體, 然後將裡頭的檔案放置到應該要擺放的目錄,不就完成安裝囉?對啦!就是這樣!


    但是有沒有想過,我們在前一章裡面提過的,有些軟體是有相關性的,例如要安裝網路卡驅動程式,就得要有 kernel source 與 gcc 及 make 等軟體。那麼我們的 RPM 軟體是否一定可以安裝完成呢?如果該軟體安裝之後,卻找不到他相關的前驅軟體, 那不是挺麻煩的嗎?因為安裝好的軟體也無法使用啊!


    為了解決這種具有相關性的軟體之間的問題 (就是所謂的軟體相依屬性),RPM 就在提供打包的軟體時,同時加入一些訊息登錄的功能,這些訊息包括軟體的版本、 打包軟體者、相依屬性的其他軟體、本軟體的功能說明、本軟體的所有檔案記錄等等,然後在 Linux 系統上面亦建立一個 RPM 軟體資料庫,如此一來,當你要安裝某個以 RPM 型態提供的軟體時,在安裝的過程中, RPM 會去檢驗一下資料庫裡面是否已經存在相關的軟體了, 如果資料庫顯示不存在,那麼這個 RPM 檔案『預設』就不能安裝。呵呵!沒有錯,這個就是 RPM 類型的檔案最為人所詬病的『軟體的屬性相依』問題啦!





    小標題的圖示RPM 屬性相依的克服方式: YUM 線上升級


    為了重複利用既有的軟體功能,因此很多軟體都會以函式庫的方式釋出部分功能,以方便其他軟體的呼叫應用, 例如 PAM 模組的驗證功能。此外,為了節省使用者的資料量,目前的 distributions 在釋出軟體時, 都會將軟體的內容分為一般使用與開發使用 (development) 兩大類。所以妳才會常常看到有類似 pam-x.x.rpm 與 pam-devel-x.x.rpm 之類的檔名啊!而預設情況下,大部分的 software-devel-x.x.rpm 都不會安裝,因為終端用戶大部分不會去開發軟體嘛!


    因為有上述的現象,因此 RPM 軟體檔案就會有所謂的屬性相依的問題產生 (其實所有的軟體管理幾乎都有這方面的情況存在)。 那有沒有辦法解決啊?前面不是談到 RPM 軟體檔案內部會記錄相依屬性的資料嗎?那想一想,要是我將這些相依屬性的軟體先列表, 在有要安裝軟體需求的時候,先到這個列表去找,同時與系統內已安裝的軟體相比較,沒安裝到的相依軟體就一口氣同時安裝起來, 那不就解決了相依屬性的問題了嗎?有沒有這種機制啊?有啊!那就是 YUM 機制的由來!


    CentOS 先將釋出的軟體放置到 YUM 伺服器內,然後分析這些軟體的相依屬性問題,將軟體內的記錄資訊寫下來 (header)。 然後再將這些資訊分析後記錄成軟體相關性的清單列表。這些列表資料與軟體所在的位置可以稱呼為容器 (repository)。 當用戶端有軟體安裝的需求時,用戶端主機會主動的向網路上面的 yum 伺服器的容器網址下載清單列表, 然後透過清單列表的資料與本機 RPM 資料庫已存在的軟體資料相比較,就能夠一口氣安裝所有需要的具有相依屬性的軟體了。 整個流程可以簡單的如下圖說明:



    YUM 使用的流程示意圖

    圖 1.5.1、YUM 使用的流程示意圖


    當用戶端有升級、安裝的需求時, yum 會向容器要求清單的更新,等到清單更新到本機的 /var/cache/yum 裡面後, 等一下更新時就會用這個本機清單與本機的 RPM 資料庫進行比較,這樣就知道該下載什麼軟體。接下來 yum 會跑到容器伺服器 (yum server) 下載所需要的軟體,然後再透過 RPM 的機制開始安裝軟體啦!這就是整個流程! 談到最後,還是需要動到 RPM 的啦!所以下個小節就讓我們來談談 RPM 這咚咚吧!


    Tips:

    為什麼要做出『容器』呢?由於 yum 伺服器提供的 RPM 檔案內容可能有所差異,舉例來說,原廠釋出的資料有 (1)原版資料; (2)更新資料 (update); (3)特殊資料 (例如第三方協力軟體,或某些特殊功能的軟體)。 這些軟體檔案基本上不會放置到一起,那如何分辨這些軟體功能呢?就用『容器』的概念來處理的啦! 不同的『容器』網址,可以放置不同的軟體功能之意!





     共 4 人回應  選擇頁數 【第1 頁】 

    姓名:
    佈告內容:
    其他選項: