Summary
In this chapter, we explored multi-processing systems and the various techniques that can be used to share a state among a number of processes. The following topics were covered in this chapter:
- We introduced the POSIX APIs used for process execution. We explained how the
fork
API andexec*
functions work. - We explained the steps that a kernel takes to execute a process.
- We discussed the ways that a state can be shared among a number of processes.
- We introduced the pull-based and push-based techniques as the two top-level categories for all other available techniques.
- Shared memory and shared files on a filesystem are among common techniques to share a state in a pull-based manner.
- We explained the differences and similarities of multithreading and multi-processing deployments and the concepts of vertical and horizontal scaling in a distributed software system.
In the next chapter, we are going to talk about concurrency in single-host multi...