Parallel Programs
Suppose I want to build a parallel program to execute on a multiprocessor, or a web server to handle multiple simultaneous web requests. I need to:
- create several processes that can execute in parallel
- cause each to map to the same address space (because they’re part of the same computation)
- give each its starting address and initial parameters
- the OS will then schedule these processes, in parallel, on the various processors
Notice that there’s a lot of cost in creating these processes and possibly coordinating them. There’s also a lot of duplication, because they all share the same address space, protection, etc……