ความแตกต่างระหว่าง“ ฮาร์ดแวร์เครื่อง”,“ ประเภทโปรเซสเซอร์” และ“ แพลตฟอร์มฮาร์ดแวร์”


14

เครื่อง Linux ของฉันรายงานผลลัพธ์ "uname -a" ดังต่อไปนี้:

[root@tom i386]# uname -a
Linux tom 2.6.9-89.ELsmp #1 SMP Mon Apr 20 10:34:33 EDT 2009 i686 i686 i386 GNU/Linux
[root@tom i386]#

ตามหน้า man ของ uname รายการ "i686 i686 i386" หมายถึง:

  • ชื่อฮาร์ดแวร์เครื่อง (i686)
  • ประเภทหน่วยประมวลผล (i686)
  • แพลตฟอร์มฮาร์ดแวร์ (i386)

ข้อมูลเพิ่มเติม:

[root@tom i386]# cat /proc/cpuinfo

<snip>
vendor_id    : GenuineIntel
CPU family   : 6
model        : 15
model name   : Intel(R) Xeon(R) CPU            5148  @ 2.33 GHz
stepping     : 6
CPU MHz      : 2328.038
cache size   : 4096 KB
</snip>

วิธีแยกความแตกต่างระหว่างสามรายการเหล่านี้ ("i686 i686 i386")


สิ่งที่ฉันพยายามเข้าใจคือความแตกต่างระหว่างข้อกำหนดเหล่านี้คืออะไร พวกเขาไม่ได้อ้างถึงเหมือนกันหรือ หากประเภทโปรเซสเซอร์ของฉันคือ i386 ดังนั้นฮาร์ดแวร์ของเครื่องและแพลตฟอร์มฮาร์ดแวร์ควรเป็น i386 ด้วยหรือไม่
Adil

1
ฉันได้รับข้อมูลที่แน่นอนเหมือนกับที่คุณเป็นและก็ไม่ชัดเจน :) คุณสามารถหาคำตอบที่อื่นได้หรือไม่?
randunel

คำตอบ:


6

ในแพลตฟอร์มฮาร์ดแวร์แบบสั้น ( uname -i) ==> ประเภทระบบปฏิบัติการ 32 บิตหรือ 64 บิต สถานการณ์อาจมาถึงเมื่อคุณติดตั้งแพ็กเกจและปลั๊กอินที่จำเป็นสำหรับการรวบรวมรหัสด้วยระบบปฏิบัติการ 32 บิตและตอนนี้คุณต้องการเปลี่ยนเป็นระบบปฏิบัติการ 64 บิตปัญหาอาจเกิดขึ้น ดังนั้นควรลบปลั๊กอินที่ขึ้นอยู่กับระบบปฏิบัติการ 32 บิตเหล่านั้นหรืออยู่กับระบบปฏิบัติการ 32 บิตเอง

Machine ( uname -m) ===> คิดว่าเป็นมาเธอร์บอร์ดซึ่งโปรเซสเซอร์รุ่นใดถูกสร้างขึ้น

หน่วยประมวลผล ( uname -p) ==> สถาปัตยกรรม CPU ขึ้นอยู่กับชุดคำสั่ง

สิ่งสำคัญ:
เครื่องและโปรเซสเซอร์ควรเหมือนกัน ทั้ง 32 บิตหรือ 64 บิตไม่แตกต่างกัน

แพลตฟอร์มฮาร์ดแวร์จะต้องเหมือนกันหรือต่ำกว่าเครื่องและโปรเซสเซอร์


2

ประเภทโปรเซสเซอร์ (หรือชื่อ) หมายถึงสถาปัตยกรรมที่สร้างโปรเซสเซอร์

ชื่อเครื่องฮาร์ดแวร์จะต้องเข้ากันได้กับประเภทหน่วยประมวลผลในคำอื่น ๆ จะต้องเป็นประเภทเดียวกันกับประเภทหน่วยประมวลผล

และในที่สุดแพลตฟอร์มฮาร์ดแวร์หมายถึงคำแนะนำทั้งหมดที่ฮาร์ดแวร์ใช้ในการประมวลผลและไม่เป็นรุ่นที่สูงกว่าประเภทโปรเซสเซอร์

คุณไม่สามารถรันชุดคำสั่ง i686 ในโปรเซสเซอร์ i386 ได้

i686 อ้างถึงตัวประมวลผลและสถาปัตยกรรม 64 บิต แต่อ้างถึงแพลตฟอร์มหมายถึงทั้ง x686 หรือ x86_64 อ้างอิงถึงช่องคำแนะนำ (64 บิต)

i386 = 32 บิต


2
i686 ไม่ใช่ระบบ 64 บิตให้ดูที่Wikipedia
jarno

-1

ใช้ตัวเลือกต่อไปนี้คุณสามารถแยกความแตกต่างระหว่างสามรายการเหล่านี้ ("i686 i686 i386")

[root@tom i386]# uname -a
Linux tom 2.6.9-89.ELsmp #1 SMP Mon Apr 20 10:34:33 EDT 2009 i686 i686 i386 
GNU/Linux
[root@tom i386]#uname -m;                -->machine hardware name
i686
[root@tom i386]#uname -p;                -->processor type
i686
and last one is  hardware platform(i386).

1
ไม่ฉันไม่ได้ถามเกี่ยวกับตัวเลือกคำสั่ง คำถามของฉันคือความแตกต่างระหว่างข้อกำหนดเหล่านี้คืออะไร? พวกเขาไม่ได้อ้างถึงเหมือนกันหรือ หากประเภทโปรเซสเซอร์ของฉันคือ i386 ดังนั้นฮาร์ดแวร์ของเครื่องและแพลตฟอร์มฮาร์ดแวร์จะเหมือนกันทั้งหมดและเป็น i386 หรือไม่
Adil
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.