ทำไมหน่วยความจำที่แชร์จึงเร็วกว่า

สารบัญ:

ทำไมหน่วยความจำที่แชร์จึงเร็วกว่า
ทำไมหน่วยความจำที่แชร์จึงเร็วกว่า
Anonim

ทำไมหน่วยความจำที่ใช้ร่วมกันจึงเป็นรูปแบบที่เร็วที่สุดของ IPC เมื่อหน่วยความจำถูกแมปลงในพื้นที่ที่อยู่ของกระบวนการที่แบ่งปันพื้นที่หน่วยความจำ กระบวนการจะไม่เรียกใช้ระบบใด ๆ ที่เรียกไปยังเคอร์เนลในการส่งข้อมูล ระหว่างกระบวนการ ซึ่งอาจจะจำเป็น.

ทำไมหน่วยความจำที่แชร์จึงเร็วกว่าคิวข้อความ

เคอร์เนลช่วยให้เราอ่านข้อความทั้งหมดหรืออ่านอะไรไม่ได้สำหรับคิวข้อความ แต่หน่วยความจำที่ใช้ร่วมกันต้องการส่วนหนึ่งของเซ็กเมนต์ที่ใช้ร่วมกันระหว่าง 2 กระบวนการ ทั้งสองสามารถทำเทคนิคการซิงโครไนซ์และแบ่งปันข้อมูลระหว่างกระบวนการ เนื่องจากไม่จำเป็นต้องคัดลอกข้อมูลเพื่อแชร์ไปยังกระบวนการอื่น หน่วยความจำที่แชร์จึงเร็วขึ้น

ไปป์หรือหน่วยความจำที่แชร์เร็วกว่ากัน

Once Shared Memory ถูกตั้งค่าโดยเคอร์เนล ไม่จำเป็นต้องใช้เคอร์เนลอีกต่อไปสำหรับกระบวนการสื่อสาร b/w ในขณะที่ในไพพ์ ข้อมูลจะถูกบัฟเฟอร์ในพื้นที่เคอร์เนลและต้องการ ระบบเรียกสำหรับการเข้าถึงแต่ละครั้ง ที่นี่หน่วยความจำที่ใช้ร่วมกันนั้นเร็วกว่าท่อ

หน่วยความจำที่ใช้ร่วมกันมีข้อดีอย่างไร

ข้อดีของรูปแบบหน่วยความจำที่ใช้ร่วมกันคือ การสื่อสารในหน่วยความจำนั้นเร็วกว่าเมื่อเปรียบเทียบกับรูปแบบการส่งข้อความในเครื่องเดียวกัน อย่างไรก็ตาม โมเดลหน่วยความจำที่ใช้ร่วมกันอาจสร้างปัญหา เช่น การซิงโครไนซ์และการป้องกันหน่วยความจำที่จำเป็นต้องได้รับการแก้ไข

วิธี IPC ใดมีประสิทธิภาพมากกว่ากัน

วิธีแก้ไข: เนมไปป์ จะเป็นวิธีที่เร็วที่สุด แต่จะใช้ได้กับการสื่อสารระหว่างกระบวนการบนคอมพิวเตอร์เครื่องเดียวกันเท่านั้น การสื่อสารของไปป์ที่มีชื่อไม่ได้ไปถึงจุดสิ้นสุดของเครือข่ายสแต็ก (เพราะใช้งานได้สำหรับการสื่อสารบนคอมพิวเตอร์เครื่องเดียวกันเท่านั้น) ดังนั้นมันจะเร็วขึ้นเสมอ