การเปลี่ยนเป็น 64 บิตจัดการบน Linux / Unix อย่างไร โลกของ Windows ยังคงมีปัญหากับมันและฉันอยากรู้ว่ามันจัดการอย่างไรในโลก * nix
การเปลี่ยนเป็น 64 บิตจัดการบน Linux / Unix อย่างไร โลกของ Windows ยังคงมีปัญหากับมันและฉันอยากรู้ว่ามันจัดการอย่างไรในโลก * nix
คำตอบ:
การทำงานที่จำเป็นเพื่อให้เคอร์เนล 64 บิตถูกทำlooooongเวลาที่ผ่านมาใช้ระบบอัลฟาธันวาคม อย่างไรก็ตามโปรแกรมมีความแตกต่างกัน
ฉันทามติทั่วไปที่ฉันได้เห็นตอนนี้ดูเหมือนจะเป็น:
/lib
และ/lib64
ไดเร็กทอรีสำหรับระบบที่มีไบนารีแบบผสมนอกจากนั้นคุณจะไม่เห็น "ความเศร้าโศก" มากมายจากบิทบิวด์ 32/64 บิต
multilib
alien.slackbook.org/dokuwiki/doku.php?id=slackware:multilib
Windows และ * ix ใช้โมเดลข้อมูลที่แตกต่างกันสำหรับการเปลี่ยนแปลง หน้า UNIX.org นี้ค่อนข้างเก่า แต่ก็ยังให้ภาพรวมที่ดีของการแลกเปลี่ยน (หมายเหตุที่long long
เพิ่มใน C99 ในภายหลังและจำเป็นต้องมีอย่างน้อย 64 บิต) คุณสามารถดูบทความ Wikipediaในหัวข้อเดียวกัน ในฐานะที่สนับสนุนในตอนท้ายของบทความ UNIX.org ส่วนใหญ่ UNIX เหมือนระบบได้ไปกับ LP64 ซึ่งหมายความว่าlong
, long long
และคำแนะนำที่มีอยู่ทั้งหมด 64 บิต
Windows ไปพร้อมกับสิ่งที่เรียกว่า LLP64 data model ซึ่งหมายความว่ามีเพียงพอยน์เตอร์ที่long long
เป็น 64- บิต long
ยังคงเป็น 32 บิต ส่วนหนึ่งของเหตุผลเป็นเพียงว่าพวกเขาไม่ต้องการที่จะไปถึงและแก้ไขรหัสเสียที่สันนิษฐานว่าพอดีในlong
int
เนื่องจาก distros Linux ส่วนใหญ่เป็น OpenSource จึงมีการเปลี่ยนแปลงอย่างมากแล้ว หากคุณไม่ได้ใช้ซอฟต์แวร์ที่เหมาะสม (เช่น skype) คุณสามารถเรียกใช้ระบบ 64 บิตที่บริสุทธิ์โดยไม่มีข้อเสียใด ๆ
อย่างไรก็ตามความแตกต่างที่แท้จริงคือ IMHO ที่เหมาะสมกว่าเมื่อเทียบกับเปิดแล้วใช้กับ unix และ windows เนื่องจากเป็นซอฟต์แวร์โอเพ่นซอร์สที่ได้รับการพอร์ตก่อน ทั้งหมด แต่เพิ่งคอมไพล์ใหม่;) - และคุณสมบัติที่พอร์ตครั้งสุดท้าย
อาจเพิ่มเติมบน Linux ที่คุณมี repos ดังนั้นการติดตั้งจะถูกจัดการโดยอัตโนมัติ - คุณไม่จำเป็นต้องเลือกรุ่น 64 บิตหรือ 32 บิต (ระบบจะเลือกโดยอัตโนมัติ) บนโปรแกรม Windows จะถูกดาวน์โหลดและแยกรุ่น 64 บิตและ 32 บิต:
ฉันคิดว่านั่นเป็นเหตุผลว่าทำไมไบนารี Windows จึงมักเป็น 32- บิตมันเหมาะกับทุกคนและไม่ใช่ทุกคนที่ได้ใช้เวอร์ชัน 64 บิต
ที่จริงแล้วลอง "The Long Road to 64-bits" ที่ ACM Queue: http://queue.acm.org/detail.cfm?id=1165766 ซึ่งต่อมาถูกสื่อสารโดย ACM ไมโคร 64 บิตแรกคือ MIPS R4000 จัดส่งใน SGI Crimson 1Q1992 ธ.ค. Alphas ส่งปลายปีนั้น
R4000 ทำงานในโหมด 32 บิตเป็นครั้งแรกและต่อมาในโหมด 64/32 เช่น 64-OS, 64 หรือ 32 บิตรหัสผู้ใช้ Alphas ใช้ UNIX แบบ 64 บิตเท่านั้นเสมอ (ตัวเลือกที่เหมาะสมเนื่องจากไม่มีแอพพื้นฐานที่ติดตั้ง 32 บิต)
ต่อมาในปี 1990 SGI ได้ให้ความช่วยเหลือกับ 64-bit-ize Linux (ทำงานบน Itaniums) เกี่ยวกับเวลาที่ XFS ได้รับการจัดส่งไปยัง Linux (ต้องการ 64 บิต)