It's a false dichotomy, I think - they're not the only models around. Cf Erlang's process model - no shared memory, and far less resources per process than either OS processes or threads.
Yes, I'm kind of confused about what the original poster is actually talking about. Erlang has a pretty good model, but it's enforced at the language level, not the OS level - strictly speaking, its processes do "share memory" in the sense that they all run in the same OS process. Of course, the implementation more or less prevents them from stomping on one another, so it ends up working quite well.
Comments
It's a false dichotomy, I think - they're not the only models around. Cf Erlang's process model - no shared memory, and far less resources per process than either OS processes or threads.
Yes, I'm kind of confused about what the original poster is actually talking about. Erlang has a pretty good model, but it's enforced at the language level, not the OS level - strictly speaking, its processes do "share memory" in the sense that they all run in the same OS process. Of course, the implementation more or less prevents them from stomping on one another, so it ends up working quite well.