2008/5/15 Sushil Patil <sushilpa@gmail.com>:Un*x systems has two main abstractions (the upper level ones): files and prcesses. By this way, devices are represented as files (remember /dev?), and then, there are two kinds (flavors) of devices: char devices, and block devices. Char devices are the simpler ones, since that char devices I/O is based on a stream of bytes received and sent by the device driver. On the other side, block devices relies on specialized structures (the page cache, the inodes and dentries), and operates via blocks (mappings of disk sectors indeed), being able to seek over the mapped region for instance (as opposed to char devices, constrained to streamed bytes). The block operations are designed and implemented in order to surpass the brutal difference among timings regarding memory operations and disk operations, buffering data to optimize writes and seeks on the slower disk I/O. Then, file I/O can be block I/O or not, depending on the nature of the file. Think on a disk file (manifestly block, since it lives inside a hard drive or something similar), and a network socket. Beautiful architecture that one used by U*ix :) Best regards Mauad -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@nl.linux.org Please read the FAQ at http://kernelnewbies.org/FAQ
| Borislav Petkov | 2.6.23-rc1: no setup signature found... |
| Andrew Morton | Re: [PATCH] Memory management livelock |
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
| Steven King | ti_usb_3410_5052 breakage in 2.6.24-rc1 |
git: | |
| Linus Torvalds | cleaner/better zlib sources? |
| Theodore Ts'o | [PATCH] Add --no-reuse-delta, --window, and --depth options to git-gc |
| Karl | Re: [PATCH] Add a birdview-on-the-source-code section to the user manual |
| Yossi Leybovich | corrupt object on git-gc |
| GVG GVG | ssh_exchange_identification: Connection closed by remote host |
| Richard Stallman | Re: Real men don't attack straw men |
| David Newman | setting dscp or tos bits |
| Stijn | Re: [i386/Thinkpad T41]USB mouse + Xorg obsd 4.1 |
| Quentin Garnier | [cube@cubidou.net: Re: Moving ethfoo in the main tree] |
| cube | Moving ethfoo in the main tree |
| Blair Sadewitz | PCI latency timer values |
| Oliver Gould | kqemu: driver(9)/filedesc(9) questions |
