ram" -- Device Driver" "

Driver for manipulating RAM

The COHERENT ram devices let you allocate and use the random-access memory (RAM) of the computer system directly. A typical use is for a RAM disk, which is a COHERENT file system kept in memory rather than on a floppy disk or hard disk.

The COHERENT RAM device driver has major number 8. You can access it either as a block-special device or as a character-special device. The high-order bit of the minor number gives the RAM device number (0 or 1); as you can see, you can have no more than two RAM devices in memory at any one time. The low-order seven bits give the device's size in 64-kilobyte chunks.

The first call to open() on a RAM device with nonzero size (1 to 127) allocates memory for the device; open() fails if sufficient memory is not available. Accessing a RAM device with a minor number that specifies size zero frees the allocated memory, provided all earlier open() calls have been closed.

Initially, COHERENT includes two block-special devices for RAM disks: the 512-kilobyte device /dev/ram0 (8, 8) and the 192-kilobyte device /dev/ram1 (8, 131). It also includes the devices /dev/ram0close (8, 0) and /dev/ram1close (8, 128). You should resize the RAM devices to suit the amount of memory available on your system.

Examples

The following example formats and mounts a 512-kilobyte RAM disk on directory /fast.
     mkdir /fast
     /etc/mkfs /dev/ram0 1024
     /etc/mount /dev/ram0 /fast

When the RAM disk is no longer needed, its allocated memory can be freed as follows:

     /etc/umount /dev/ram0
     cat /dev/null >/dev/rram0close

The next example replaces the default /dev/ram0 with a one-megabyte device that contains a COHERENT file system. The minor number 16 specifies RAM device 0 and a size of one megabyte (i.e., 16 chunks of 64 kilobytes each). The new RAM device contains 2,048 blocks of 512 bytes each.

     rm /dev/ram0
     /etc/mknod /dev/ram0 b 8 16
     /etc/mknod /dev/rram0 c 8 16
     /etc/mkfs /dev/ram0 2048
     chmod ugo=rw /dev/ram0
     chmod ugo=rw /dev/rram0

The command chmod is necessary to make the new RAM drive accessible.

Files

/dev/ram*

See Also

Notes

Moving frequently used commands or files to a RAM disk can improve system performance substantially. However, the contents of a RAM device are lost if the system loses power, reboots, or crashes. Therefore, you should frequently back up files from the RAM disk to a more permanent medium.

A If a RAM device uses most but not all available system memory, its open() call will succeed but subsequent commands may fail because insufficient memory remains for the system.

A The COHERENT installation program /etc/build uses RAM device /dev/ram1 as a RAM disk during installation. Commands compress, uncompress, zcat, and fsck sometimes use /dev/ram1 as a temporary storage device. Users should avoid using /dev/ram1 as a RAM disk because of these programs. In addition, users of compress, uncompress, and zcat may have to change the size of /dev/ram1 from the default size of 192 to 512 kilobytes, to handle files compressed to 16 bits. The following script makes this change; note that it must be run by the superuser root:

     cat /dev/null >/dev/rram1close
     rm /dev/ram1 /dev/rram1
     mknod /dev/ram1  b 8 136
     mknod /dev/rram1 c 8 136