C# 클래스 VirtualFileSystem.VFSCore

파일 보기 프로젝트 열기: SummerWish/vfs 1 사용 예제들

공개 메소드들

메소드 설명
AllocateBlock ( Byte fill ) : Block

分配一个新数据块并清空内容

AllocateINode ( UInt32 flags, UInt32 owner ) : INode

分配、初始化一个新的 inode

DeAllocateBlock ( UInt32 blockIndex ) : void

收回一个数据块

DeAllocateINode ( UInt32 inodeIndex ) : void

收回一个 inode

DePreserveBlock ( UInt32 blocksToDePreserve ) : void

减少预留指定数量的数据块

Format ( UInt32 inodeCapacity, UInt16 blockSizeKByte = 4 ) : void

格式化存储介质

GetDevice ( ) : AbstractDevice

获取此文件系统的存储介质操作对象

GetSuperBlock ( ) : SuperBlock

获取此文件系统的超级块操作对象

IsBlockAllocated ( UInt32 index ) : System.Boolean

判断 block inde

IsFormated ( ) : System.Boolean

返回存储介质是否已格式化

IsINodeAllocated ( UInt32 index ) : System.Boolean

判断 inode index 是否已被占用

PreserveBlock ( UInt32 blocksToPreserve ) : void

预留指定数量的数据块

VFSCore ( AbstractDevice device ) : System

비공개 메소드들

메소드 설명
GetFreeBlockIndex ( ) : UInt32

查找一个空闲块

GetFreeINodeIndex ( ) : UInt32

查找一个空闲 inode

GitBitmapAvailableIndex ( UInt32 bitmap ) : UInt32

获取一个位图可用的位置,若无法找到则返回 Int32.MaxValue

IsBitmapAllocated ( UInt32 bitmap, UInt32 index ) : System.Boolean

位图指定位置是否已被分配

SetBitmapAllocated ( UInt32 offset, UInt32 bitmap, UInt32 index ) : void

位图指定位置标记为已占用

SetBitmapNotAllocated ( UInt32 offset, UInt32 bitmap, UInt32 index ) : void

位图指定位置标记为未被占用

UpdateBitmapVectorAtIndex ( UInt32 offset, UInt32 bitmap, UInt32 index ) : void

持久化一个位图向量

loadBitmaps ( ) : void

从已经格式化的存储介质中载入位图到内存

메소드 상세

AllocateBlock() 공개 메소드

分配一个新数据块并清空内容
public AllocateBlock ( Byte fill ) : Block
fill Byte
리턴 Block

AllocateINode() 공개 메소드

分配、初始化一个新的 inode
public AllocateINode ( UInt32 flags, UInt32 owner ) : INode
flags System.UInt32
owner System.UInt32
리턴 INode

DeAllocateBlock() 공개 메소드

收回一个数据块
public DeAllocateBlock ( UInt32 blockIndex ) : void
blockIndex System.UInt32
리턴 void

DeAllocateINode() 공개 메소드

收回一个 inode
public DeAllocateINode ( UInt32 inodeIndex ) : void
inodeIndex System.UInt32
리턴 void

DePreserveBlock() 공개 메소드

减少预留指定数量的数据块
public DePreserveBlock ( UInt32 blocksToDePreserve ) : void
blocksToDePreserve System.UInt32
리턴 void

Format() 공개 메소드

格式化存储介质
public Format ( UInt32 inodeCapacity, UInt16 blockSizeKByte = 4 ) : void
inodeCapacity System.UInt32 inode 数量
blockSizeKByte System.UInt16 block 大小(KB),必须为 1,2,4,8 中的一个
리턴 void

GetDevice() 공개 메소드

获取此文件系统的存储介质操作对象
public GetDevice ( ) : AbstractDevice
리턴 AbstractDevice

GetSuperBlock() 공개 메소드

获取此文件系统的超级块操作对象
public GetSuperBlock ( ) : SuperBlock
리턴 SuperBlock

IsBlockAllocated() 공개 메소드

判断 block inde
public IsBlockAllocated ( UInt32 index ) : System.Boolean
index System.UInt32
리턴 System.Boolean

IsFormated() 공개 메소드

返回存储介质是否已格式化
public IsFormated ( ) : System.Boolean
리턴 System.Boolean

IsINodeAllocated() 공개 메소드

判断 inode index 是否已被占用
public IsINodeAllocated ( UInt32 index ) : System.Boolean
index System.UInt32
리턴 System.Boolean

PreserveBlock() 공개 메소드

预留指定数量的数据块
public PreserveBlock ( UInt32 blocksToPreserve ) : void
blocksToPreserve System.UInt32
리턴 void

VFSCore() 공개 메소드

public VFSCore ( AbstractDevice device ) : System
device AbstractDevice
리턴 System