Chapter 9. Advanced Topics
This final chapter is a bit of a mixed bag. We cover a range of topics, from virtual machines to security to new ways to use Linux. What the topics in this chapter have in common is that most of them are relevant for you only if you have a specific use case in mind, or if you require them in a professional setup.
We start off the chapter with how processes on a single machine can communicate and share data. There is a wealth of interprocess communication (IPC) mechanisms available, and here we focus on well-established and -used features: signals, named pipes, and Unix domain sockets.
Then, we look at virtual machines (VMs). In contrast to the containers we discussed in “Containers” (which are good for application-level dependency management), VMs provide strong isolation for your workloads. You come across VMs most often in the context of the public cloud and in the general case in data centers. Having said that, using VMs locally can also be useful, such as for testing or to simulate distributed systems.
The next section in this chapter focuses on modern Linux distributions, which are usually container-centric and assume immutability. You’ll often find said distros in the context of distributed systems such as Kubernetes.
We then move on to selected security topics, covering Kerberos, a widely used authentication suite, and pluggable authentication modules (PAM), an extension mechanism Linux provides for authentication.
In the last part of this chapter, ...