System V ve Posix

Aşağıdaki tablo System V IPC ile POSIX IPC arasındaki farkları listelemektedir.

SİSTEM V POSIX
AT & T, mesaj kuyrukları, paylaşılan bellek ve semaforlar olmak üzere üç yeni IPC tesisi biçimi tanıttı (1983). Uygulama programlama arayüzünü (API) tanımlamak için IEEE tarafından belirlenen Taşınabilir İşletim Sistemi Arayüzü standartları. POSIX, IPC'nin üç biçimini de kapsar
SYSTEM V IPC, tüm IPC mekanizmalarını, yani boruları, adlandırılmış kanalları, ileti kuyruklarını, sinyalleri, semaforları ve paylaşılan belleği kapsar. Ayrıca soket ve Unix Domain soketlerini de kapsar. Hemen hemen tüm temel kavramlar Sistem V ile aynıdır. Yalnızca arayüze göre farklılık gösterir.
Paylaşılan Bellek Arayüzü shmget (), shmat (), shmdt (), shmctl () çağrıları Paylaşılan Bellek Arayüzü shm_open (), mmap (), shm_unlink () çağrıları
Mesaj Kuyruğu Arayüzü Çağrıları msgget (), msgsnd (), msgrcv (), msgctl () Mesaj Kuyruğu Arayüzü Çağrıları mq_open (), mq_send (), mq_receive (), mq_unlink ()
Semafor Arayüzü Semget (), semop (), semctl () çağrıları Semafor Arayüzü Çağrıları Semaforlar sem_open (), sem_close (), sem_unlink (), sem_post (), sem_wait (), sem_trywait (), sem_timedwait (), sem_getvalue () Adsız veya Bellek tabanlı semafor sem_init (), sem_post (), sem_wait (), sem_getvalue (), sem_destroy ()
IPC nesnelerini tanımlamak için anahtarlar ve tanımlayıcılar kullanır. IPC nesnelerini tanımlamak için adlar ve dosya tanımlayıcıları kullanır
NA POSIX Mesaj Kuyrukları select (), anket () ve epoll API'leri kullanılarak izlenebilir
Msgctl () çağrısı sunar Özniteliklere erişmek veya bunları ayarlamak için işlevler (mq_getattr () ve mq_setattr ()) sağlar 11. IPC - System V & POSIX
NA Çok iş parçacıklı güvenli. Muteks kilitleri, koşullu değişkenler, okuma-yazma kilitleri gibi iş parçacığı senkronizasyon işlevlerini kapsar.
NA Mesaj kuyrukları için birkaç bildirim özelliği sunar (mq_notify () gibi)
Durum / kontrol işlemlerini gerçekleştirmek için shmctl (), komutlar (ipcs, ipcrm) gibi sistem çağrıları gerektirir. Paylaşılan bellek nesneleri, fstat (), fchmod () gibi sistem çağrıları kullanılarak incelenebilir ve değiştirilebilir.
System V paylaşımlı bellek bölümünün boyutu, oluşturma sırasında sabittir (shmget () aracılığıyla) Altta yatan nesnenin boyutunu ayarlamak için ftruncate () kullanabiliriz ve ardından munmap () ve mmap () (veya Linux'a özgü mremap ()) kullanarak eşlemeyi yeniden oluşturabiliriz.