電腦怎么能強制中斷正在運行的程序?
OS是分成很小的時間片進行任務調度。每個時間片只能執行一個進程的代碼。但由于時間片切換得很快,在宏觀感覺就是同時在執行的。
那么程序中有死循環是怎么解決這個問題的?利用CPU中斷,定時器中斷,就可以暫時中斷正在執行的代碼。去執行中斷例程,做其他的事情。聽大神說以前的DOS就是用這種方式實現多線程的。而現代操作系統有自己的一套進程管理方式,進行任務調度。
還有要提一下。不是所有的操作都是完全交給CPU,還有一些外設是可以自己獨立處理一些數據的。聲卡播放聲音,只要把聲音數據提交給聲卡,再用基本指令操作,讓他播放,暫停,停止。這是可以異步的。CPU完全可以干自己的事情。