> For the complete documentation index, see [llms.txt](https://docs.aic-eec.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.aic-eec.com/computer-operation-systems/linux-os-dev.-engineer/ipc/msg.-queue-programming.md).

# Msg. Queue Programming

<figure><img src="https://1856353139-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MClo3nC-1US0rbK8Qau%2Fuploads%2FR7YSfPciCTVU4lolTv4r%2FIPC%20overview.png?alt=media&amp;token=c06a50ff-e3c2-4d83-9f7f-3b4f4a469e3d" alt=""><figcaption><p>ประเภทการกลไกสื่อสาร IPC</p></figcaption></figure>

ระบบ System V และ POSIX IPC เป็นมาตราฐานที่แตกต่างกัน แต่ก็มีหลายส่วนที่มีการทำงานที่เหมือนกัน ซึ่งระบบ Unix System V ซึ่งจะเรียกสั้นๆกันว่า SysV แต่จะนิยมอ่านออกเสียงกันว่า “System Five” เป็นหนึ่งในรุ่นเชิงพาณิชย์รุ่นหนึ่งของระบบปฏิบัติการ UNIX ที่แรกเริ่มถูกพัฒนาโดย AT\&T (American Telephone & Telegraph) และได้ถูกปล่อยออกมาในปี ค.ศ. 1983

สำหรับระบบ POSIX (Portable Operating System Interface) เป็นกลุ่มของมาตรฐานการติดต่อระหว่างกันของโปรแกรมภายในระบบปฏิบัติการ UNIX ที่เรียกกันว่า Application Programming Interface (API) และอยู่ในตระกูลของมาตราฐานที่เกี่ยวข้องโดย IEEE ซึ่งระบบปฏิบัติการ GNU/Linux ก็เป็นรองรับส่วนหนึ่งของมาตราฐาน POSIX นอกจากนั้นผู้ผลิตระบบปฏิบัติการส่วนใหญ่จะเริ่มเน้นรองรับ POSIX มากขึ้นเรื่อยๆ เนื่องจากเป็นตัวที่ออกหลังจาก System V จึงได้ปรับปรุงแก้ไขจุดด้อยต่างๆของ System V จนทำให้มีการใช้งานที่มีประสิทธิภาพมากขึ้น

ทั้งสองมาตราฐานมีชุดเครื่องมือพื้นฐานที่เหมือนกันได้แก่ semaphores, shared memory และ message queues แม้จะมีรูปแบบการติดต่อที่แตกต่างกันอยู่บ้างเล็กน้อย เช่นใน POSIX จะมีฟังก์ชันพิเศษเพิ่มเติมขึ้นมาให้เพื่อช่วยในการแจ้งเตือนข้อความภายใน message queue (`mq_notify()`) เป็นต้น แต่แนวคิดการทำงานพื้นฐานจะเหมือนกัน
