x86-2-保护模式
作者:互联网
x86-2-保护模式
操作系统负责计算机上的所有软件和硬件的管理,它可以百分百操作计算机的所有内容。但是,操作系统上编写的用户程序却应当有所限制,只允许用户程序访问属于自己程序的内容,不然整个生态就很恶劣了,想象下你手机上的的微信被恶意软件给修改了,给你的所有好友群发黄色广告,你难受吗。
但是在之前8086CPU的工作模式也就是实模式的工作模式下,程序对软硬件的访问非常自由,没有任何限制,我们随随便便就可以修改内存上的数据,即使这个内存的范围不在我们程序的数据段里。这就和我们前面所想违背了。
在多用户、多任务时代,内存会有多个用户(应用)程序在同时使用。为了使它们彼此隔离,防止因某个程序的编写错误或者崩溃而影响到操作系统和其他用户程序,保护模式就诞生了。
因此,保护模式大概上就是将操作系统和应用程序之间,应用程序与应用程序之间进行隔离和保护的一种CPU工作模式。
保护模式如何进行隔离和保护:
要知道保护模式如何进行隔离和保护,我们首先要明白特权级。
特权级:
在保护模式下,每个程序都有一个特权级。intel的CPU特权级采用了0,1,2,3四种特权级,权限有高到低,也就是0级权限最高,3级最低。一般来说操作系统的特权级为0,用户程序的特权级最低为3。其中Windows只采用了0和3,也就是经常俗称的0环和3环。
特权级为0的程序拥有最高的权限,可以和实模式一样全方位操作计算机。其它特权级就权限依次往下。
除非使用特定的办法,否则不同特权级之间的程序不能随便互相访问。
如何进行隔离和保护:
程序是由段组成的,每个程序包含了许多段,包括操作系统也是由段组成的。
操作系统会登记每个程序的段,包括段的起始地址,长度等等,如果一个程序的特权级低,那么它只能访问自己的段,无法访问其它程序的段。
就通过特权级来进行保护和隔离段,然后程序是由段组成,所以也就顺理成章将程序进行保护和隔离了。
标签:保护模式,隔离,特权,程序,用户程序,操作系统,x86 来源: https://www.cnblogs.com/Sna1lGo/p/15764168.html