我们一起学习实模式和保护模式
今天我们就系统的讲下实模式和保护模式。我觉得能很形象的说明保护模式存在的意义。先看下面这段代码。
int main()
{
int* addr = (int*)0;
cli(); //关中断
while(1)
{
*addr = 0;
addr ;
}
return 0;
}
这段代码如果能顺利执行,其实是很可怕的。你会发现他直接的获取到了内存的 0 号位置,并且能顺序的向下遍历,然后还能直接的对内存写入数据,对了,这段代码还把中断关了。想象一下,如果你和几个用户一起用一台服务器,一旦有个用户执行完这段代码后,那么所有人还在内存中的数据将被删的干干净净,并且在删的过程中还没有任何办法去中断这段代码对应的进程。
这段代码的工作方式就是实模式的工作方式。实模式的特点主要在于实模式的寻址方式,实模式的寻找方式进而决定了实模式在寻址范围以及保护性上都不如保护模式好。目前实模式的存在主要是为了兼容之前的系统,在操作系统读入bootsect.s
THE END