Sockets

From COMP15212 Wiki
Revision as of 13:32, 4 August 2019 by pc>Yuron
On path: IPC 1: Processes • 2: Interprocess Communication • 3: Shared Memory • 4: Files • 5: Unix Signals • 6: Pipes • 7: Sockets • 8: Synchronisation • 9: Synchronisation Barrier • 10: Atomicity • 11: Mutual exclusion • 12: Signal and Wait
Depends on Interprocess Communication

Sockets (in the software context) are another facilitator of serial interprocess communication. They may be compared to the endpoints of pipes but are rather more sophisticated/abstracted. For example, a form of socket may be used for communication across a network, providing interprocess communication between processes on remote computers. They are probably most commonly associated with network communications and TCP.

A socket is a specific endpoint of a communications and will be identified by a handle in the appropriate process.

In the Unix family of operating systems, sockets can be used connect streams or (more structured) datagrams internally rather than to another computer via an external network.


Also refer to: Operating System Concepts, 10th Edition: Chapter 3.8.1, pages 146-149


Articles on IO
Cacheability • Device Drivers • Direct Memory Access (DMA) • IO • Interprocess Communication • Interrupt Controller • Interrupt Service Routines (ISRs) • Interrupts • Libraries • Peripheral devices • Pipes • Queues • Queues Extra • Resources • Shell • Sockets • Spooling and Buffering • Starvation • Streams • System Calls • Thrashing • Timers • Using Peripherals • Virtualisation • Write Buffer
Articles on User
"Everything is a File" • Application Binary Interface (ABI) • Arrays • Boot • Buffer Overflow • Containers • Daemons • Disk Partition • Dynamic Memory Allocation • Emulator traps • Environment Variables • Errors • Exceptions • File Attributes • File Locking • File Permissions • Introduction to Operating Systems • Journalling File System • Links • Locks • Man(ual pages in Unix) • Memory Mapped Files • Monitoring • Network File System (NFS) • PATH • Pipes • Pointers • Relocatable Code • Reset • SETUID • Shell • Sockets • Spooling and Buffering • Streams • Structures • Superuser • System Calls • Unix Signals • User • Using Peripherals