1834679 Members
2863 Online
110069 Solutions
New Discussion

Please Help Me out

 
Muhammad Shamroze
Frequent Advisor

Please Help Me out

I Have Question which have 4 Multiple choice answers can u please help me out which is correct answer.

Q1.what describe the difference b/w block and character I/O?

a. Block I/O is used to send data to disk and character I/O is not.

b.Character I/O is used to send data to disk and Block I/O is not.

c.Block I/O goes through the buffer cache and Character I/O does not.

d.Character I/O goes through the buffer cache and Block I/O does not.

e.Character I/O is only used for tty devices.


Please tell me the answers Thankyou.


3 REPLIES 3
Vibhor Kumar Agarwal
Esteemed Contributor

Re: Please Help Me out

I think its "a" as disks are block i/o devices.
Vibhor Kumar Agarwal
Muthukumar_5
Honored Contributor

Re: Please Help Me out

Block I/O:

It is transferring data by caching into buffers to the disk.

Character I/O:

Direct transmission of data to disk.

Refer:

man 7 disk

http://www.informatik.uni-frankfurt.de/doc/man/hpux/disk.7.html

a) Block-special access
b) Character-special access

hth.
Easy to suggest when don't know about the problem!
Yogeeraj_1
Honored Contributor

Re: Please Help Me out

hi

"c.Block I/O goes through the buffer cache and Character I/O does not." also is correct!


Block-special access
Block-special device files access disks via the system's block buffer cache mechanism. Buffering is done in such a way that concurrent access through multiple opens and mounting the same physical device is correctly handled to avoid operation sequencing errors. The block buffer cache permits the system to do physical I/O operations when convenient. This means that physical write operations may occur substantially later in time than their corresponding logical write requests. This also means that physical read operations may occur substantially earlier in time than their corresponding logical read requests.

Block-special files can be read and written without regard to physical disk records. Block-special file read() and write() calls requiring disk access result in one or more BLKDEV_IOSIZE byte (typically 2048 byte) transfers between the disk and the block buffer cache. Applications using the block-special device should ensure that they do not read or write past the end of last BLKDEV_IOSIZE sized block in the device file. Because the interface is buffered, accesses past this point behave unpredictably.

Character-special access
Character-special device files access disks without buffering and support the direct transmission of data between the disk and the user's read or write buffer. Disk access through the character special file interface causes all physical I/O operations to be completed before control returns from the call. A single read or write operation up to MAXPHYS bytes (typically 64 Kbytes or 256 Kbytes) results in exactly one disk operation. Requests larger than this are broken up automatically by the operating system. Since large I/O operations via character-special files avoid block buffer cache handling and result in fewer disk operations, they are typically more efficient than similar block-special file operations.

There may be implementation-dependent restrictions on the alignment of the user buffer in memory for character special file read() and write() calls. Also, each read and write operation must begin and end on a logical block boundary and must be a whole number of logical blocks in size. The logical block size is a hardware-dependent value that can be queried with the DIOC_DESCRIBE ioctl call, which is below.

In addition to reading and writing data, the character-special file interface can used to obtain device specific information and to perform special operations. These operations are controlled through use of ioctl calls. Details related to these ioctls are contained in .



hope this helps too!
regards
yogeeraj
No person was ever honoured for what he received. Honour has been the reward for what he gave (clavin coolidge)