首页 > 其他分享 >保护模式:段机制

保护模式:段机制

时间:2024-03-12 15:56:23浏览次数:22  
标签:表示 保护模式 代码段 堆栈 描述符 内存 该段 机制

 一、段机制

  内存是计算机系统的关键资源,程序必须被加载到内存中才可以被CPU所执行。程序运行过程中,也要使用内存来记录数据和动态的信息。在一个多任务的系统中,每个任务都需要使用内存资源,因此系统需要有一套机制来隔离不同任务所使用的内存,要使这种隔离即安全又高效,那么硬件一级的支持是必须的。IA-32 CPU提供了多种内存管理机制,这些机制为操作系统实现内存管理功能提供了硬件基础。

  CPU的段基址提供了一种手段可以将系统的内存空间划分为一个个较小的受保护区域,其中每个区域称为一个段(Segment)。每个段都有自己的其实地址(基地址)、边界(Limit)和访问权限等属性。实现段机制的一个重要数据结构就是段描述符(Segment descriptor)。

二、段描述符

  在保护模式下每个内存都有一个段描述符,这是其他代码访问该段的基本条件。每个段描述符是一个8字节长的数据结构,用来描述一个段的位置、大小、访问权限和状态信息。

S(System:系统)位:S=0代表该描述符是一个系统段,S=1代表该描述符是代码段、数据段或堆栈段

P(Present:存在)位:P=1表示该段已经在内存中,P=0表示该段不在内存中。

DPL(Descriptor Privilege Level)描述符特权级)位:这两位定义了该段的特权级别(0~3)

D/B(Default/Big)位:对于代码段,该位表示这个代码段的默认位数,D=0表示16位代码段,D=1表示32位代码段。对于堆栈数据段,该为称为B标志,B=1表示使用32位的堆栈指针(保存ESP中),B=0表示使用16位堆栈指针(保存在SP中)

Type(段类型)位:A:表示该段是否被访问过(Accessed),A=1表示被访问过。E(Expand)向上向下拓展,W(Write)位,W=0表示该段只可以读,W=1表示可以读写。C位:一致位,

AVL位:供系统软件(操作系统)使用

三、描述符表

标签:表示,保护模式,代码段,堆栈,描述符,内存,该段,机制
From: https://www.cnblogs.com/zhongyongzixue/p/18068495

相关文章

  • 权限概念、权限提升概念以及权限提升的分类和目的 Windows 提权的基础原理是了解操作
    关于权限概念、权限提升概念以及权限提升的分类和目的,以下是一些基本信息供您参考:权限概念:权限是指系统或应用程序授予用户或进程执行某些操作或访问资源的能力。权限通常按照用户的身份、角色或组织结构来管理,以确保系统安全和数据保护。权限提升概念:权限提升是指用......
  • 图数据库基准测试 LDBC SNB 系列讲解:Schema 和数据生成的机制
    LDBC(LinkedDataBenchmarkCouncil)SocialNetworkBenchmark,简称LDBCSNB,是一种针对社交网络场景的评估图数据库性能的基准测试。LDBC简介除了SocialNetworkBenchmark,LDBC旗下目前还有其他几种基准测试:GraphalyticsBenchmark,FinancialBenchmark和SemanticPublishB......
  • cglib FastClass机制
    前言关于动态代理的一些知识,以及cglib与jdk动态代理的区别,在这一篇已经介绍过,不熟悉的可以先看下。本篇我们来学习一下cglib的FastClass机制,这是cglib与jdk动态代理的一个主要区别,也是一个面试考点。我们知道jdk动态代理是使用InvocationHandler接口,在invoke方法内,可以使用Meth......
  • 保护模式
    一、理解保护模式  大多数现代操作系统(包括Windows9X/NT/XP和Linux等)都是多任务的,CPU的保护模式是操作系统实现多任务的基础。了解保护模式的底层原理对学习操作系统有着事半功倍的作用。  保护模式是为了实现多任务而设计的,其名称中的“保护”就是保护任务环境中各个人物......
  • 简述Kubernetes准入机制
    在对集群进行请求时,每个准入控制代码都按照一定顺序执行。如果有一个准入控制拒绝了此次请求,那么整个请求的结果将会立即返回,并提示用户相应的error信息,准入控制(AdmissionControl)准入控制本质上为一段准入代码,在对kubernetesapi的请求过程中,顺序为:先经过认证&授权,然后执行准入......
  • QT信号与槽机制与事件机制的区别
    QT信号与槽机制与事件机制的区别第一:什么是信号与槽?事件?所谓信号槽,实际就是观察者模式。当某个事件发生之后,比如,按钮检测到自己被点击了一下,它就会发出一个信号(signal)。这种发出是没有目的的,类似广播。如果有对象对这个信号感兴趣,它就会使用连接(connect)函数,意思是,用自己的一......
  • Java入门(向世界呐喊、Java运行机制、IDEA)
    Java入门1.HelloWorld!(向世界呐喊)新建文件夹用于存放代码(Code)->新建Java文件(Hello.java)->使用Notepad++进行编辑->在当前路径打开CMDpublicclassHello{ publicstaticvoidmain(String[]args){ System.out.print("HelloWorld!"); }}注意:系统可能没有显示文件......
  • Pod实现机制与设计模式
    每个Pod都有一个特殊的被称为"根容器"的Pause容器(Pause容器,又叫Infrastructure容器)。Pause容器对应的镜像属于Kubernetes平台的一部分,除了Pause容器,每个Pod还包含一个或者多个紧密相关的用户业务容器。 众所周知,容器之间是通过Namespace隔离的,Pod要想解决上述应用场景,那么......
  • 【深度解析】'go build'缓存机制:揭秘Windows下缓慢的原因
    引言本文主要围绕gobuild的缓存hash计算与获取缓存文件来编写。  笔者是Windows系统用户,在gobuild或golist-export一些需要编译(但已存在编译缓存)场景下执行的很慢。网上有很多说法大多都是说关闭杀毒软件、关闭磁盘扫描等,并未清楚的描述为什么。  接下来我将围绕g......
  • spring-event-事件监听机制实现
    1.事件监听机制概述1.场景模型版本更新了,新版本需要继承老版本的构件分享、自定义属性、着色数据,以后还可能有其他数据要继承,这些数据之间没有直接联系,就是当模型版本变更的时候,他们各自需要执行。2.涉及的三个对象事件源(提供事件处理时的元数据)这里就是模型版本更新了......