|
|
1.1 ! root 1: .\" Copyright (c) 1990 The Regents of the University of California. ! 2: .\" All rights reserved. ! 3: .\" ! 4: .\" This code is derived from software contributed to Berkeley by ! 5: .\" the Systems Programming Group of the University of Utah Computer ! 6: .\" Science Department. ! 7: .\" ! 8: .\" Redistribution and use in source and binary forms are permitted provided ! 9: .\" that: (1) source distributions retain this entire copyright notice and ! 10: .\" comment, and (2) distributions including binaries display the following ! 11: .\" acknowledgement: ``This product includes software developed by the ! 12: .\" University of California, Berkeley and its contributors'' in the ! 13: .\" documentation or other materials provided with the distribution and in ! 14: .\" all advertising materials mentioning features or use of this software. ! 15: .\" Neither the name of the University nor the names of its contributors may ! 16: .\" be used to endorse or promote products derived from this software without ! 17: .\" specific prior written permission. ! 18: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED ! 19: .\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF ! 20: .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 21: .\" ! 22: .\" @(#)rd.4 5.1 (Berkeley) 6/29/90 ! 23: .\" ! 24: .TH RD 4 "June 29, 1990" ! 25: .UC 7 ! 26: .SH NAME ! 27: rd \- CS/80 disk interface ! 28: .SH SYNOPSIS ! 29: .B "master hpib? at scode?" ! 30: .br ! 31: .B "disk rd? at hpib? slave?" ! 32: .SH DESCRIPTION ! 33: This is a generic CS/80 disk driver. ! 34: Only a small number of possible CS/80 drives are supported, ! 35: but others can easily be added by adding tables to the driver. ! 36: .PP ! 37: Files with minor device numbers 0 through 7 refer to various portions ! 38: of drive 0; ! 39: minor devices 8 through 15 refer to drive 1, etc. ! 40: The standard device names begin with ``rd'' followed by ! 41: the drive number and then a letter a-h for partitions 0-7 respectively. ! 42: The character ? stands here for a drive number in the range 0-7. ! 43: .PP ! 44: The block files access the disk via the system's normal ! 45: buffering mechanism and may be read and written without regard to ! 46: physical disk records. There is also a `raw' interface ! 47: which provides for direct transmission between the disk ! 48: and the user's read or write buffer. ! 49: A single read or write call results in exactly one I/O operation ! 50: and therefore raw I/O is considerably more efficient when ! 51: many words are transmitted. The names of the raw files ! 52: conventionally begin with an extra `r.' ! 53: .PP ! 54: In raw I/O counts should be a multiple of 512 bytes (a disk sector). ! 55: Likewise ! 56: .I seek ! 57: calls should specify a multiple of 512 bytes. ! 58: .SH "DISK SUPPORT" ! 59: The driver interrogates the controller ! 60: to determine the type of drive attached. ! 61: The driver recognizes the following drives: ! 62: 7912, 7914, 7933, 7936, 7937, 7945, 7957A/B, 7958A/B, ! 63: 7959B, 7962, 7963, 9122, 9134, 7912, 7936, and 9122, ! 64: not all of which have been tested. ! 65: The origin and size of the pseudo-disks on each drive are ! 66: as follows: ! 67: .PP ! 68: .nf ! 69: .ta .5i +\w'000000 'u +\w'000000 'u +\w'000000 'u ! 70: 7945/7946 partitions: ! 71: disk start length cyls ! 72: rd?a 112 15904 1-142 ! 73: rd?b 16016 20160 143-322 ! 74: rd?c 0 108416 0-967 ! 75: rd?d 16016 40320 143-502 ! 76: rd?e undefined ! 77: rd?f undefined ! 78: rd?g 36176 72240 323-967 ! 79: rd?h 56336 52080 503-967 ! 80: .PP ! 81: 9134D partitions: ! 82: disk start length cyls ! 83: rd?a 96 15936 1-166 ! 84: rd?b 16032 13056 167-302 ! 85: rd?c 0 29088 0-302 ! 86: rd?d undefined ! 87: rd?e undefined ! 88: rd?f undefined ! 89: rd?g undefined ! 90: rd?h undefined ! 91: .PP ! 92: 9122S partitions: ! 93: disk start length cyls ! 94: rd?a undefined ! 95: rd?b undefined ! 96: rd?c 0 1232 0-76 ! 97: rd?d undefined ! 98: rd?e undefined ! 99: rd?f undefined ! 100: rd?g undefined ! 101: rd?h undefined ! 102: .PP ! 103: 7912P partitions: ! 104: disk start length cyls ! 105: rd?a 0 15904 0-70 ! 106: rd?b 16128 22400 72-171 ! 107: rd?c 0 128128 0-571 ! 108: rd?d 16128 42560 72-261 ! 109: rd?e undefined ! 110: rd?f undefined ! 111: rd?g 38528 89600 172-571 ! 112: rd?h 58688 69440 262-571 ! 113: .PP ! 114: 7914CT/P partitions: ! 115: disk start length cyls ! 116: rd?a 224 15904 1-71 ! 117: rd?b 16128 40320 72-251 ! 118: rd?c 0 258048 0-1151 ! 119: rd?d 16128 64960 72-361 ! 120: rd?e 81088 98560 362-801 ! 121: rd?f 179648 78400 802-1151 ! 122: rd?g 56448 201600 252-1151 ! 123: rd?h 81088 176960 362-1151 ! 124: .PP ! 125: 7958A partitions: ! 126: disk start length cyls ! 127: rd?a 252 16128 1-64 ! 128: rd?b 16380 32256 65-192 ! 129: rd?c 0 255276 0-1012 ! 130: rd?d 16380 48384 65-256 ! 131: rd?e 64764 100800 257-656 ! 132: rd?f 165564 89712 657-1012 ! 133: rd?g 48636 206640 193-1012 ! 134: rd?h 64764 190512 257-1012 ! 135: .PP ! 136: 7957A partitions: ! 137: disk start length cyls ! 138: rd?a 154 16016 1-104 ! 139: rd?b 16170 24640 105-264 ! 140: rd?c 0 159544 0-1035 ! 141: rd?d 16170 42350 105-379 ! 142: rd?e 58520 54824 380-735 ! 143: rd?f 113344 46200 736-1035 ! 144: rd?g 40810 118734 265-1035 ! 145: rd?h 58520 101024 380-1035 ! 146: .PP ! 147: 7933H partitions: ! 148: disk start length cyls ! 149: rd?a 598 16146 1-27 ! 150: rd?b 16744 66976 28-139 ! 151: rd?c 0 789958 0-1320 ! 152: rd?d 83720 16146 140-166 ! 153: rd?e 99866 165646 167-443 ! 154: rd?f 265512 165646 444-720 ! 155: rd?g 83720 706238 140-1320 ! 156: rd?h 431158 358800 721-1320 ! 157: .PP ! 158: 9134L partitions: ! 159: disk start length cyls ! 160: rd?a 80 15920 1-199 ! 161: rd?b 16000 20000 200-449 ! 162: rd?c 0 77840 0-972 ! 163: rd?d 16000 32000 200-599 ! 164: rd?e undefined ! 165: rd?f undefined ! 166: rd?g 36000 41840 450-972 ! 167: rd?h 48000 29840 600-972 ! 168: .PP ! 169: 7936H partitions: ! 170: disk start length cyls ! 171: rd?a 861 16359 1-19 ! 172: rd?b 17220 67158 20-97 ! 173: rd?c 0 600978 0-697 ! 174: rd?d 84378 16359 98-116 ! 175: rd?e 100737 120540 117-256 ! 176: rd?f 220416 120540 256-395 ! 177: rd?g 84378 516600 98-697 ! 178: rd?h 341817 259161 397-697 ! 179: .PP ! 180: 7937H partitions: ! 181: disk start length cyls ! 182: rd?a 1599 15990 1-10 ! 183: rd?b 17589 67158 11-52 ! 184: rd?c 0 1116102 0-697 ! 185: rd?d 84747 15990 53-62 ! 186: rd?e 100737 246246 63-216 ! 187: rd?f 346983 246246 217-370 ! 188: rd?g 84747 1031355 53-697 ! 189: rd?h 593229 522873 371-697 ! 190: .PP ! 191: 7957B/7961B partitions: ! 192: disk start length cyls ! 193: rd?a 126 16002 1-127 ! 194: rd?b 16128 32760 128-387 ! 195: rd?c 0 159894 0-1268 ! 196: rd?d 16128 49140 128-517 ! 197: rd?e 65268 50400 518-917 ! 198: rd?f 115668 44226 918-1268 ! 199: rd?g 48888 111006 388-1268 ! 200: rd?h 65268 94626 518-1268 ! 201: .PP ! 202: 7958B/7962B partitions: ! 203: disk start length cyls ! 204: rd?a 378 16254 1-43 ! 205: rd?b 16632 32886 44-130 ! 206: rd?c 0 297108 0-785 ! 207: rd?d 16632 49140 44-173 ! 208: rd?e 65772 121716 174-495 ! 209: rd?f 187488 109620 496-785 ! 210: rd?g 49518 247590 131-785 ! 211: rd?h 65772 231336 174-785 ! 212: .PP ! 213: 7959B/7963B partitions: ! 214: disk start length cyls ! 215: rd?a 378 16254 1-43 ! 216: rd?b 16632 49140 44-173 ! 217: rd?c 0 594216 0-1571 ! 218: rd?d 16632 65772 44-217 ! 219: rd?e 82404 303912 218-1021 ! 220: rd?f 386316 207900 1022-1571 ! 221: rd?g 65772 528444 174-1571 ! 222: rd?h 82404 511812 218-1571 ! 223: .PP ! 224: .DT ! 225: .fi ! 226: .PP ! 227: It is unwise for all of these files to be present in one installation, ! 228: since there is overlap in addresses and protection becomes ! 229: a sticky matter. ! 230: The eight partitions as given support four basic, non-overlapping layouts, ! 231: though not all partitions exist on all drive types. ! 232: .PP ! 233: In the first layout there are three partitions and a ``bootblock'' area. ! 234: The bootblock area is at the beginning of the disk and holds ! 235: the standalone disk boot program. ! 236: The rd?a partition is for the root file system, ! 237: rd?b is a paging/swapping area, and ! 238: rd?g is for everything else. ! 239: .PP ! 240: The second layout is the same idea, ! 241: but has a larger paging/swapping partition (rd?d) and ! 242: a smaller ``everything else'' partition (rd?h). ! 243: This layout is better for environments which run many large processes. ! 244: .PP ! 245: The third layout is a variation of the second, ! 246: but breaks the rd?h partition into two partitions, rd?e and rd?f. ! 247: .PP ! 248: The final layout is intended for a large, single file system second disk. ! 249: It is also used when writing out the boot program since it is the only ! 250: partition mapping the bootblock area. ! 251: .SH FILES ! 252: /dev/rd[0-7][a-h] block files ! 253: .br ! 254: /dev/rrd[0-7][a-h] raw files ! 255: .SH DIAGNOSTICS ! 256: \fBrd%d err: v%d u%d, R0x%x F0x%x A0x%x I0x%x, block %d\fR ! 257: .br ! 258: An unrecoverable data error occurred during transfer of the ! 259: specified block on the specified disk. ! 260: .SH BUGS ! 261: The current disk partitioning is totally bogus. ! 262: CS/80 drives have 256 byte sectors which are mapped to 512 byte ! 263: ``sectors'' by the driver. ! 264: Since some CS/80 drives have an odd number of sectors per cylinder, ! 265: the disk geometry used is not always accurate. ! 266: .PP ! 267: The partition tables for the file systems should be read off of each pack, ! 268: as they are never quite what any single installation would prefer, ! 269: and this would make packs more portable. ! 270: .PP ! 271: In raw I/O ! 272: .I read ! 273: and ! 274: .IR write (2) ! 275: truncate file offsets to 512-byte block boundaries, ! 276: and ! 277: .I write ! 278: scribbles on the tail of incomplete blocks. ! 279: Thus, ! 280: in programs that are likely to access raw devices, ! 281: .I read, write ! 282: and ! 283: .IR lseek (2) ! 284: should always deal in 512-byte multiples. ! 285: .PP ! 286: A program to analyze the logged error information (even in its ! 287: present reduced form) is needed.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.