3. IPC FACILITY
X Y
Port ID Port ID
flow
Flow allocation: reserves resources in the IPC facility and assigns port IDâs ~ fdâs
Applications X and Y are known (instantiated by kernel)
Part of OS
<port_id> alloc (pid, âŠ);
dealloc (port_id);
Implementation dependent
Message passing
shared memory
4. IPC FACILITY
X Y
Port ID Port ID
flow
Flow allocation: reserves resources in the IPC facility and assigns port IDâs ~ fdâs
Applications X and Y are known (instantiated by kernel)
Part of OS
<port_id> alloc (pid, âŠ);
<port_id> accept (âŠ);
dealloc (port_id);
read/write (port_id, sdu *, len);
Implementation dependent
Message passing
shared memory
APPLICATION FACILITY
Connection (application protocol)
5. X Y
Applications X and Y -> need to register a name that is unique over both systems!
6. X Y
IPC process: provides IPC service.
Not only locally, but over 2 systems
Requires an IPC process component that
manages the medium (MAC)
Applications X and Y -> need to register a name that is unique over both systems!
IPC Process
IRM IRM
IPC Resource Manager
basically creates/destroys IPC processes.
Ideally: part of the OS
7. DISTRIBUTED IPC FACILITY
X Y
Port ID Port ID
flow IPC Process
Locating an application
if itâs not here, itâs over there⊠or doesnât
exist.
Applications X and Y -> need to register a name that is unique over both systems!
reg(pid, name);
unreg(pid);
alloc (name, âŠ);
dealloc (port_id);
IRMIRM
8. DISTRIBUTED APPLICATION FACILITY
DISTRIBUTED IPC FACILITY
X Y
Port ID Port ID
flow IPC Process
Locating an application
if itâs not here, itâs over there⊠or doesnât
exist.
Applications X and Y -> need to register a name that is unique over both systems!
reg(pid, name);
unreg(pid);
alloc (name, âŠ);
dealloc (port_id);
IRM IRM
10. X Y
C2 C1
A1 A2 B1 B2
E1 E2
Normal IPC Process
(IPCP)
D1
11. X Y
C2 C1
A1 A2 B1 B2
E1 E2
Provides IPC to higher layers (DIFs/DAFs)
Uses IPC from lower layers (DIFs)
Normal IPC Process
(IPCP)
D1
12. X Y
A1 A2 B1 B2
C2 C1 E1 E2D1
IPCP D1 registers in 2 DIFs (A, B)
D1/A2 D1/B1
13. X Y
A1 A2 B1 B2
C2 C1 E1 E2D1D2
D1/A2
D2/A1
D1/B1
Create IPCP D2, can register in DIF A (optional)
14. X Y
A1 A2 B1 B2
C2 C1 E1 E2D1D2
IPCP D2 allocates a flow with D1
D2 can now send messages to D1
D1/A2
D2/A1
D1/B1
15. X Y
A1 A2 B1 B2
C2 C1 E1 E2D1D2
A new operation: enrollment: âjoining a DIFâ
authentication
exchanging some basic information
configuration parameters
addresses
current equivalent: joining a wifi network
D1D2
D1/A2
D2/A1
D1/B1
16. X Y
A1 A2 B1 B2
C2 C1 E1 E2
D3 performs the same procedures. DIF âDâ now has 3 members
D1 D3D2
D1/A2
D2/A1
D1/B1
17. X Y
A1 A2 B1 B2
C2 C1 E1 E2
F1 F2F3 F4
D1 D3D2