cpu的數學模型是圖靈機,圖靈機是一個線性運行指令的機器,它的執行序列是完全確定的,中斷機制是使得cpu具有異步處理能力的機制,就是先暫停他的序列 來執行一些其他指令。具體來說就是,從硬件實現上,其他硬件可以給cpu發電信號,cpu收到這個信號就暫停當前的指令,去執行中斷函數。cpu上不是有許多針嗎,其中一個就是用來收中斷信號的。再具體來說,內核啟動的時候會配置一個中斷向量表,一個硬件關聯一個整數,也就是數組下標,比如,鍵盤關聯5,鍵盤給cpu發中斷,cpu就會收到5號中斷,就會去執行函數指針數組中的第五個函數。
在單cpu單核時代,為什么能實現多線程在微觀上切換,宏觀上並行呢,cpu是一條單行線,我的進程正在執行,它是怎么切換到其他進程執行的呢?這是因為主板或者cpu內部有一個硬件叫timer定時器,關聯32號中斷,它每秒發送一百次中斷,cpu就去執行32號中斷函數,然后選擇一個進程去執行。