อ่าน 2 นาที
อ่าน-แก้ไข-เขียน
ใน วิทยาการคอมพิวเตอร์ การ อ่าน -แก้ไข-เขียน (read-modify-write ) คือกลุ่มของ การดำเนินการแบบอะตอมิก (เช่น การทดสอบและตั้งค่า (test-and-set ) , การดึง ข้อมูลและเพิ่ม...
อ่าน-แก้ไข-เขียน
ในวิทยาการคอมพิวเตอร์ การ อ่าน-แก้ไข-เขียน (read-modify-write ) คือกลุ่มของการดำเนินการแบบอะตอมิก (เช่นการทดสอบและตั้งค่า (test-and-set ) , การดึง ข้อมูลและเพิ่ม (fetch-and-add)และ การเปรียบเทียบและ สลับ (compare-and-swap )) ที่ทั้งอ่านตำแหน่งหน่วยความจำและเขียนค่าใหม่ลงไปพร้อมกัน ไม่ว่าจะเป็นค่าใหม่ทั้งหมดหรือฟังก์ชันของค่าเดิม การดำเนินการเหล่านี้ช่วยป้องกันสภาวะการแข่งขัน (race condition)ในแอปพลิเคชันแบบมัลติเธรด โดยทั่วไปจะใช้ในการสร้างมิวเท็กซ์ (mutex)หรือเซมาฟอร์ (semaphores ) การดำเนินการแบบอะตอมิกเหล่านี้ยังถูกใช้อย่างแพร่หลายใน การซิงโครไนซ์แบบ ไม่บล็อก (non-blocking synchronization )
คำสั่งอ่าน-แก้ไข-เขียนมักจะทำให้เกิดผลลัพธ์ที่ไม่คาดคิดเมื่อใช้กับ อุปกรณ์ I/Oเนื่องจากการดำเนินการเขียนอาจไม่ส่งผลกระทบต่อรีจิสเตอร์ ภายในตัวเดียวกัน กับที่จะถูกเข้าถึงในการดำเนินการอ่าน[ 1 ]คำนี้ยังเกี่ยวข้องกับ ระดับ RAIDที่ดำเนินการเขียนจริงเป็นลำดับการอ่าน-แก้ไข-เขียนแบบอะตอมิก[ 2 ] ระดับ RAID ดังกล่าว ได้แก่RAID 4 , RAID 5และRAID 6
หมายเลขฉันทามติ
เพื่อแก้ปัญหาฉันทามติในระบบหน่วยความจำร่วม จำเป็นต้องมีการนำอ็อบเจ็กต์แบบขนานมาใช้ อ็อบเจ็กต์แบบขนาน หรืออ็อบเจ็กต์ร่วม คือโครงสร้างข้อมูลที่ช่วยให้กระบวนการแบบขนานสื่อสารกันเพื่อบรรลุข้อตกลง การใช้งานแบบดั้งเดิมที่ใช้ส่วนวิกฤตมีความเสี่ยงที่จะเกิดข้อผิดพลาดหากกระบวนการใดกระบวนการหนึ่งตายภายในส่วนวิกฤตหรือหยุดทำงานเป็นเวลานานเกินไป นักวิจัยได้กำหนดคำว่า " ปราศจากการรอคอย"ว่าเป็นการรับประกันว่าอัลกอริทึมจะเสร็จสมบูรณ์ภายในจำนวนขั้นตอนที่จำกัด
จำนวนฉันทามติของวัตถุพร้อมกันถูกกำหนดให้เป็นจำนวนสูงสุดของกระบวนการในระบบที่สามารถบรรลุฉันทามติโดยวัตถุที่กำหนดในการใช้งานแบบไม่ต้องรอ[ 3 ]วัตถุที่มีจำนวนฉันทามติเท่ากับสามารถใช้งานวัตถุใดๆ ก็ได้ที่มีจำนวนฉันทามติเท่ากับหรือต่ำกว่า แต่ไม่สามารถใช้งานวัตถุใดๆ ที่มีจำนวนฉันทามติสูงกว่าได้ จำนวนฉันทามติเหล่านี้ก่อให้เกิดสิ่งที่เรียกว่าลำดับชั้นของวัตถุการซิงโครไนซ์ของHerlihy [ 4 ]
| หมายเลขฉันทามติ | วัตถุ |
|---|---|
| รีจิ สเตอร์อ่าน/เขียนอะตอมิก , มิวเท็กซ์ | |
| ทดสอบและตั้งค่า , สลับ , ดึงข้อมูลและเพิ่ม , คิวหรือสแต็กแบบไม่ต้องรอ | |
| ... | ... |
| การกำหนดค่ารีจิสเตอร์ n | |
| ... | ... |
| เปรียบเทียบและสลับโหลดลิงก์/จัดเก็บแบบมีเงื่อนไข [ 5 ] การย้ายและสลับหน่วยความจำ คิวที่มีการดำเนินการดูข้อมูล ดึงและประมวลผล ไบต์เหนียว |
ตามลำดับชั้น รีจิสเตอร์อ่าน/เขียนไม่สามารถแก้ปัญหาความเห็นพ้องต้องกันได้แม้ในระบบ 2 กระบวนการ โครงสร้างข้อมูลเช่นสแต็กและคิวสามารถแก้ปัญหาความเห็นพ้องต้องกันได้ระหว่างสองกระบวนการเท่านั้น อย่างไรก็ตาม วัตถุแบบขนานบางอย่างเป็นแบบสากล (ระบุไว้ในตารางด้วย) ซึ่งหมายความว่าสามารถแก้ปัญหาความเห็นพ้องต้องกันได้ระหว่างกระบวนการจำนวนเท่าใดก็ได้ และสามารถจำลองวัตถุอื่น ๆ ผ่านลำดับการดำเนินการได้[ 3 ]
ดูเพิ่มเติม
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ อ่าน-แก้ไข-เขียน
ใน วิทยาการคอมพิวเตอร์ การ อ่าน -แก้ไข-เขียน (read-modify-write ) คือกลุ่มของ การดำเนินการแบบอะตอมิก (เช่น การทดสอบและตั้งค่า (test-and-set ) , การดึง ข้อมูลและเพิ่ม...
หมายเลขฉันทามติ
เพื่อแก้ปัญหาฉันทามติในระบบหน่วยความจำร่วม จำเป็นต้องมีการนำอ็อบเจ็กต์แบบขนานมาใช้ อ็อบเจ็กต์แบบขนาน หรืออ็อบเจ็กต์ร่วม คือ โครงสร้างข้อมูล ที่ช่วยให้กระบวนการแบบขนานสื่อสารกันเพื่อบรรลุข้อตกลง การใช้งานแบบดั้งเดิมที่ใช้ ส่วนวิกฤต...
ดูเพิ่มเติม
ความสามารถในการทำให้เป็นเชิงเส้น อ่าน-ลบ-แก้ไข-เขียน ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Read–modify–write&oldid=1360580985 "