การเรียกใช้ซอฟต์แวร์โดยพื้นฐานหมายความว่าอย่างไร
เมื่อผู้คนอ้างถึงการใช้งานซอฟต์แวร์พื้นเมืองการจำลองและความเข้ากันได้ของซอฟต์แวร์พวกเขาหมายถึงอะไรกันแน่? อ่านต่อในขณะที่เราเจาะลึกแนวคิดของซอฟต์แวร์เนทีฟ.
เซสชั่นคำถามและคำตอบของวันนี้มาถึงเรามารยาท ของ SuperUser- แผนกย่อยของ Stack Exchange กลุ่มที่ขับเคลื่อนด้วยชุมชนของเว็บไซต์ถาม - ตอบ.
คำถาม
ผู้อ่าน SuperUser Throsby อยากรู้เกี่ยวกับความหมายของการเรียกใช้ซอฟต์แวร์โดยกำเนิด เขาเขียน:
ฉันสงสัยว่าซอฟต์แวร์นั้นทำงานได้อย่างไร ซอฟต์แวร์ดังกล่าวคืออะไรกันแน่และแตกต่างจากซอฟต์แวร์ที่ไม่ทำงานโดยกำเนิดอย่างไร ฉันจะบอกได้อย่างไรว่าชิ้นส่วนของซอฟต์แวร์ที่กำหนดจะทำงานบนคอมพิวเตอร์ของฉันหรือไม่ มีแนวโน้มที่จะมีซอฟต์แวร์อยู่ในคอมพิวเตอร์ของฉันที่ทำงานได้ตามปกติหรือไม่?
อ่านต่อไปเพื่อการเปรียบเทียบที่ยอดเยี่ยมที่อธิบายอย่างชัดเจนถึงความหมายของการมีถิ่นกำเนิดในระบบที่กำหนด.
คำตอบ
ผู้สนับสนุน SuperUser Deltik นำเสนอการเปรียบเทียบที่ยอดเยี่ยมซึ่งเน้นถึงความหมายของซอฟต์แวร์ที่เป็นเจ้าของและซอฟต์แวร์อื่น ๆ ที่อาจพบในระบบที่ระบุ:
ซอฟต์แวร์นั้นมีอยู่ในแพลตฟอร์มหากได้รับการออกแบบให้ทำงานบนแพลตฟอร์มนั้น.
แพลตฟอร์มมักจะอ้างถึงระบบปฏิบัติการ แต่ก็สามารถนำไปใช้กับอุปกรณ์เช่น Nintendo Game Boy.
ตัวอย่างการใช้เกมบอยมันได้รับซอฟต์แวร์จากคาร์ทริดจ์ ตลับหมึกพิมพ์นี้มีรหัสที่ทำงาน โดยกำเนิด บน Game Boy.
อีมูเลเตอร์ เป็นเลเยอร์ที่อนุญาตให้ซอฟต์แวร์ที่ออกแบบสำหรับแพลตฟอร์มหนึ่งสามารถทำงานบนแพลตฟอร์มอื่นได้ ตัวอย่างเช่นมีอีมูเลเตอร์ที่สามารถเรียกใช้รูปภาพของคาร์ทริดจ์ Game Boy และอนุญาตให้คุณเล่นเกม Game Boy บนคอมพิวเตอร์ของคุณหรือแม้แต่โทรศัพท์มือถือของคุณ.
เลเยอร์ความเข้ากันได้ เป็นเหมือนตัวเลียนแบบ เมื่อคอมพิวเตอร์ 64- บิตและระบบปฏิบัติการกลายเป็นกระแสหลักพวกเขาจำเป็นต้องเข้ากันได้กับเทคโนโลยี 32 บิตที่มีอยู่ เนื่องจากสถาปัตยกรรมแบบ 64 บิตและ 32 บิตนั้นแตกต่างกันมากเลเยอร์ความเข้ากันได้จึงจำเป็นต้องมีเพื่อเรียกใช้ซอฟต์แวร์ 32 บิตบนเครื่อง 64 บิต สำหรับ Microsoft Windows รุ่น 64 บิต Microsoft จำเป็นต้องเขียนเลเยอร์ความเข้ากันได้เพื่อให้โปรแกรม 32 บิตยังคงทำงานบนระบบ 64 บิตใหม่ นี่คือเหตุผลที่บางโปรแกรมติดตั้งบ่อยครั้งในโฟลเดอร์ที่เรียกว่า
ไฟล์โปรแกรม (x86)
, ที่ไหนx86
แปลว่า "32 บิต".เลเยอร์ความเข้ากันได้มักจะมีความใกล้ชิดกับระบบเนทีฟมากกว่าอีมูเลเตอร์ VirtualBoxemulates ฮาร์ดแวร์สำหรับระบบปฏิบัติการ * และระบบที่เลียนแบบไม่มีการโต้ตอบโดยตรงกับระบบโฮสต์มากนัก WoW64 เป็น เลเยอร์ความเข้ากันได้ ในการที่มันช่วยให้โปรแกรม 32- บิตทำงานบน Windows 64 บิตในแบบบูรณาการมากขึ้น WoW64 ช่วยจัดทำโปรแกรม เข้ากันได้ ค่อนข้างมากกว่าการลอกเลียนแบบ พวกเขาในสภาพแวดล้อมที่แยก.
ห้องสมุดการแปล เป็นส่วนประกอบของเลเยอร์ที่เข้ากันได้ เมื่อใดก็ตามที่รหัสไบนารี่ทำงานแบบไม่ติดไวรัสไลบรารี่การแปลจะช่วยเปลี่ยนเส้นทางการโทรระหว่างประเทศที่ไม่ใช่เจ้าของภาษาไปสู่การโทรแบบเนทีฟซึ่งระบบสามารถเข้าใจได้ โปรแกรมการประกอบที่เขียนขึ้นสำหรับ TI-83 ดั้งเดิมอาจไม่สามารถใช้งานร่วมกับเครื่องคิดเลข TI-83/84 Plus รุ่นใหม่กว่าได้เนื่องจากการโทรบางรายการที่เข้าท่าในสถาปัตยกรรมของ TI-83 อาจไม่สามารถใช้งานได้ใน TI-83/84 + คลังการแปล (อาจรวมอยู่ในเปลือกหอยเช่น MirageOS) ทำให้มั่นใจได้ว่าการเรียกร้องให้ TI-83 ไปยังสถานที่ใหม่ที่ได้รับการปรับปรุงในเครื่องคิดเลข TI-83/84 +.
รหัสที่ไม่ขึ้นกับแพลตฟอร์ม เขียนด้วยภาษาที่เป็น ตีความ โดยสิ่งที่มักจะทำงานโดยกำเนิด ตัวอย่างเช่น PHP เป็นภาษาการเขียนโปรแกรมที่ตีความและดำเนินการโดยไบนารี PHP ที่ติดตั้งซึ่งได้รับการรวบรวมแล้ว โดยกำเนิด สำหรับระบบปฏิบัติการที่ใช้ Windows, Mac และ Unix โค้ด PHP ที่เว็บสคริปเตอร์เขียนนั้นเป็นอิสระจากแพลตฟอร์มช่วยให้โค้ดทำงานบนระบบปฏิบัติการหลายระบบตราบใดที่มีการติดตั้ง PHP สำหรับระบบปฏิบัติการเหล่านั้น.
มีสิ่งที่จะเพิ่มคำอธิบายหรือไม่ ปิดเสียงในความคิดเห็น ต้องการอ่านคำตอบเพิ่มเติมจากผู้ใช้ Stack Exchange คนอื่นหรือไม่ ลองอ่านหัวข้อสนทนาเต็มได้ที่นี่.