Data is read in terms of a block from a storage device(magnetic, optical, flash). Size of the block depends upon the filesystem and os. The physical device may have different units of storage like sectors.
Do filesystems create the abstraction layer directly over the physical device, or do they work over something called as a block device?
If they work over the block device then does it mean that when we create a partition table(gpt, msdos, mac) then block device abstraction is created and filesystems(fat, ntfs, ext) are then created for partitions of the device over the block device layer?