成都网站建站,企业网站建设的方法,自己网上怎么接单,软件人才外包特权级别
RISC-V共有6个特权级别#xff1a;
机器模式#xff08;M模式#xff09;
M模式全称为Machine mode#xff08;机器模式#xff09;运行在这个模式下的程序为最高权限#xff0c;它属于RISC-V里的最高权限模式#xff0c;它具有访问所有资源的权限#xff…特权级别
RISC-V共有6个特权级别
机器模式M模式
M模式全称为Machine mode机器模式运行在这个模式下的程序为最高权限它属于RISC-V里的最高权限模式它具有访问所有资源的权限它的代码是百分百可信的通常运行在这个模式下的为固件和操作系统内核。
监管者模式S模式
S模式全称“Supervisor mode”监管者模式
监管者模式通常是用来运行操作系统内核它的权限要比M模式低它无法直接操作特殊寄存器和某些资源但内核通常会运行在S和M两个模式之间在最初系统启动阶段内核是运行在M模式下的在这个模式下内核需要初始化所有的硬件资源和进行内存管理等等当初始化完成之后会切换到S模式下通常内核里有一段代码是运行在M模式下和S模式下M模式下的代码为S模式下的代码提供访问硬件资源的能力。而S模式下的内核主要是为应用程序提供系统调用以及上下文切换。
虽然说S模式下可以访问部分硬件但是硬件资源受限这样会导致内核受到限制比如MIEMachine Interrupt Enable寄存器这个寄存器负责设置一些安全性较高的中断所以内核里分两部分并运行在不同的模式下。 为什么内核不能全部运行在M模式下 因为指令集的不同在不同的模式下所对应的指令集不同在RISC-V里不同的模式下指令集是不同的不能互相调用M模式下的指令集较少编写难度较大所以内核分两部分运行在M模式下的代码为内核提供访问硬件资源的能力而S模式下的代码则更加灵活负责上下文调度进程切换、系统服务调用、驱动管理。 除此之外也是为了防止用户态直接切换到M模式下这样直接切换到最高级别可能存在一定安全隐患被黑客利用。 用户模式U模式
U模式全称为“User Model”用户模式为级别最低的模式它不能访问硬件资源只能访问某些通用寄存器和通用指令一般用于执行应用程序。
HS模式
HS模式全称“Hypervisor mode”虚拟监管者模式在这个模式下具有和S模式一样的权限可以访问所有资源在这个模式下VMM可以不通过宿主机的操作系统内核直接访问硬件资源为虚拟操作系统提供服务。
当然S模式下也可以实现虚拟机的功能但需要特定的驱动与宿主机操作系统的支持。
VS模式
VS模式全称“Virtual Symmetric Multiprocessing mode”虚拟对称多处理模式在这个模式下为VMM提供多个虚拟处理器的功能VMM可以利用这个让每个虚拟处理器具有S模式的权限。
VU模式
VU模式全称“Virtual User mode”虚拟用户模式在这个模式下为不同虚拟操作系统的虚拟用户态应用程序提供虚拟内存支持、特权操作支持、操作系统隔离和虚拟化支持等功能从而满足不同的应用需求。 Tips 在虚拟化中VMM会处于不同的虚拟特权模式下简单点来说就是VMM在执行虚拟化操作系统时会将宿主机的CPU切换置不同的虚拟特权模式下比如执行虚拟操作系统的部分CPU特权会切换置HS而虚拟处理器功能则为VS模式执行虚拟应用程序时为VU模式。 特权模式的应用场景
一般这些特权模式应用场景如下 特权 使用场景 M模式嵌入式系统 M模式U模式具有安全特性的嵌入式系统 M模式S模式U模式通用操作系统 M模式U模式HS模式VS模式VU模式虚拟化操作系统