第三章 软件架构

news/2024/7/5 19:36:07 标签: linux, 运维, 服务器

在这里插入图片描述

固件框架由如下所示的构建块组成,如上图所示。

  • 隔离边界。
  • 分区接口。
  • 分区。
  • 分区清单。
  • 分区管理器。

以下各小节详细描述了这些构建块。

3.1 隔离边界

该框架定义了两种类型的隔离边界。

1、逻辑隔离边界,可用于以下情况:
(1)通过一个由 IMPLEMENTATION DEFINED 机制定义的方式,在一个异常级别中将一个软件模块(例如库或设备驱动程序)与另一个隔离开。一个模块内部实现的一个或多个服务通过一个 IMPLEMENTATION DEFINED 的应用程序编程接口(API)访问。
(2)通过以下方式将一个软件镜像与另一个隔离开:
将它们部署在不同的异常级别中。
将它们部署在相同的异常级别中。在给定的处理器核(PE)上,这些镜像在时间上相互隔离。一个软件镜像内部实现的一个或多个服务通过应用程序二进制接口(ABI)访问。

2、物理隔离边界,可通过以下机制将一个软件镜像的物理地址空间与另一个隔离开。
(1)Arm® TrustZone 安全扩展。它用于保护分配给安全状态下的软件镜像的安全物理地址空间范围,以免被非安全状态下的软件镜像访问。
(2)Arm A-profile VMSA 提供的基于虚拟内存的内存保护。它用于保护分配给一个软件镜像的物理地址空间范围,以免被同一安全状态下的其他软件镜像访问。


http://www.niftyadmin.cn/n/5061892.html

相关文章

【C++】多线程的学习笔记——白话文版(bushi

目录 为什么要使用多线程 例子 代码 结果 首先要先学的库——thread库 thread的简介 thread的具体使用方法 基本变量的定义 注意(小重点) join函数的解读(重点) detach函数的解读 注意 关于vector和thread是联合使用 …

react的动画

问: import Fade from react-reveal/Fade; 回答: import Fade from react-reveal/Fade; 是一个用于 React.js 的库(library)的引入语句。它可以实现在组件渲染时产生淡入效果。 要使用该库,首先需要确保你已经安装了 react-reveal 这个库。可…

FOC控制算法

目录 一、FOC介绍 二、FOC基本概念 1、为什么是三相? 2、FOC矢量控制总体算法简述 3、为什么FOC不一定需要电流采样?参考链接 4、FOC的分类 (1)有感FOC与无感FOC 三、FOC中电流采样 参考链接 1、高端采样 2、低端采样 …

【C++11】Lambda 表达式:基本使用 和 底层原理

文章目录 Lambda 表达式1. 不考虑捕捉列表1.1 简单使用介绍1.2 简单使用举例 2. 捕捉列表 [ ] 和 mutable 关键字2.1 使用方法2.2 不同的捕捉方法2.3 使用举例 3. lambda 的底层分析 Lambda 表达式 书写格式: [capture_list](parameters) mutable -> return_ty…

[NOIP2012 提高组] 开车旅行

[NOIP2012 提高组] 开车旅行 题目描述 小 A \text{A} A 和小 B \text{B} B 决定利用假期外出旅行,他们将想去的城市从 $1 $ 到 n n n 编号,且编号较小的城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市 …

【实验记录】一些小疑问

1.为什么要选择基于“外观”这一特性来作为回环检测的方案? 朴素思路复杂度高,不利于实时性;基于“里程计”的方案需要知道相机处于何位置下才能发生检测,这与我们需要知道的准确位置相矛盾 基于“外观”的方案与前端和后端均无关…

WPF 03

staticResource和dynamicResource的区别 首先看一个案例 MainWindow.xaml <Window x:Class"WpfDay03.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml&quo…

javascript: Bubble Sort

// Sorting Algorithms int JavaScript /** * file Sort.js * 1. Bubble Sort冒泡排序法 */ function BubbleSort(arry, nszie) {var i, j, temp;var swapped;for (i 0; i < nszie - 1; i){swapped false;for (j 0; j < nszie - i - 1; j){if (arry[j] > arry[j …