IPC Data Copying methods: Difference between revisions

no edit summary
[unchecked revision][unchecked revision]
m (moved User:Gravaera/IPC Data Copying methods to IPC Data Copying methods: Moving into public namespace.)
No edit summary
 
(One intermediate revision by one other user not shown)
Line 1:
=Prologue=
IPC ([https://en.wikipedia.org/wiki/Inter-process_communication Inter Process Communication]) is a well known kernel-provided abstraction, which is core to almost any type of kernel design; whether multi-address space, single-address space, microkernel, monolithic kernel, or otherwise, a kernel will generally have to provide IPC data transfer mechanisms as long as it supports multiple processes.
 
Since various higher IPC abstractions exist, and many APIs and frameworks have been introduced into the body of known "IPC mechanisms" throughout history it is generally not difficult to obtain information on IPC APIs in use contemporarily. However, the distinction between an IPC framework, and the underlying copying and data transfer method may not be well understood even by someone who has read on the topic of IPC. This article seeks to go one layer below IPC, and examine the four general strategies which will be available to a kernel for the transfer of data across process boundaries.
Line 63:
 
Naturally, while this article postulates that for example, the map-and-copy and map-and-read techniques disallow the sender to modify the data buffer while it is "in transit", it is not inconceivable that one or more kernel designs may prefer to '''allow''' such behaviour, and see such behaviour as desirable.
 
[[Category:IPC]]
Anonymous user