IPC (InterProcess Communication) mekanizmalarının çoğunda, sorunuzun genel cevabı şöyledir: A işleminde, işlemin B işlemine aktarılacak verilerle arabelleğe işaretçiyi ileten çekirdek çağrılır, işlem B çekirdeği çağırır (ya da daha önce bir tampon için bir işaretçi geçen) çekirdeğe bir çağrı bloke edilir a yöntemine veri ile doldurulacak
Bu genel tarif, sockets, pipes, System V message queues sıradan dosyaları vb Görüldüğü gibi için de geçerlidir iletişim maliyeti en az bir bağlam anahtarını içerdiğinden yüksektir. Bir işlemin ikinci işlem tarafından kaydedilen bir işleyiciyi tetikleyen başka bir işleme basit bir bildirim gönderebildiği asenkronize bir IPC mekanizması meydana getirir (sinyale bağlı olarak hiçbir işleyici kaydedilmezse, bu işlemi durduran veya öldüren hiçbir şey yapmaz.)). Büyük miktarda veri aktarımı için System V shared memory numaralı telefonu kullanabilirsiniz, bu durumda iki işlem ana belleğin aynı bölümüne erişebilir. Bu durumda bile, bağlam anahtarlarına da neden olan, System V semaphores gibi bir senkronizasyon mekanizmasının kullanılması gerektiğine dikkat edin.
Bu yüzden, süreçlerin sıklıkla iletişim kurması gerektiğinde, iş parçacıklarını tek bir işlem içinde yapmak daha iyidir.
Aradığın şey "IPC": https://en.wikipedia.org/wiki/Inter-process_communication –
Örneğin bir dosya açmak istediğinizde, örneğin bir OS API kullanarak, paylaşılan bir OS'nin bilgiyi alıp dosyaya yazdığı bellek alanı nedir? Haklı mıyım yoksa tamamen yanlış mıyım? Tekrar teşekkürler. –
Bir dosyayı açtığınızda, OS bu dosyayı (ve arama ve kısaltma gibi birkaç şeyi) okuma ve yazma yeteneği sağlar. İki süreç aynı dosyayı açtığı zaman ve bunun aslında nasıl çalıştığını tam olarak ne anlama geldiği, çekirdeğin uygulama ayrıntılarına bağlıdır ve kullanıcı işlemlerine maruz kalmaz. –