Process Communication: Signals, Pipes, Sockets, Files

Shared Memory Between Processes

Kernel Level Threads: Sharing the same address space, with different execution state

User Level Threads: Scheduled by a user process, invisible to OS