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. |