In computing, specifically in Unix and Unix-like operating systems, a raw device is a special kind of logical device associated with a character device file that allows a storage device such as a hard disk drive to be accessed directly, bypassing the operating system's caches and buffers (although the hardware caches might still be used). Applications like a database management system can use raw devices directly, enabling them to manage how data is cached, rather than deferring this task to the operating system.

In FreeBSD, all device files are in fact raw devices. Support for non-raw devices was removed in FreeBSD 4.0 in order to simplify buffer management and increase scalability and performance.[1]

In Linux, opening a block device with the O_DIRECT flag replaces raw device usage. Raw devices were removed entirely from the Linux kernel in the 5.14 release.[2]

References

edit
  1. ^ "FreeBSD Architecture Handbook: 9.4. Block Devices (Are Gone)". Retrieved 2017-06-29.
  2. ^ Hellwig, Christoph (2021-05-31). "remove the raw driver". Retrieved 2024-07-29.