当前位置: 首页 > news >正文

群晖nas做网站服务器怎么用vs2010做网站设计

群晖nas做网站服务器,怎么用vs2010做网站设计,聊城市公司网站建站,asp做留言板网站系列文章目录 提示#xff1a;本系列主要记录工作过程中遇到的操作系统基础概念以及工作原理 第一章 操作系统之IOMMU 文章目录 系列文章目录1. 设备访问内存的几种主要方式1.1 传统的 I/O 访问#xff08;程序控制 I/O#xff09;1.2 直接内存访问#xff08;DMA#xf…系列文章目录 提示本系列主要记录工作过程中遇到的操作系统基础概念以及工作原理 第一章 操作系统之IOMMU 文章目录 系列文章目录1. 设备访问内存的几种主要方式1.1 传统的 I/O 访问程序控制 I/O1.2 直接内存访问DMA1.3 设备驱动与内存映射 2. IOMMU简介3. IOMMU的作用3.1 提高了内存安全性3.2 解决 32 位设备的地址扩展问题 4. 总结 1. 设备访问内存的几种主要方式 1.1 传统的 I/O 访问程序控制 I/O 在最早的计算机系统中设备通过 CPU 执行 I/O 操作来访问内存。这种方式也称为 程序控制 I/O。 操作方式设备通过 CPU 发起 I/O 请求CPU 会根据程序中的指令手动读取或写入内存。 例如磁盘控制器向内存中写入数据时CPU 会通过一系列指令来控制数据传输。缺点CPU 必须参与每次数据传输这样不仅增加了 CPU 的负担还导致了 CPU 的效率低下因为它需要等待设备完成数据传输。这种方法效率低尤其是在大量数据传输时。 1.2 直接内存访问DMA DMADirect Memory Access 是一种提高设备访问内存效率的方法。 操作方式在 DMA 模式下设备可以直接与内存进行数据交换无需 CPU 参与数据传输过程。特点DMA模式下的关键硬件叫DMACController我理解该硬件的诞生就是为了将设备访问内存时cpu的职责进行了析出从而让cpu做其它更重要的事毕竟cpu是万金油啥都需要它。 1.3 设备驱动与内存映射 在现代操作系统中设备访问内存通常是通过设备驱动程序进行的。驱动程序负责与硬件设备进行通信并将设备的内存空间映射到进程的虚拟地址空间中。 操作方式驱动程序通过操作系统提供的接口将设备内存映射到用户空间或内核空间。当应用程序或操作系统需要访问设备时它直接操作映射到内存中的数据。 这种方式通常用于高性能的 I/O 操作如网络通信、显卡渲染等。 2. IOMMU简介 IOMMUInput/Output Memory Management Unit是内存控制器 memory controller的一部分用于将设备虚拟地址也可称为I/O地址或设备地址转换为物理地址。 IOMMU的概念类似于MMUMemory Management Unit区别在于 IOMMU将设备虚拟地址翻译为物理地址MMU负责将CPU虚拟地址翻译为物理地址。 在设备做DMA访问内存的时候系统返回给设备驱动的不再是物理地址而是虚拟地址 这个地址一般叫IOVA设备访问内存时由IOMMU来将这个设备虚拟地址转换为物理地址。 从上图可知IOMMU是DMA直接内存访问即设备与内存直接通信而无需经过CPU过程中的一个环节。1 因此IOMMU可以看作一种机制也可以说IOMMU是DMA的一种实现方式。 3. IOMMU的作用 IOMMU的引人带来了哪些好处呢 提高了内存安全性扩展设备地址访问范围 3.1 提高了内存安全性 传统方式设备直接访问物理地址设备可能会访问到不属于自己的内存区域例如破坏操作系统的内存结构造成数据泄漏或系统崩溃。 相反基于IOMMU机制的DMA内存访问方式IOMMU 可以在内存访问之前进行检查确保设备只能访问其分配的内存区域防止设备访问操作系统的核心数据结构或其他虚拟机的内存这对于防止设备对其他虚拟机或操作系统内存的恶意或意外访问至关重要。 结论 IOMMU使得设备无法直接访问物理地址大大增加了设备进行DMA攻击的难度。 3.2 解决 32 位设备的地址扩展问题 设备访问 4GB 以上内存的问题许多传统的设备例如 32 位 DMA-capable 设备、网卡、硬盘控制器等不能直接访问超过 4GB 的内存因为它们只能使用 32 位的地址空间。但是现代操作系统的内存往往大于4GB。 如果设备申请DMA设备直接访问内存时内核为设备分配的DMA buffer地址高于4GB简称为high buffer则设备将无法寻址到它。 IOMMU通过地址转换提供了解决方案IOMMU 需要提供一种间接方式让设备能够通过低地址的缓冲区low buffer来与高地址的内存high buffer进行交互。这一过程通常被称为 “sync” 或 “bounce” 机制具体过程如下 设备请求访问高地址内存假设设备需要访问 4GB 以上的内存high buffer但设备无法直接寻址到高地址因为它只能使用 32 位地址。 IOMMU 为设备分配低地址内存low bufferIOMMU 会为设备分配一个低于 4GB 的内存区域low buffer这块内存与高地址内存high buffer的大小一致。 设备会通过低地址缓冲区low buffer进行 DMA 操作。虽然设备只能访问 low buffer但通过 IOMMU 的映射它的请求会在后台被转换成访问高地址内存high buffer。 IOMMU 进行数据同步设备向低地址缓冲区low buffer写入数据后IOMMU 会将 low buffer 中的数据复制到高地址缓冲区high buffer。反之CPU 或其他系统组件向高地址缓冲区high buffer写入数据时IOMMU 会将数据从 high buffer 复制到低地址缓冲区low buffer。 数据传递与同步通过这种方式尽管设备无法直接访问超过 4GB 的内存但它通过 low buffer 间接完成了数据读写。 结论IOMMU 的“sync”或“bounce”机制确保了设备和 CPU 可以通过这两个内存区域交换数据从而实现了高地址内存的间接访问。 4. 总结 本文主要介绍了设备访问内存的几种方式以及IOMMU的基本概念、主要作用。 后续有时间再学习下虚拟化中IOMMU的作用2。 Linux x86-64 IOMMU详解一——IOMMU简介 ↩︎ linux内核中IOMMU 基础架构介绍 ↩︎
http://www.zqtcl.cn/news/899116/

相关文章:

  • 昆明云南微网站淄博专业网站建设
  • 古典网站源码海南app开发
  • 自己做网站前期困难吗怎么早网站上放广告
  • 建设银行招标网站南昌网站建设公司信息
  • 网站建设与管理专业介绍湖南长沙邮政编码
  • 社区论坛系统免费开源seo网站诊断报告
  • 网站LOGO透明底色PNG格式怎么做的开发一款游戏需要多少资金
  • 网站推广营销策略北京东直门网站建设
  • 制作公司网站需要购买域名和服务器吗聊城做企业网站
  • 大连网站建设价格低做校招的网站有哪些
  • 电脑端网站和手机网站区别做的好的营销型网站有哪些内容
  • 长沙市做网站网站建设 全是乱码
  • ps做网站原形系统学做网站
  • 接网站 建设wordpress 打开慢 google
  • wordpress 移动 建站网站前台如何做访问量显示
  • 公司做网站买域名之后做什么打鱼网站开发
  • 南京市城乡建设局网站二级建造师证件查询
  • 百度关键词优化系统网站优化师招聘
  • 网站方案建设书推广产品的软文怎么写
  • 网站栏目按扭邢台手机网站建设地方
  • 青浦赵巷网站建设做网站需要编程吗
  • 公司logo设计含义株洲seo
  • 公司制作网站做论坛网站怎么赚钱吗
  • 深圳 外贸 网站建设 龙医院网站建设价格
  • 网上建网站驰易网站建设
  • 建设工程招标专业网站网站联盟广告
  • 自建站英文公司网站制作银川
  • 顺德网站建设公司信息全网推广软件
  • 网站全屏视频怎么做电子商务网站规划的原则是什么
  • 网站建设行业发展史做网站主页上主要放哪些内容