In this chapter, we'll work through the preliminaries of the book, making sure to cover the basics necessary to frame the remainder of the book. This book is about parallel programming in the Rust programing language. It's essential, then, to understand modern computing hardware at a high level. We'll need a sense of how a modern CPU operates, how memory buses influence the CPU's ability to perform work and what it means for a computer to be able to do multiple things at once. In addition, we'll discuss validating your Rust installation, and cover generating executables for the two CPU architectures that this book will be concerned with.
By the close of this chapter, we will have:
- Discussed a high-level model of CPU operations
- Discussed a high-level model of computer memory
- Had a preliminary discussion of the Rust memory model
- Investigated generating runnable Rust programs for x86 and ARM
- Investigated debugging these programs