EssaysForStudent.com - Free Essays, Term Papers & Book Notes
Search

Nothing

By:   •  Study Guide  •  779 Words  •  February 13, 2010  •  647 Views

Page 1 of 4

Join now to read essay Nothing

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 (for upgraded members)  txt (4.7 Kb)   pdf (92.1 Kb)   docx (12.2 Kb)  
Continue for 3 more pages »