อ่าน 2 นาที
ซิมพล์
Synchronous Interprocess Messaging Project for LINUX (SIMPL)เป็น โปรเจกต์ โอเพนซอร์สฟรีที่อนุญาตให้ส่งข้อความแบบซิงโครนัสสไตล์QNXโดยการเพิ่ม ไลบรารี Linuxโดยใช้เทคนิคพื้นที่ผู้ใช้.
ซิมพล์
| ซิมพล์ | |
|---|---|
| นักพัฒนา | บริษัท ไอแคนโปรแกรม อิงค์ |
| เวอร์ชันเสถียร | 26 มกราคม 2012 SIMPL v3.3.7 เผยแพร่[ 1 ] / 26 มกราคม 2012 |
| ระบบปฏิบัติการ | ลินุกซ์ |
| พิมพ์ | การสื่อสารระหว่างกระบวนการ |
| ใบอนุญาต | ใบอนุญาตสาธารณะทั่วไปของ GNU น้อยกว่า[ 2 ] |
| เว็บไซต์ | www |
| ที่เก็บข้อมูล |
|
Synchronous Interprocess Messaging Project for LINUX (SIMPL)เป็น โปรเจกต์ โอเพนซอร์สฟรีที่อนุญาตให้ส่งข้อความแบบซิงโครนัสสไตล์QNXโดยการเพิ่ม ไลบรารี Linuxโดยใช้เทคนิคพื้นที่ผู้ใช้ เช่น หน่วยความจำที่ใช้ร่วมกันและท่อ Unix [ 3 ]เพื่อนำกลไกการส่งข้อความระหว่างกระบวนการ ไป ใช้SendMssgReceiveMssgReplyMssg
กลไก
เธรดไคลเอ็นต์ที่ส่งข้อความจะถูกบล็อก (การทำงานของเธรดกระบวนการถูกระงับชั่วคราว) จนกว่าเธรดเซิร์ฟเวอร์จะส่งการยืนยันการรับข้อความ ประมวลผลข้อความ และตอบกลับ เมื่อเธรดเซิร์ฟเวอร์ตอบกลับ เธรดไคลเอ็นต์จะพร้อมใช้งาน (ไม่ถูกบล็อก) โดยทั่วไปเธรดเซิร์ฟเวอร์จะวนลูปเพื่อรอรับข้อความจากเธรดไคลเอ็นต์
การบล็อกจะซิงโครไนซ์การทำงานของเธรดไคลเอ็นต์ โดยบล็อกเธรดนั้นและกำหนดเวลาการทำงานของเธรดเซิร์ฟเวอร์โดยอัตโนมัติ โดยไม่จำเป็นต้องมีการควบคุมกระบวนการอย่างชัดเจนจากเคอร์เนลเพื่อพิจารณาว่าเธรดใดควรทำงานต่อไป เหมือนกับรูปแบบอื่นๆ ของ IPC
การส่งและรับข้อมูลเป็นการบล็อกและซิงโครนัส การตอบกลับจะไม่บล็อก เธรดไคลเอ็นต์จะถูกบล็อกรอการตอบกลับอยู่แล้ว และไม่จำเป็นต้องมีการซิงโครไนซ์เพิ่มเติม เธรดเซิร์ฟเวอร์จะตอบกลับไคลเอ็นต์และทำงานต่อไปในขณะที่เคอร์เนลและ/หรือโค้ดเครือข่ายจะส่งข้อมูลการตอบกลับไปยังเธรดไคลเอ็นต์แบบอะซิงโครนัสและทำเครื่องหมายว่าพร้อมสำหรับการดำเนินการ[ 4 ]
ข้อดีของการส่งข้อความแบบซิงโครไนซ์
การส่งข้อความแบบซิงโครไนซ์มีข้อดีดังต่อไปนี้:
- แบบจำลองการเขียนโค้ดที่เรียบง่ายช่วยลดความซับซ้อนของงานในการแบ่งระบบที่ซับซ้อน และช่วยในการทดสอบ
- การซิงโครไนซ์เธรดโดยธรรมชาติจะประสานการทำงานของโปรแกรมที่สื่อสารกัน
- ไม่จำเป็นต้องมีการบัฟเฟอร์ข้อมูล
- การลดความซับซ้อนของการโต้ตอบในเครือข่าย - เธรดสามารถอยู่ในโปรแกรมที่แตกต่างกันบนเครื่องที่แตกต่างกันได้
ข้อจำกัด
ดูเหมือนว่า SIMPL จะไม่รองรับการทำงานแบบมัลติเธรดอย่างปลอดภัย
โครงการที่คล้ายกัน
มีโปรเจกต์การส่งข้อความแบบซิงโครนัสที่ได้รับแรงบันดาลใจจาก QNX อีกโปรเจกต์หนึ่งสำหรับ Linux นั่น คือ SRR IPC (สำหรับ Send/Receive/Reply) โดย Sam Roberts และ Andrew Thomas จาก Cogent Real-Time Systems, Inc.ซึ่งเกี่ยวข้องกับโปรเจกต์ SIMPL และเพิ่มเลเยอร์ API ที่เข้ากันได้กับ QNX SRR เป็นโมดูลเคอร์เนลที่สามารถโหลดได้ซึ่งออกแบบมาให้เข้ากันได้กับ API ของ QNX เพื่ออำนวยความสะดวกในการพอร์ตโค้ด
ดูเพิ่มเติม
ลิงก์ภายนอก
- SIMPL ถูกเก็บถาวรเมื่อวันที่ 16 เมษายน 2012 ที่Wayback Machine
- SourceForge, SIMPL - การส่งข้อความระหว่างกระบวนการแบบซิงโครนัส
- Amazon - การเขียนโปรแกรมด้วยวิธีง่ายๆ (SIMP)
- โมดูล SRR โมดูลเคอร์เนล Linux srripc เวอร์ชัน 1.4.43 13 มกราคม 2010
- SRR -- การส่งข้อความที่เข้ากันได้กับ QNX API สำหรับ Linux เก็บถาวรเมื่อ 2012-11-13 ที่Wayback Machine
- หน้าดาวน์โหลดซอฟต์แวร์ Cogent DataHub (รวมถึงโมดูลเคอร์เนล SRR)
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ ซิมพล์
Synchronous Interprocess Messaging Project for LINUX (SIMPL)เป็น โปรเจกต์ โอเพนซอร์สฟรีที่อนุญาตให้ส่งข้อความแบบซิงโครนัสสไตล์QNXโดยการเพิ่ม ไลบรารี Linuxโดยใช้เทคนิคพื้นที่ผู้ใช้.
กลไก
เธรดไคลเอ็นต์ที่ส่งข้อความจะถูกบล็อก (การทำงานของเธรดกระบวนการถูกระงับชั่วคราว) จนกว่าเธรดเซิร์ฟเวอร์จะส่งการยืนยันการรับข้อความ ประมวลผลข้อความ และตอบกลับ เมื่อเธรดเซิร์ฟเวอร์ตอบกลับ เธรดไคลเอ็นต์จะพร้อมใช้งาน (ไม่ถูกบล็อก)...
ข้อดีของการส่งข้อความแบบซิงโครไนซ์
การส่งข้อความแบบซิงโครไนซ์มีข้อดีดังต่อไปนี้:
ข้อจำกัด
ดูเหมือนว่า SIMPL จะไม่รองรับการทำงานแบบมัลติเธรดอย่างปลอดภัย