目态与管态操作系统
多数计算机系统将CPU执行状态分为目态(用户态)与管态(内核态),CPU的状态属于程序状态字PSW的一位,CPU交替执行操做系统程序和用户程序。设计
1. CPU设计中的目态、管态指针
目态指非特权状态,代码的执行被硬件限定,如不能读写其余进程的私有存储空间(程序的用户空间)以及操做系统的内核空间。blog
管态又叫特权态、系统态或内核态。CPU在管态下能够执行指令系统的全集,操做系统在管态下运行。进程
x86结构拥有四种级别,级别最高的是ring 0,也就是核心态。级别最低的是ring 3,也就是用户态。ring 1和ring 2设计成供驱动程式使用,但通常不多使用。内存
2. 操做系统设计中的目态、管态it
内核禁止在目态下的应用程序写入系统配置文件、杀掉其余用户的进程、重启系统等。 操做系统中的用户态与用户权限等级不是一个概念,普通用户、管理员(root)或者超级用户(superuser)开启的程序均可能运行在用户态和内核态。操做系统中的用户态代码运行在CPU的用户态,实现了从硬件上对非法程序的隔离禁止控制。与CPU设计中的用户态相比,操做系统对用户态有更加复杂的权限设定,好比在Unix系统中,运行在用户态的代码,不能侦听1024如下的端口号,以假装成常见的服务,而超级用户运行的代码则有权这样作。程序在目态下执行特权指令,硬件将发生中断,由操做系统得到控制,特权指令被禁止执行,这样能够防止用户程序有意或无心的破坏系统。 内存管理
用户空间与内核空间class
操做系统采用虚拟内存管理方式,将内部存储器映射为高地址段内核空间和低地址段用户空间两个部分。程序,在内核空间中运行称为内核态,在用户空间中运行称为用户态。配置