Skip to main content

การสื่อสารระหว่างประเทศคืออะไร?

Interprocess Communication (IPC) เป็นกลุ่มของเทคนิคที่ใช้ในการเขียนโปรแกรมคอมพิวเตอร์ที่อนุญาตให้มีการโต้ตอบกับซอฟต์แวร์ที่แตกต่างกันIPC มักจะอำนวยความสะดวกโดยระบบปฏิบัติการคอมพิวเตอร์แม้ว่าจะมีวิธีการอื่นรูปแบบที่แน่นอนของการสื่อสารนี้ระหว่างซอฟต์แวร์อาจแตกต่างกันไปตั้งแต่ข้อความโดยตรงไปจนถึงศูนย์รับฝากส่วนกลางที่เก็บข้อมูลและดึงข้อมูลการสื่อสารระหว่างกระบวนการสามารถให้ประโยชน์เช่นประสิทธิภาพที่มากขึ้นทรัพยากรคอมพิวเตอร์ที่ใช้น้อยลงและการรักษาความปลอดภัยที่เพิ่มขึ้น

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

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

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

มีหลายเหตุผลที่โปรแกรมเมอร์อาจต้องการใช้การสื่อสารระหว่างกระบวนการในการสร้างซอฟต์แวร์ของพวกเขาการแยกแอพพลิเคชั่นขนาดใหญ่ออกเป็นกระบวนการขนาดเล็กจำนวนมากที่สื่อสารผ่าน IPC สามารถเพิ่มประสิทธิภาพและความปลอดภัยโปรแกรมสามารถเริ่มต้นและสิ้นสุดกระบวนการตามต้องการแทนที่จะเป็นส่วนประกอบทั้งหมดที่ทำงานในครั้งเดียวและใช้ทรัพยากรฮาร์ดแวร์หากส่วนหนึ่งของโปรแกรมต้องการการเข้าถึงฮาร์ดแวร์ของคอมพิวเตอร์หรือซอฟต์แวร์ที่ใช้งานอื่น ๆ เป็นพิเศษกระบวนการอย่างน้อยหนึ่งกระบวนการสามารถทำงานภายใต้บัญชีผู้ดูแลระบบหรือบัญชี "รูท" ในขณะที่ส่วนที่เหลือของโปรแกรมทำงานเป็นผู้ใช้ทั่วไป