- Term Papers, Book Reports, Research Papers and College Essays

Fsd - Representing Files in Memory

Essay by   •  December 14, 2010  •  Study Guide  •  779 Words (4 Pages)  •  1,043 Views

Essay Preview: Fsd - Representing Files in Memory

Report this essay
Page 1 of 4

FSD- Representing Files In Memory


Representation of a file in memory

Physical Device Object (PDO)

- Represents media type objects, device type FILE_DEVICE_DISK,FILE_DEVICE_CDROM, FILE_DEVICE_VIRTUAL_DISK etc.

- Created by FSD by IoCreateDevice(..) to represent a physical or virtual disk obj, that it manages.

- At creation time, a VPB (more about this later) structure is allocated and associated with media type objects, by the I/O M.

- Initially VPB flags indicate tht physical media doesn't have any logical volumes mounted (VPB_MOUNTED)

- Later a mount operation might occur.

Logical Volume Device Object (LVDO)

- Represents instance of a mounted logical volume.

- Created by a FSD implementaion.

- As part of mounting the LV, most OS require certain system defined data structs be created and/or initialised to establish linkage b/w the rest of the I/O M structs and in-mem representaion of mounted vol.

- In NT, the I/O M requires that a Device Object representing the mounted LV be created for physical media be created and initialized. For network redirectors, not required.

- Each VDO is logically associated with a PDO using a VPB struct belonging to the PDO. Occurs at mount time, when the very first Create/Open request is received by the I/O M for an object residing on the PDO.

Volume Parameter Block (VPB)

- Creates Logical association b/w PDO & LVDO

- Only exists for Dev Objs that represent physical or virtual media, that can be mounted.

- There is no physical association b/w the PDO & LDO representing a mounted vol, as would typically happen in an attach operation, this is typically done for filters to intercept the requests to the target dev obj.

- Has information abour volume Serial number, Volume Label and Volume label length

- IN a mount op. the only connection b/w PDO and LVDO is VPB

- I/O M is aware of this logical association & always checks the VPB on receipt of a Create/Open call for an on-disk obj. to determine the FS vol dev obj in which the req should actually be directed.

- Each File Obj (FO) struct represents a successful open Op. on an on-disk obj, points to the VPB struct belonging to the PDO on which the opened on-disk obj resides.

- The Flags fields in the VPB has one of the three values

1. VPB_MOUNTED - Set by I/O M after successful mount op.

2. VPB_LOCKED - Set by FSD. IF set all Open/Create ops will fail of that LV. FASTFAT code in IFS kit does it, in response to FSCTL_LOCK_VOL

3. VPB_PERSISTENT - If set, I/O M will not del VPB even if ReferenceCount = 0

Volume Control BLock (VCB)

- Created as part of Mount op.

- Contains ptr to the root dir in-mem struct, that is the FCB for the root-dir,



Download as:   txt (4.7 Kb)   pdf (82.5 Kb)   docx (11.1 Kb)  
Continue for 3 more pages »
Only available on