保护模式软件体系结构
微机保护软件构成ppt课件

B、系统程序和中断服务程序的关系
在微型机开中断后,每间隔一个Ts,定时器就会发出一个采 样脉冲,随即产生中断请求。于是微型机先暂停一下系统程 序,转而执行一次中断服务程序,以保证对输入模拟量的实 时采集。
主程序中的M-N段程序
A M
B
C
D
X
(a)
Y N
采样信号
Ts
Ts
IRQ
AB段流程
IRQ
BC段流程
发跳闸 N
N
发跳闸 12
)
Y 改定值
Y 发送报告
N
TN2 = 0
定时中断开始
控制数据采集系统, 存储采样值
时钟
计算: Ia、 Ic和( Ia Ic ) 求: Im=Max{Ia,Ic},
Im3=Max{Ia,Ic, Ia Ic }
N
Im ≥ IⅠ?
Y 发跳闸命令,报告Ⅰ段动作
N
Im ≥ IⅡ ?
保护软件配置有主程序和中断服务程序。主程序包括三个基 本模块:初始化和自检循环模块、保护逻辑判断模块和跳闸处 理模块。
2
2、微机保护的流程图
程序流程图是人们对解决问题的方法、思路或算法 的一种描述。微机保护的流程图能够比较直观、形 象、清楚地反映保护的工作过程和逻辑关系。
流程图的优点: (1)采用简单规范的 符号,画法简单; (2)结构清晰,逻辑 性强; (3)便于描述,容易 理解。
定时中断结束
(b)
.
8
A、系统程序的流程(主程序流程)
1)初始化 ①对硬件电路所设计的可编程并行接口进行初始化 ② 是读取所有开关量输入的状态,并将其保存在规定的RAM 或FLASH地址单元内,以备以后在自检循环时,不断监视开 关量输入是否有变化 ③ 对装置的软硬件进行一次全面的自检 ④ 在经过全面自检后,应将所有标志字清零 ⑤ 进行数据采集系统的初始化 2)系统程序的其它程序 ① 开放中断 ② 自检循环,包括软硬件自动检测、人机对话、定值显示和 修改、报文发送。
软件体系结构概述

软件体系结构概述软件体系结构是指软件系统的组织方式和结构框架,包括系统的组件、模块、连接方式以及它们之间的关系。
软件体系结构定义了系统的主要构成和交互方式,以及系统的整体特性和行为。
软件体系结构的设计和选择对于系统的可维护性、可扩展性、可靠性和性能等方面都有重要影响。
软件体系结构可以理解为一个软件系统的蓝图或者设计模板,它指导和限制了系统在开发和维护过程中的各个方面,并对系统的演化和重用性提供支持。
常见的软件体系结构包括客户端-服务器体系结构、分层体系结构、面向对象体系结构、面向服务体系结构等。
客户端-服务器体系结构是最常见的软件体系结构之一,它将软件系统划分为客户端和服务器两部分。
客户端负责用户界面和用户交互,服务器负责处理业务逻辑和数据存储。
这种体系结构可以提高系统的可伸缩性和可靠性,同时也增加了系统的复杂性和通信开销。
分层体系结构将软件系统划分为多个层次,每个层次具有特定的功能。
常见的层次包括表示层、业务逻辑层和数据访问层。
表示层负责用户界面的展示和交互,业务逻辑层负责系统的业务逻辑处理,数据访问层负责数据的存储和访问。
分层体系结构可以提高系统的可重用性和可维护性,同时也增加了系统的复杂性和通信开销。
面向对象体系结构利用面向对象的思想和技术进行软件系统的设计和实现。
它将软件系统划分为多个对象,每个对象具有特定的属性和方法,并通过消息传递进行交互。
面向对象体系结构可以提高系统的可重用性和可维护性,同时也增加了系统的复杂性和内存开销。
面向服务体系结构将软件系统划分为多个服务,每个服务具有特定的功能和接口。
这些服务通过网络进行通信和交互,从而实现系统的功能需求。
面向服务体系结构可以提高系统的可扩展性和跨平台性,同时也增加了系统的通信开销和服务管理的复杂性。
除了以上常见的软件体系结构外,还有其他一些特定领域的体系结构,如实时系统体系结构、并行系统体系结构等。
实时系统体系结构适用于对响应时间有严格要求的系统,它需要快速的响应和高可靠性。
软件架构模式:掌握常见的软件架构模式和设计原则

软件架构模式:掌握常见的软件架构模式和设计原则软件架构是软件系统整体结构的框架,负责定义软件系统的各个组成部分之间的关系和交互方式。
在软件开发过程中,选择合适的软件架构模式可以提高软件系统的可维护性、扩展性和性能。
下面我们将介绍一些常见的软件架构模式和设计原则。
1.分层架构模式分层架构模式是将系统分为若干层次,每一层次有各自的功能和责任,各层之间通过明确的接口进行通信。
常见的分层架构包括三层架构和N层架构。
三层架构包括表示层(Presentation Layer)、业务逻辑层(Business Logic Layer)和数据访问层(Data Access Layer),分别负责显示用户界面、处理业务逻辑和与数据存储进行交互。
2. MVC模式MVC(Model-View-Controller)模式是一种将应用程序分为数据模型(Model)、视图(View)和控制器(Controller)三个部分的软件架构模式。
Model负责数据的管理和处理,View负责界面的展示,Controller负责处理用户的输入和决定视图和模型之间的交互。
3.微服务架构微服务架构是一种将一个大型软件系统拆分成多个小型、可独立部署的服务的架构模式。
每个微服务都可以独立开发、部署和运行,各个微服务之间通过API进行通信。
微服务架构可以提高系统的灵活性和可扩展性,有利于团队间的协作和部署的快速迭代。
4.事件驱动架构事件驱动架构是一种基于事件和消息传递的软件架构模式,系统中的各个组件相互之间通过事件的方式进行通信。
当一个组件的状态发生变化时,它会发布一个事件,其他组件可以订阅这个事件并做出相应的响应。
事件驱动架构可以降低系统组件之间的耦合度,提高系统的可扩展性和灵活性。
5.领域驱动设计(DDD)领域驱动设计是一种将软件设计与业务领域相结合的设计方法。
DDD将系统分为领域层、应用层和基础设施层,通过模型驱动的方式建模业务领域,并将业务规则和逻辑体现在软件设计中。
软件体系结构设计模式

软件体系结构设计模式软件体系结构设计模式是为了解决在软件开发中遇到的常见问题而提出的一种设计思想和方法。
它们是一些被广泛接受和验证的指导原则,可以帮助开发人员设计出易于维护、可扩展、可重用和灵活的软件系统。
本文将介绍几种常见的软件体系结构设计模式。
一、分层模式(Layered Pattern):分层模式是将软件系统划分为若干个层次,每个层次对应不同的功能和责任。
这种模式可以提高系统的可维护性,减少耦合度,使系统更易于扩展和修改。
分层模式一般分为三个层次:表示层、业务逻辑层和数据访问层。
表示层负责与用户交互,展示数据;业务逻辑层负责处理业务逻辑,实现系统功能;数据访问层负责与数据库进行交互,进行数据的读写操作。
二、管道过滤器模式(Pipes and Filters Pattern):管道过滤器模式是一种将数据流按照一定的顺序传递和处理的模式。
数据通过一系列的过滤器,最终产生期望的结果。
管道过滤器模式将任务分解为一系列独立的步骤,每个步骤通过一个单独的过滤器来完成。
每个过滤器只处理特定类型的数据,将结果传递给下一个过滤器。
这种模式可以提高系统的可复用性和可扩展性,便于构建复杂的数据处理流程。
三、客户端-服务器模式(Client-Server Pattern):客户端-服务器模式是一种将软件系统划分为客户端和服务器两个部分的模式。
客户端负责向服务器发送请求,服务器负责处理请求并返回结果。
客户端-服务器模式可以用于实现分布式系统,将系统的负载分散到多台服务器上,提高系统的可扩展性和性能。
同时,通过将客户端和服务器解耦,可以使系统更易于维护和修改。
四、发布-订阅模式(Publish-Subscribe Pattern):发布-订阅模式是一种将消息发送方(发布者)和消息接收方(订阅者)解耦的模式。
发布者将消息发送到消息队列或消息总线,订阅者从中获取感兴趣的消息进行处理。
发布-订阅模式可以实现系统的解耦和异步通信。
软件体系结构_第二章软件体系结构的风格与模式

软件体系结构_第二章软件体系结构的风格与模式软件体系结构是指软件系统在运行时所表现出来的组成部分之间的关系。
在软件设计和开发过程中,选择适合的体系结构风格与模式对于实现系统的可扩展性、可维护性和可靠性等方面的要求非常重要。
本章将介绍一些常见的软件体系结构风格与模式。
1. 分层体系结构(Layered architecture)分层体系结构是一种自顶向下的体系结构风格,它将软件系统划分为多个分层,每个分层只与其相邻的分层进行通信,并且每个分层都具有一定的功能和责任。
分层体系结构能够有效地提高系统的模块化程度,降低系统的复杂性。
2. 客户/服务器体系结构(Client/Server architecture)客户/服务器体系结构是基于分布式计算的一种体系结构风格,其中客户端和服务器端是相对的角色。
客户端负责用户界面和用户交互,而服务器端负责数据存储和业务逻辑。
客户/服务器体系结构能够提高系统的可扩展性和性能。
3. 事件驱动体系结构(Event-Driven architecture)事件驱动体系结构是一种基于事件和消息的体系结构风格,其中组件之间通过事件和消息进行通信和协作。
事件驱动体系结构能够实现松耦合,提高系统的灵活性和可扩展性。
4. MVC模式(Model-View-Controller pattern)MVC模式是一种软件设计模式,用于将用户界面、数据处理和业务逻辑相分离,使每个部分可以独立变化。
模型(Model)表示应用程序的数据和业务逻辑,视图(View)表示用户界面,控制器(Controller)负责接收和处理用户的输入。
MVC模式能够提高系统的可维护性和可重用性。
5. 微服务架构(Microservices architecture)微服务架构是一种将系统划分为多个小型、自治的服务的体系结构风格。
每个服务都可以独立地开发、部署和扩展,并且通过轻量级的协议进行通信。
微服务架构能够提高系统的灵活性和可扩展性。
软件体系结构

软件体系结构软件体系结构是指软件系统中各个组件之间的关系和结构的抽象描述。
它是构建软件系统的基础,对软件系统的设计和开发起着重要的指导作用。
本文将从软件体系结构的定义、目标和应用领域等方面对其进行详细的介绍。
一、软件体系结构的定义软件体系结构是指软件系统中各个组件之间的关系和结构的抽象描述,它包括软件系统的静态结构和动态行为。
静态结构是指软件系统中组件的组织方式和相互之间的关系,动态行为是指软件系统中组件的交互方式和相互之间的通信方式。
二、软件体系结构的目标软件体系结构的目标是实现软件系统的可重用性、可维护性、可扩展性和可伸缩性。
可重用性是指软件系统中的组件能够被多次使用,可维护性是指软件系统中的组件能够被轻松地修改和维护,可扩展性是指软件系统能够根据需求进行功能的扩展,可伸缩性是指软件系统能够根据需求进行性能的扩展。
三、软件体系结构的应用领域软件体系结构广泛应用于各个领域的软件系统开发,特别是大型跨平台和分布式系统的开发。
在金融领域,软件体系结构被应用于交易系统和风险管理系统的开发;在电子商务领域,软件体系结构被应用于在线购物系统和支付系统的开发;在物流领域,软件体系结构被应用于供应链管理系统和运输管理系统的开发。
四、软件体系结构的基本原则软件体系结构的设计应遵循以下基本原则:1. 模块化:将软件系统分为独立的模块,每个模块只负责特定的功能,通过接口进行通信和交互。
2. 松耦合:各个模块之间的依赖应尽量降低,避免模块之间的紧密耦合,以提高系统的灵活性和可维护性。
3. 高内聚:模块内部的各个元素之间应紧密关联,功能相关的元素应放在同一个模块中,以提高系统的内聚性。
4. 分层:将软件系统分为多个层次,每个层次负责不同的功能,上层层次通过接口调用下层层次的功能。
5. 可伸缩性:系统的设计应考虑未来的扩展需求,能够根据需求进行功能和性能的扩展。
六、软件体系结构的设计方法软件体系结构的设计方法有很多种,常用的有面向对象的体系结构设计方法、服务导向的体系结构设计方法和领域驱动设计方法。
ARM体系结构与编程

ARM体系结构与编程
一、ARM体系结构
ARM(Advanced RISC Machine)是由英国ARM公司开发的一种低功耗、超低成本的处理器架构,是移动设备的首选处理器。
ARM架构的处理器有ARM7、ARM9、ARM11、 Cortex-A8 、Cortex-A15等,它们核心架构特点为以下几点:
1.保护模式。
ARM架构的处理器能够在用户模式和两个高级的保护模式之间来回切换。
2.对齐式存储。
ARM架构的处理器采用对齐方式,其二进制指令必须按照固定的位置排列,以便提高存储空间的利用率。
3.浮点处理单元。
ARM架构的处理器具有浮点数处理功能,使数值运算能够高效率地完成。
4.多级缓存。
ARM架构的处理器将原始数据复制到不同级别的快速缓存中,以便快速访问。
二、ARM程序的编程
1、ARM程序的编写
ARM程序的编写可以使用C语言编写,程序开发者需要掌握ARM架构各种中央处理器扩展指令集的使用方法,以便获得更好的效率。
2、编译ARM程序
ARM程序的编译是使用GNU的gcc编译器进行的,它可以将C语言编写的程序编译成ARM架构的机器码,并可以在ARM架构的处理器上运行。
3、调试ARM程序
ARM程序的调试使用GDB程序调试,它可以提供丰富的调试工具,可以跟踪程序执行的步骤,提供全面的程序反馈信息,可以帮助开发者快速定位程序运行出错的地方。
三、总结。
软件工程中的软件体系结构与设计模式

软件工程中的软件体系结构与设计模式软件工程是一门涉及软件开发、维护、测试和管理的学科。
在软件工程的实践中,软件体系结构和设计模式是两个重要的概念。
本文将探讨软件体系结构与设计模式在软件工程中的应用和重要性。
一、软件体系结构软件体系结构是指软件系统的整体结构和组成部分之间的关系。
它描述了软件系统的组织方式、模块划分和模块之间的通信方式。
软件体系结构的设计对于软件系统的可维护性、可扩展性和可重用性具有重要影响。
在软件体系结构的设计中,常用的模式包括层次结构、客户端-服务器模式和发布-订阅模式等。
层次结构将软件系统划分为多个层次,每个层次都有特定的功能。
客户端-服务器模式将软件系统划分为客户端和服务器两个部分,客户端发送请求,服务器处理请求并返回结果。
发布-订阅模式中,发布者发布消息,订阅者接收消息。
软件体系结构的设计需要考虑多个因素,如系统的可靠性、性能、安全性和可维护性等。
一个好的软件体系结构应该能够满足系统的需求,并且易于理解和维护。
二、设计模式设计模式是在软件设计中常见问题的解决方案。
它们是经过验证的、可重用的设计思想,可以提高软件的可维护性和可扩展性。
设计模式可以分为三类:创建型模式、结构型模式和行为型模式。
创建型模式用于对象的创建,包括工厂模式、单例模式和原型模式等。
结构型模式用于对象之间的组合,包括适配器模式、装饰器模式和代理模式等。
行为型模式用于对象之间的通信,包括观察者模式、策略模式和命令模式等。
设计模式的应用可以提高软件系统的灵活性和可维护性。
通过使用设计模式,开发人员可以将系统的不同部分解耦,使其更易于修改和扩展。
此外,设计模式还可以提高代码的可读性,减少重复代码的编写。
三、软件体系结构与设计模式的关系软件体系结构和设计模式是紧密相关的概念。
软件体系结构提供了软件系统的整体框架,而设计模式提供了解决具体问题的方法。
在软件体系结构的设计中,设计模式可以用于解决不同层次和模块之间的通信问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5
保护模式概述
保护机制——不同任务之间的保护 不同任务之间的保护 保护机制
保护模式软件体系结构
任务A和任务 并存 那么任务A和任务 必须隔离, 和任务B必须隔离 任务 和任务B并存,那么任务 和任务 必须隔离,以免相 和任务 并存, 互影响。把每个任务放置在不同的虚拟地址空间可以实现任 互影响。 务与任务的隔离。 务与任务的隔离。两个不同任务的虚拟地址转换为不同的物 理地址。 理地址。 仅由一个任务占有的虚拟地址空间部分,称为局部地址空间。 仅由一个任务占有的虚拟地址空间部分,称为局部地址空间。 局部地址空间 局部地址空间包含的代码和数据,是任务私有的, 局部地址空间包含的代码和数据,是任务私有的,需要与系 统中的其它任务相隔离。 统中的其它任务相隔离。 另一方面,任务 和任务 可能要共享部分代码和数据, 和任务B可能要共享部分代码和数据 另一方面,任务A和任务 可能要共享部分代码和数据,如 对操作系统的共享。 对操作系统的共享。 各个任务公用的虚拟地址空间部分,称为全局地址空间。 各个任务公用的虚拟地址空间部分,称为全局地址空间。对 全局地址空间 全局地址空间中同一虚拟地址的访问, 全局地址空间中同一虚拟地址的访问,在所有任务中都转换 为同样的物理地址,从而支持公共的代码及数据的共享。 为同样的物理地址,从而支持公共的代码及数据的共享。 6
S=0,系统段描述符 , TYPE为4位,共有 种类型。其中: 种类型。 为 位 共有16种类型 其中: 2,LDT , 9,TSS,非忙 , , B,TSS,忙 , , 位无定义(D=0) ② D位无定义 位无定义
14
5,任务门 , C,调用门 , E,中断门 , F,陷阱门 ,
保护模式软件体系结构
7 5 4 3 2 1 0
10
0 AVL 段界限 段界限16~19位 6 位 访问权限字节
段基址0~23位 位 段基址
段界限0~15位 位 段界限
保护模式软件体系结构
段描述符: 段描述符:
G位(粒度位 : 位 粒度位 粒度位): G=0, 段的长度以字节为单位 段基址24~31位 段基址 位 段长最大1M字节 段长最大 字节 段界限16~19位 位 G=1,段的长度以页 段的长度以页(4K字节 为单位 G D 0 AVL段界限 字节)为单位 段的长度以页 字节 段长最大1M× 段长最大 ×4K=4G字节 字节 访问权限字节 D位:D=0, 位 , 16位指令方式 代码段 位指令方式(代码段 位指令方式 代码段) 段的上界为64K(数据段 数据段) 段的上界为 数据段 段基址0~23位 段基址 位 使用16位堆栈指针 堆栈段 位堆栈指针SP(堆栈段 堆栈段) 使用 位堆栈指针 D=1, , 32位指令方式 代码段 位指令方式(代码段 位指令方式 代码段) 段的上界为4G(数据段 数据段) 段的上界为 数据段 段界限0~15位 段界限 位 使用32位堆栈指针 位堆栈指针ESP(堆栈段 堆栈段) 使用 位堆栈指针 堆栈段 AVL位:软件可用位。未作规定 位 软件可用位。
Windows 操作系统只使用了 级和 级 操作系统只使用了0级和 级和3级
8
保护模式软件体系结构
描述符与描述符表 描述符(Descriptor): : 描述符
描述符是一个 字节的数据结构 描述符是一个8字节的数据结构。 Pentium采用描述符来 一个 字节的数据结构。 采用描述符来 描述存储器段的位置、大小和使用情况。 描述存储器段的位置、大小和使用情况。 包括段描述符、系统段描述符和门描述符三种类型。 包括段描述符、系统段描述符和门描述符三种类型。
S=0,为系统段描述符 , TYPE=2,为DLT , P=1,DPL=2 , 因此为一个特权级为2的LDT, 因此为一个特权级为 的 , 已经在内存中 的基址为00200000H, 该LDT的基址为 的基址为 , 界限为00300H 界限为 G=0,段的长度以字节为单位 ,
17
保护模式软件体系结构
保护模式概述
保护机制——同一任务内的保护 同一任务内的保护 保护机制
保护模式软件体系结构
在一个任务之内,定义有四种执行特权级(PL, Privilege 在一个任务之内,定义有四种执行特权级 特权级 Level) ,用于限制对任务中不同的存储器段进行访问。 用于限制对任务中不同的存储器段进行访问。 Pentium为每个任务提供了 种特权级,0级最高,3级最低 为每个任务提供了4种特权级 级最高, 级最低 为每个任务提供了 种特权级, 级最高
4
保护模式软件体系结构
保护模式tium处理器要对存放在存储器中的 为了支持多任务, 处理器要对存放在存储器中的 代码及数据的保护与共享提供支持。 代码及数据的保护与共享提供支持。 任务(进程) 程序在执行时的一种情况, 任务(进程):程序在执行时的一种情况,是一个动态的 概念。 概念。 乐谱与演奏 Pentium的保护机制能有效地实现不同任务之间的保护和 的保护机制能有效地实现不同任务之间的保护和 同一任务内的保护。 同一任务内的保护。
A位:A=0,段尚未被访问 位 , A=1,段已被访问 ,
12
保护模式软件体系结构
段描述符: 段描述符:
访问权限字节 1~3位表示段的类型 位表示段的类型
7 P 6 5 4 S 3 DPL 2 1 ED W E C R 0 A
E=0,为数据段 , ED=0,段向上扩展 , 为数据段 ED=1,段向下扩展 , 为堆栈段 W=0,数据段只读 , W=1,数据段可写 ,
门描述符: 门描述符:
属于系统段描述符 门提供了将程序控制转给服务程 序入口的手段。有任务门、 序入口的手段。有任务门、调用 中断门、陷阱门4种类型 门、中断门、陷阱门 种类型
偏移量16~31位 位 偏移量 访问权限字节
7 6 5 4 3 2 1 0
15
0 0 0 字计数 偏移量: 偏移量:相对于段基地址的偏移 量,为目标代码的入口点 选择符0~15位 选择符 位 选择符:用于确定段基地址 选择符: 字计数: 字计数:从调用者堆栈中复制到被 调用者堆栈中的参数个数 偏移量0~15位 偏移量 位
保护模式软件体系结构
例:判断描述符所描述的段的性质
0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 6 1 1 0 0 0 0 1 0 5 0 0 1 0 0 0 0 0 4 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
18
保护模式软件体系结构
描述符表 全局描述符表(GDT) 全局描述符表
整个系统只有一个 表中包含可能被所有任务所共享的段的描述符——包 包 表中包含可能被所有任务所共享的段的描述符 括操作系统用的数据段、代码段、堆栈段, 括操作系统用的数据段、代码段、堆栈段,各种任务 的任务状态段(TSS),所有的 的任务状态段 ,所有的LDT段,中断服务程序 段 段等。 段等。
3
保护模式概述
虚拟存储器的概念
保护模式软件体系结构
虚拟存储器是一种软硬件结合的技术, 虚拟存储器是一种软硬件结合的技术,用于提供比在计算 机系统中实际可以使用的物理内存大得多的存储空间。 机系统中实际可以使用的物理内存大得多的存储空间。 虚拟存储器的地址称为逻辑地址或虚拟地址, 虚拟存储器的地址称为逻辑地址或虚拟地址,全部逻辑地 逻辑地址 虚拟地址空间。 址的集合称为虚拟地址空间 址的集合称为虚拟地址空间。 Pentium支持的虚拟地址空间可达 支持的虚拟地址空间可达64TB。 支持的虚拟地址空间可达 。 只有物理内存中的程序才能运行, 只有物理内存中的程序才能运行,只有物理内存中的数据 才能被访问,所以虚拟地址空间必须映射到物理地址空间。 才能被访问,所以虚拟地址空间必须映射到物理地址空间。 Pentium通过扩充的存储器分段管理机制和可选的存储器 通过扩充的存储器分段管理机制和可选的存储器 分页管理机制实现虚拟地址到物理地址的转换。 分页管理机制实现虚拟地址到物理地址的转换。
应用程序 常规扩展 系统服务 内核 级别0 级别 级别1 级别 级别2 级别 级别3 级别
7
保护模式概述
保护机制——同一任务内的保护 同一任务内的保护 保护机制
保护模式软件体系结构
每个存储器段都与一个特权级别相联系。 每个存储器段都与一个特权级别相联系。 在任何时候,一个任务总是在四个特权级之一下运行, 在任何时候,一个任务总是在四个特权级之一下运行, 任务在特定时刻的特权级称为当前特权级 (Current Privilege level),标记为 ,标记为CPL,即当前运行程序的特权级。 ,即当前运行程序的特权级。 每当一个程序试图访问一个段时,就把CPL与要访问的 每当一个程序试图访问一个段时,就把 与要访问的 段的特权级进行比较,以决定是否允许这一访问。 段的特权级进行比较,以决定是否允许这一访问。
7 6 5 4 3 2 1 0
11
保护模式软件体系结构
段描述符: 段描述符:
7 6 5 4 S 3
访问权限字节
P
DPL
2 1 0 ED R E A C W
P位 P=0, P位:P=0,段不在内存中 P=1,段在内存中 , DPL:取值0~3,确定段的 :取值 , 特权级 S位:S=1,段描述符 位 ,
描述符表
一个任务会涉及多个存储器段, 一个任务会涉及多个存储器段,每个段需要一个描述 符来描述, 把描述符按顺序组织成线性表, 符来描述,Pentium把描述符按顺序组织成线性表,称 把描述符按顺序组织成线性表 为描述符表 描述符表占内存一定的区域, 描述符表占内存一定的区域,由系统地址寄存器 (GDTR、IDTR、LDTR)指示其在物理存储器中的 、 、 ) 位置和大小 描述符表有三种: 描述符表有三种: 全局描述符表GDT 全局描述符表 中断描述符表IDT 中断描述符表 局部描述符表LDT 局部描述符表