Visit Our UNIX and Linux User Community

Linux and UNIX Man Pages

Test Your Knowledge in Computers #825
Difficulty: Medium
The term API seems to appear for the first time in the article of Ira W. Cotton, Data structures and techniques for remote computer graphics, published in 1968.
True or False?
Linux & Unix Commands - Search Man Pages

ram(4) [bsd man page]

RAM(4)							     Kernel Interfaces Manual							    RAM(4)

NAME
ram - ram disk driver SYNOPSIS
/sys/conf/SYSTEM: NRAM ram_size # RAM disk size (512-byte blocks) major device number(s): block: 3 minor device encoding: must be zero (0) DESCRIPTION
The ram pseudo-device provides a very fast extended memory store. It's use is intended for file systems like /tmp and applications which need to access a reasonably large amount of data quickly. The amount of memory dedicated to the ram device is controlled by the NRAM definition in units of 512-byte blocks. This is also patchable in the system binary through the variable ram_size (though a patched system would have to be rebooted before any change took effect; see adb(1)). This makes it easy to test the effects of different ram disk sizes on system performance. It's important to note that any space given to the ram device is permanently allocated at system boot time. Dedicating too much memory can adversely affect system performance by forcing the system to swap heavily as in a memory poor environment. The block file accesses the ram disk via the system's buffering mechanism through a buffer sharing arrangement with the buffer cache. It may be read and written without regard to physical disk records. There is no `raw' interface since no speed advantage is gained by such an interface with the ram disk. DISK SUPPORT
The ram driver does not support pseudo-disks (partitions). The special files refer to the entire `drive' as a single sequentially addressed file. A typical use for the ram disk would be to mount /tmp on it. Note that if this arrangement is recorded in /etc/fstab then /etc/rc will have to be modified slightly to do a mkfs(8) on the ram disk before the standard file system checks are done. FILES
/dev/ram block file /dev/MAKEDEV script to create special files /dev/MAKEDEV.local script to localize special files SEE ALSO
hk(4), ra(4), rl(4), rk(4), rp(4), rx(4), si(4), xp(4) dtab(5), autoconfig(8) DIAGNOSTICS
ram: no space. There is not enough memory to allocate the space needed by the ram disk. The ram disk is disabled. Any attempts to access it will return an error. ram: not allocated. No memory was allocated to the ram disk and an attempt was made to open it. Either not enough memory was available at boot time or the kernel variable ram_size was set to zero. BUGS
The ram driver is only available under 2.11BSD. 3rd Berkeley Distribution Januray 27, 1996 RAM(4)

Check Out this Related Man Page

RL(4)							     Kernel Interfaces Manual							     RL(4)

NAME
rl - RL-11/RL01, RL02 moving-head disk SYNOPSIS
/sys/conf/SYSTEM: NRL rl_drives # RL01/02 /etc/dtab: #Name Unit# Addr Vector Br Handler(s) # Comments rl ? 174400 160 5 rlintr # rl-01/02 major device number(s): raw: 16 block: 7 minor device encoding: bits 0007 specify partition of RL drive bits 0070 specify RL drive DESCRIPTION
The block files access the disk via the system's normal buffering mechanism and may be read and written without regard to physical disk records. There is also a `raw' interface which provides for direct transmission between the disk and the user's read or write buffer. A single read or write call results in exactly one I/O operation and therefore raw I/O is considerably more efficient when many words are transmitted. The names of the raw files conventionally begin with an extra `r.' In raw I/O the buffer must begin on a word (even) boundary, and counts should be a multiple of 512 bytes (a disk sector). Likewise seek calls should specify a multiple of 512 bytes. DISK SUPPORT
The RL01 drives are each 10240 blocks long and the RL02 drives are 20480 blocks long. On a RL02 there is room for a full sized root ('a') partition and a reasonable sized swap ('b') partition. The RL01 can only (realisti- cally) have a single 5mb partition. FILES
/dev/rl[0-3][a-h] block files /dev/rrl[0-3][a-h] raw files /dev/MAKEDEV script to create special files /dev/MAKEDEV.local script to localize special files SEE ALSO
hk(4), ra(4), ram(4), rk(4), rp(4), rx(4), si(4), xp(4), dtab(5), autoconfig(8) DIAGNOSTICS
rl%d: hard error sn%d cs=%b da=%b. An unrecoverable error occurred during transfer of the specified sector of the specified disk. The contents of the two error registers are also printed in octal and symbolically with bits decoded. The error was either unrecoverable, or a large number of retry attempts could not recover the error. rl%d: hard error sn%d mp=%b da=%b. An unrecoverable drive error occured during transfer of the specified sector of the specified disk. The contents of the two error registers are also printed in octal and symbolically with bits decoded. The error was either unrecoverable, or a large number of retry attempts could not recover the error. rl%d: write locked. The write protect switch was set on the drive when a write was attempted. The write operation is not recoverable. rl%d: can't get status. A ``get status'' command on the specified drive failed. The error is unrecoverable. BUGS
In raw I/O read and write(2) truncate file offsets to 512-byte block boundaries, and write scribbles on the tail of incomplete blocks. Thus, in programs that are likely to access raw devices, read, write and lseek(2) should always deal in 512-byte multiples. DEC-standard error logging should be supported. A program to analyze the logged error information (even in its present reduced form) is needed. 3rd Berkeley Distribution August 20, 1987 RL(4)

Featured Tech Videos