Mastering C++ Multithreading
上QQ阅读APP看书,第一时间看更新

Multithreading Implementation on the Processor and OS

The foundation of any multithreaded application is formed by the implementation of the required features by the hardware of the processor, as well as by the way these features are translated into an API for use by applications by the operating system. An understanding of this foundation is crucial for developing an intuitive understanding of how to best implement a multithreaded application.

This chapter looks at how hardware and operating systems have evolved over the years to arrive at the current implementations and APIs as they are in use today. It shows how the example code of the previous chapter ultimately translates into commands to the processor and related hardware.

Topics covered in this chapter include the following:

  • The evolution of processor hardware in order to support multithreading concepts
  • How operating systems changed to use these hardware features
  • Concepts behind memory safety and memory models in various architectures
  • Differences between various process and threading models by OSes