what is a raw device?
I am a linux newbie quite often I've across the term raw device. For Christ's sake what does it mean and what options do i have to pass when iam mounting such a device?
|
Generally when you access(read or write) a device without going through the usual layers, it is considered a "raw" access. For a harddrive, the usual layer would be a filesystem.
When you click "save" to save a file, the writing is handled/organized by the filesystem. If you do this (as root), 'less /dev/sda', then you will view the raw output of what your harddrive disk looks like. Raw access to devices is a feature in Linux that can be very powerful, but must be used with care. |
Raw by definition means you are not mounting it. It may or may not also mean that the kernel won't buffer/cache/etc data to and from the hardware.
If you mounted /dev/sda or /dev/hda or whatever, then you would see the filesystem on it, like '/' or '/home' or whatever. If you don't mount it, then you (or a program) can see the bytes that make up the filesystem directly, like the previous poster said. There is a further (stricter) meaning of 'raw device', too. When you access /dev/sda etc, you're bypassing the kernel's filesystem layers, but you're not bypassing its buffered I/O layers. Some software (such as I believe Oracle, optionally) thinks it knows better than the kernel how to buffer/optimise disk I/O and lay out data, so it bypasses both layers, and uses other 'raw' devices. These 'raw' devices used to be called /dev/raw[1-8] (see man MAKEDEV), but they're obsolete in kernel 2.6.22.1 according to its kconfig help. |
All times are GMT -5. The time now is 08:59 PM. |