Fsd – Representing Files in Memory
Essay Preview: Fsd – Representing Files in Memory
Report this essay
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 doesnt 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,

Get Your Essay

Cite this page

Mount Operation And Receipt Of A Create. (June 26, 2021). Retrieved from https://www.freeessays.education/mount-operation-and-receipt-of-a-create-essay/