Skip to Content
UNIX Filesystems: Evolution, Design, and Implementation
book

UNIX Filesystems: Evolution, Design, and Implementation

by Steve D. Pate
January 2003
Intermediate to advanced content levelIntermediate to advanced
480 pages
13h 22m
English
Wiley
Content preview from UNIX Filesystems: Evolution, Design, and Implementation

Raw and Block Devices

With each disk slice or logical volume there are two methods by which they can be accessed, either through the raw (character) interface or through the block interface. The following are examples of character devices:

# ls -l /dev/vx/rdsk/myvol
crw------   1 root    root     86,   8 Jul   9 21:36  /dev/vx/rdsk/myvol
# ls -lL /dev/rdsk/c0t0d0s0
crw------  1 root     sys     136,   0 Apr  20 09:51  /dev/rdsk/c0t0d0s0

while the following are examples of block devices:

# ls -l /dev/vx/dsk/myvol
brw------  1 root     root     86,   8 Jul   9 21:11  /dev/vx/dsk/myvol
# ls -lL /dev/dsk/c0t0d0s0
brw------  1 root     sys     136,   0 Apr  20 09:51  /dev/dsk/c0t0d0s0

Note that both can be distinguished by the first character displayed (b or c ) or through the location of the device file. Typically, raw devices are accessed through /dev/rdsk while block devices are accessed through /dev/dsk. When accessing the block device, data is read and written through the system buffer cache. Although the buffers that describe these data blocks are freed once used, they remain in the buffer cache until they get reused. Data accessed through the raw or character interface is not read through the buffer cache. Thus, mixing the two can result in stale data in the buffer cache, which can cause problems.

All filesystem commands, with the exception of the mount command, should therefore use the raw/character interface to avoid this potential caching problem.

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Design and Implementation of the FreeBSD Operating System, 2nd Edition

Design and Implementation of the FreeBSD Operating System, 2nd Edition

Marshall Kirk McKusick, George V. Neville-Neil, Robert N.M. Watson

Publisher Resources

ISBN: 9780471456759Purchase book