1. Distributed shared memory (DSM) makes the main memories of a cluster of computers appear as a single memory space with a single address space, allowing the use of shared memory programming techniques.
2. DSM systems hide message passing from the programmer but still require messages to transfer data between processors. Software DSM systems implement this by modifying the operating system kernel or adding a software layer between the OS and applications.
3. Consistency models for shared data access in DSM systems include strict consistency, where writes are immediately visible, and relaxed models like release consistency used by many DSM systems through acquire and release synchronization operations.