I have been trying to read the source code for linux. I started watching a Youtube video which mentioned that character and block devices are different. It didn't say much about why it matters because once something is on the filesystem its the same.

  • 2
    Did you try Googling this? – Kusalananda Feb 24 '18 at 12:31
  • @MarkPlotnick I did take a look at that answer. I specifically wanted to know why is it so necessary to differentiate. – piepi Feb 24 '18 at 16:05
  • It's just historical. Block device drivers get access to common kernel routines for buffer caching and io scheduling. As mentioned in the answer to this question, FreeBSD has eliminated block devices and has a different framework for buffers and scheduling. – Mark Plotnick Feb 24 '18 at 17:40

This is just easy to understand a block device can be read block to block a character device is read char by char ...

/dev/random is char for example /dev/tyy is char


char devices can be controlled with special chars like ctrl+G makes a physical serial console to emit a Beep for example....

the simpliest explaination : it depends on method needed to read/write to them

| improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.