diff options
| author | Connor Zanin <cnnrznn@gmail.com> | 2016-12-08 21:41:24 -0500 |
|---|---|---|
| committer | Connor Zanin <cnnrznn@gmail.com> | 2016-12-08 21:41:24 -0500 |
| commit | c3094764dd24479be2e801c796c966a646edc234 (patch) | |
| tree | 53eb9884ffda5ebb46d27b738cdf7088926439b3 /chapter/4/dist-langs.md | |
| parent | 7697198aaf2afb40e668f5c86e9c86598e8bffff (diff) | |
updating the doc
Diffstat (limited to 'chapter/4/dist-langs.md')
| -rw-r--r-- | chapter/4/dist-langs.md | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/chapter/4/dist-langs.md b/chapter/4/dist-langs.md index d4feaec..68f3873 100644 --- a/chapter/4/dist-langs.md +++ b/chapter/4/dist-langs.md @@ -75,14 +75,26 @@ A solution designed to solve one problem may exacerbate another. ## Three major approaches to distributed languages: -### Shared Memory +### Distributed Shared Memory -* Definition +Virtual memory provides a powerful abstraction for processes. +It allows each program running on a machine to believe it is the sole user of the machine, as well as provide each process with more (or less) memory addresses than may be physically present. +The operating system is responsible for mapping virtual memory addresses to physical ones and swapping addresses to and from disk. -* Mirage -* Linda -* Orca -* RPC ( and why RPC is shared-memory ) +Distributed takes the virtual memory abstraction one step further by allowing virtual addresses to be mapped to physical memory regions on remote machines. +Given such an abstraction, programs can communicate simply by reading from and writing to shared memory addresses. +Distributed shared memory is appealing because the programming model is the same for local and distributed systems. +However, it requires an underlying system to function properly. + +#### Mirage + +#### Linda + +#### Orca + + + +#### RPC ( and why RPC is shared-memory ) Tries to make many machines look like a single machine. This is hard because of consistency and partitioning. |
