架構師之路008 操作系統內核與編程接口

  1. 操作系統和我們寫的程序運行於兩個進程中 2.我們寫的程序無法直接訪問操作系統所在的內存 3.連接操作系統進程和用戶進程的橋樑是中斷地址 。 可以設想在還沒有出現操作系統的上古時代,有兩個普通的程序A和B在cpu上跑着,那麼程序A和程序B如何交互呢?一種簡單的辦法就是程序A直接跳到程序B的函數地址上,cpu去執行該函數。但是呢,如果程序A訪問不了程序B的地址咋辦呢?可以在他們之間創建一個橋樑,這個橋樑就是中斷地址,程序A可以通過中斷地址間接的把cou執行權限交給B。這樣程序B就可以執行了。 從cpu的角度看程序A和程序B都是普通的程序,但是呢,程序B是個功能豐富的程序,它可以做很多事,比如管理內存,管理外圍設備。話說,程序A也可以做管理設備的工作啊,程序C也可以做管理設備的工作,,,後來一發現,程序A,B,C…都做了和外圍設備交互的工作,我擦大家都做了相同的工作啊,那要不都交給程序B來做吧,我們A和C希望和外圍設備交互的時候,就通過中斷做爲橋樑,把執行權交給B,然後就達到間接的外圍設備交互,,,於是乎B越來越壯大!不僅有外圍IO管理的能力,還有了內存管理,進程環境,,,等等。於是乎操作系統產生了,
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章