|
|
1.1 ! root 1: .TH INTRO 4 ! 2: .SH NAME ! 3: intro \- introduction to devices, line disciplines, and file systems ! 4: .SH DESCRIPTION ! 5: This section describes drivers for ! 6: devices, ! 7: stream line disciplines, ! 8: and file systems. ! 9: .PP ! 10: Devices are accessed through ! 11: special files of type ! 12: .L S_IFBLK ! 13: (block devices) ! 14: or ! 15: .L S_IFCHR ! 16: (character devices); ! 17: see ! 18: .IR stat (2). ! 19: Block devices use a block buffering scheme ! 20: within the system, ! 21: so that sectored devices like disks ! 22: may be accessed a byte at a time. ! 23: Character devices don't use the block buffers. ! 24: Only block devices may be mounted as disk file systems. ! 25: Most block devices ! 26: have associated `raw' character devices ! 27: that bypass all buffering for fast direct I/O. ! 28: .PP ! 29: The device associated with a special file is ! 30: identified by a pair of numbers: ! 31: a major device number ! 32: naming the driver, ! 33: and a minor device number ! 34: picking some particular device or subunit. ! 35: Major numbers are listed in ! 36: .IR mknod (8). ! 37: Minor numbers are specific to each driver; ! 38: see the writeups in this section. ! 39: Minor numbers are stored in a single unsigned byte; ! 40: they are chosen from the range 0-255. ! 41: .PP ! 42: Some character devices are also ! 43: stream devices. ! 44: These use a different internal buffering mechanism ! 45: to allow data to flow asynchronously. ! 46: Various special operations are possible on streams; ! 47: see ! 48: .IR stream (4). ! 49: .PP ! 50: Line disciplines are ! 51: processing modules that may be inserted into streams. ! 52: They are identified by integers ! 53: passed to the calls that insert and remove them. ! 54: The C library ! 55: contains global variables ! 56: initialized to the numbers ! 57: for various line disciplines; ! 58: .IR stream (4) ! 59: has a list. ! 60: .PP ! 61: There are several different types of file system: ! 62: conventional disk volumes, ! 63: remote file systems ! 64: accessed ! 65: by the system sending messages though a stream ! 66: to a server as described in ! 67: .IR netfs (8), ! 68: a file system containing a file representing ! 69: each process in the system, ! 70: and so on. ! 71: All of these ! 72: appear the same to ordinary processes, ! 73: except that not all file systems ! 74: implement all operations; ! 75: for example, ! 76: a process file has a name, ! 77: and may be opened, read, and written ! 78: like an ordinary file, ! 79: but may not be renamed because ! 80: .IR proc (4) ! 81: doesn't allow that. ! 82: .PP ! 83: File system types are ! 84: identified by integers, ! 85: used by and listed in ! 86: .IR fmount (2). ! 87: They are just magic numbers at present. ! 88: .SH SEE ALSO ! 89: .IR fmount (2), ! 90: .IR stream (4), ! 91: .IR mknod (8)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.