前面写了很多的文章来说明了这个问题,并且在文章中均举了一些例子,如果为了解决具体问题,那么那些就已经足够了,但是如果想实现一个操作系统,这些就远远不够了。
硬件是软件的底层,这是一个前提,硬件是舞台,软件都是舞者,操作系统是应用程序的底层,操作系统是舞台,应用程序是舞者,并且,硬件是操作的系统的舞台,这里操作系统成了舞者,这就是计算机的层次(对于有操作系统的计算机而言,不包括裸机)。在操作系统理论中,往往将进程的地址空间分为内核空间和用户空间,这样的话就实现了操作系统最起码的安全性。但是存在一个疑问,内核空间的保护不是cpu硬件提供的吗?比如Intel的x86处理器的特权环的概念,怎么会是OS的概念呢?注意,cpu只是提供了一个机制而已,比如特权环的机制使得内核地址空间的保护变得更加容易和可靠,就像Intel的x86处理器那样,你完全可以不用那一套,自己实现一套内核和用户分离的机制,正如很多虚拟机所做的那样。