天天看點

作業系統核心空間和使用者空間的互通路

前面寫了很多的文章來說明了這個問題,并且在文章中均舉了一些例子,如果為了解決具體問題,那麼那些就已經足夠了,但是如果想實作一個作業系統,這些就遠遠不夠了。

硬體是軟體的底層,這是一個前提,硬體是舞台,軟體都是舞者,作業系統是應用程式的底層,作業系統是舞台,應用程式是舞者,并且,硬體是操作的系統的舞台,這裡作業系統成了舞者,這就是計算機的層次(對于有作業系統的計算機而言,不包括裸機)。在作業系統理論中,往往将程序的位址空間分為核心空間和使用者空間,這樣的話就實作了作業系統最起碼的安全性。但是存在一個疑問,核心空間的保護不是cpu硬體提供的嗎?比如Intel的x86處理器的特權環的概念,怎麼會是OS的概念呢?注意,cpu隻是提供了一個機制而已,比如特權環的機制使得核心位址空間的保護變得更加容易和可靠,就像Intel的x86處理器那樣,你完全可以不用那一套,自己實作一套核心和使用者分離的機制,正如很多虛拟機所做的那樣。

繼續閱讀