กลับไปหน้าบทความ

อ่าน 2 นาที

ควอเจ็กต์

ต้นขั้ววิทยาการคอมพิวเตอร์/เทคโนโลยีระบบปฏิบัติการ/ลิงก์ย้อนกลับเทมเพลต Webarchive

ในวิทยาการคอมพิวเตอร์ quaject คือโครงสร้างข้อมูลคล้ายวัตถุ ที่มีทั้งข้อมูล และโค้ด (หรือตัวชี้ไปยังโค้ด) ซึ่งเปิดเผยเป็นอินเทอร์เฟซในรูปแบบของcallentriesและสามารถรับรายการ...

ควอเจ็กต์

ในวิทยาการคอมพิวเตอร์ quaject คือโครงสร้างข้อมูลคล้ายวัตถุ ที่มีทั้งข้อมูล และโค้ด (หรือตัวชี้ไปยังโค้ด) ซึ่งเปิดเผยเป็นอินเทอร์เฟซในรูปแบบของcallentriesและสามารถรับรายการ callentries ไปยัง quaject อื่นๆ สำหรับการเรียกกลับและการเรียกออกพวกมันได้รับการพัฒนาโดยAlexia Massalinในปี 1989 สำหรับเคอร์เนลSynthesis [ 1 ]และตั้งชื่อตามQua! Machineซึ่งเป็นแพลตฟอร์มฮาร์ดแวร์ที่ไม่เหมือนใครที่สร้างโดย Massalin ที่มาของคำว่า 'qua' นั้นไม่ชัดเจน Massalin อ้างอย่างขบขันว่ามันเป็นเสียงที่โคอาล่าเปล่ง ออก มา[ 2 ]

จุดประสงค์หลักของ quaject คือการสร้างนามธรรมเพื่อจัดการโค้ดที่แก้ไขตัวเองได้โดยอนุญาตให้โค้ดในขณะรันไทม์ทำการปรับแต่งโค้ดตามแต่ละอ็อบเจ็กต์ ในขณะที่เคอร์เนล Synthesis ดั้งเดิมต้องการให้เขียน quaject ด้วยภาษาแอสเซมบลี ที่พัฒนาขึ้นเอง นั้น ทำไปเพื่อหลีกเลี่ยงการพัฒนาคอมไพเลอร์ที่ซับซ้อน Massalin ตั้งข้อสังเกตว่าการคอมไพล์แบบทันเวลา (JIT) สำหรับภาษาโปรแกรมระดับสูงที่อนุญาตให้สร้างโค้ด ในขณะรันไทม์ เช่นในLispหรือSmalltalkก็สามารถใช้วิธีการนี้ได้เช่นกัน แม้ว่าเธอจะยืนยันว่าความซับซ้อนของคอมไพเลอร์ดังกล่าวอาจสูงเกินไปจนไม่สามารถทำได้

Quaject แตกต่างจากอ็อบเจ็กต์ทั่วไปในสองประเด็นสำคัญ: ประการแรก Quaject จะใช้รูป แบบ การฉีดการพึ่งพา (dependency injection ) เสมอ เพื่อจัดการทั้งอินเทอร์เฟซไปยัง quaject อื่นๆ และการทำงานต่อเนื่องออกจาก quaject โดยรายการอ้างอิง callentry สำหรับสิ่งนี้เป็นส่วนหนึ่งของการสร้าง quaject และอาจได้รับการอัปเดตในระหว่างอายุการใช้งานของ quaject ประการที่สอง และสำคัญกว่านั้น ชุดเมธอดของ quaject ที่กำหนดสามารถเป็นเอกลักษณ์เฉพาะสำหรับ quaject นั้นๆ ได้ เมธอดสำหรับประเภทหรือคลาสของ quaject จะถูกจัดเก็บเป็นเทมเพลตอย่างน้อยหนึ่งรายการ แทนที่จะเป็นโค้ดคงที่ ในขณะที่เมธอดที่ใช้ร่วมกันสามารถเข้าถึงได้ผ่านตารางตัวชี้ทั่วไป quaject แต่ละตัวยังสามารถมีเมธอดที่สร้างขึ้นโดยเฉพาะเพื่อปรับแต่งประสิทธิภาพให้เหมาะสมกับพฤติกรรมของ quaject นั้นๆ ได้

  1. Pu, Calton ; Massalin, Henry ; Ioannidis, John (1992). Synthesis: An Efficient Implementation of Fundamental Operating System Services (PDF) (วิทยานิพนธ์ปริญญาเอก). นิวยอร์ก: ภาควิชาวิทยาการคอมพิวเตอร์มหาวิทยาลัยโคลัมเบีย . หมายเลขสั่งซื้อ UMI GAX92-32050. เก็บถาวร(PDF)จากต้นฉบับเมื่อ 2017-07-04 . สืบค้นเมื่อ2012-04-25 .เก็บถาวรเมื่อวันที่ 12 มีนาคม 2016 ที่Wayback Machine
    • Valerie Henson (2008-02-20). "KHB: Synthesis: การนำบริการระบบปฏิบัติการพื้นฐานไปใช้อย่างมีประสิทธิภาพ" . LWN.net .
  2. Poole, Gary Andrew (1996-12-01). "Qua" . Wired . Condé Nast. เก็บถาวรจากต้นฉบับเมื่อ 2017-07-04 . สืบค้นเมื่อ2016-08-23 .
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Quaject&oldid=1245770146 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ควอเจ็กต์

ในวิทยาการคอมพิวเตอร์ quaject คือโครงสร้างข้อมูลคล้ายวัตถุ ที่มีทั้งข้อมูล และโค้ด (หรือตัวชี้ไปยังโค้ด) ซึ่งเปิดเผยเป็นอินเทอร์เฟซในรูปแบบของcallentriesและสามารถรับรายการ...