EDKII: 磁盘操作之 BlockIo(2), DiskIo(2)

EDKII中提供了几种磁盘操作方法,包括同步/异步,块操作/任意操作。整理如下:

函数 备注 BlockIo BlockIo2 DiskIo DiskIo2
操作方式   按Block 按Block 任意大小、位置 任意大小、位置
同、异步   阻塞 异步 阻塞 异步
成员Revision  
成员Media 设备信息
函数Reset   有(阻塞)
函数ReadBlocks  
函数WriteBlocks  
函数FlushBlocks  
函数Cancel  
           

1. 更高级的磁盘操作可以用PassThrough操作,透过PassThru直接向ATA设备发送ATA命令。(How about NVMe device?)

2. 异步函数可以通过 Event或Notification来处理。

很奇怪,这些属性、函数的定义并不统一,不知道是什么原因!   哪位大神可以解释一下?

时间: 2024-10-03 19:42:22

EDKII: 磁盘操作之 BlockIo(2), DiskIo(2)的相关文章

python linux 磁盘操作

#coding:utf-8 ''' __author__ = 'similarface' connection:[email protected] 磁盘操作 ''' import psutil import os import commands import logging import re logger = logging.getLogger('Disk') logger.setLevel(logging.ERROR) ch = logging.StreamHandler() # 定义han

Linux修复磁盘操作

Linux修复磁盘操作 1.卸载分区 umount /data 修复磁盘,先判读是磁盘坏了,还是文件系统坏了:一般可以修复,但是建议换磁盘. 2.fsck  -y /dev/sda1  ##-y 参数意思是全部修复: 3.把/data磁盘挂载上,看看修复是否成功:

Hadoop集群hdfs添加磁盘操作

Hadoop集群hdfs添加磁盘操作 目前的环境是cdh.服务器部署在Azure:一个cdhmaster(一个namenode,一个datanode),四个cdhslave节点(各一个datanode). hdfs现状: 首先是在Azure控制台对每台服务器添加一块磁盘(我这添加的是4T) 在到服务器中对每台服务器进行添加磁盘操作: 因为在Linux中,常用2种分区表: MBR分区表(即主引导记录) 所支持的最大分区:2T,而且对分区有限制:最多4个主分区或3个主分区加一个扩展分区 [fdisk

Java.io下的方法是对磁盘上的文件进行磁盘操作

File类(java.io.*)可表示一个文件,也有可能是一个目录(在JAVA中文件和目录都属于这个类中,而且区分不是非常的明显). Java.io下的方法是对磁盘上的文件进行磁盘操作,但是无法读取文件的内容. 注意:创建一个文件对象和创建一个文件在JAVA中是两个不同的概念.前者是在虚拟机中创建了一个文件,但却并没有将它真正地创建到OS的文件系统中,随着虚拟机的关闭,这个创建的对象也就消失了.而创建一个文件才是在系统中真正地建立一个文件. 1 package TomTexts; 2 impor

简单磁盘操作

一.简单磁盘操作1.查看磁盘空间大小df -h-h: human缩写,以易读的方式显示结果(即带单位:比如M/G,如果不加这个参数,显示的数字以B为单位)2.查看当前目录所占空间的大小du -sh-s:递归整个整个目录大小:-h:人性化显示 --------------------------------------------------------------------------------- 二.常用打包压缩.解压tar 解包:tar xvf FileName.tar 打包:tar c

hadoop扩充磁盘操作记录

记录cloudera扩充磁盘 1.4台主机,每台主机增加一块2TB的硬盘 2.首先简单说明步骤 A.分区,挂载(挂载目录(名称,路径)要一致) B.在挂载的分区内,建立对应的文件夹,并授权 C.在cdh的hdfs配置界面,配置新增hdfs的目录,然后部署客户端配置,滚动重启 3.操作步骤 分区(LVM逻辑卷): # pvcreate /dev/sdc # vgcreage Vgroup03 /dev/sdc # lvcreate –n cdh01 –L +1.8T Vgroup03 # mkfs

Linux增加磁盘操作

首先,增加磁盘分为4个大步骤:1.插上硬盘:2.分区;3.格式化4.挂载,然后分别说说以上四步的具体事项和注意内容. 1.插上硬盘(本位以虚拟机为例) 新买来一块磁盘,把磁盘插到主板上.虚拟机中操作如下: 下一步 下一步 选择磁盘大小 完成 2.分区 重启,执行lsblk -f查看磁盘挂载情况,其中,sdb就是我们新安装的磁盘.sda是原有的磁盘,可以看出sda被分成了两个区:sda1和sda2,其中UUID是每一个分区的唯一ID号,这个ID号在分区格式化之后就会被分配,用来标记一个分区,MOU

redhat下的磁盘操作-分区,格式化,挂载等

磁盘分区 想要在系统内新加一块磁盘的步骤: 1.对磁盘进行分区,以新建新的分区 2.对分区进行格式化(format),以创建系统可用的文件系统 3.若想要分的仔细一些,则可以对刚才新建好的文件系统进行检验 4.在Linux系统之上,需要创建挂载点,并将其挂载上去 一.磁盘分区 fdisk:-l输出后面接的设备的所有分区工具,若仅有fdisk -l时,系统会将整个系统内的能够找到的设备的分区都列出来 通过df命令获得可用磁盘文件名,再用fdisk进行识别,明企鹅使用m获得命令使用说明 如下所示 通

文件、磁盘操作函数

软件大多都要对文件.磁盘进行操作.熟悉掌握这些函数可以帮助你轻松实现创建.删除.保存文件等功能. 1.Append 功能说明:追加内容到文件中.文件必须要存在. 参考实例: var S: String; F: TextFile; begin S := 'This is a book.'; AssignFile(F, 'C:\MyFile.txt'); // 将C:\MyFile.txt文件与F变量建立连接,后面可以使用F变量对文件进行操作. Append(F); // 以追加的方式打开文件 Wr