程序是如何运行的

说来也是惭愧,写了好多年程序了,也没搞懂程序到底是如何运行的,有时候就疑问:

  1. 对于CPU来说,在不停的一条条执行指令,那它是怎么实现各个程序进程切换的?
  2. 提到进程这又是操作系统里的概念,对于单核CPU来说,它又怎么知道什么时候运行的操作系统,什么时候运行的是应用程序?
  3. 单核CPU运行应用程序时肯定是无法运行操作系统的,那操作系统又是如何将其挂起,切换其他进程执行呢?

本文陆续将整理一些理解感悟。 Continue reading