การเปลี่ยนเป็น 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 บิต ส่วนหนึ่งของเหตุผลเป็นเพียงว่าพวกเขาไม่ต้องการที่จะไปถึงและแก้ไขรหัสเสียที่สันนิษฐานว่าพอดีในlongint
เนื่องจาก 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 บิต)