Mapping: Working on a computer with a virtual memory system makes it possible to access data entirely within a program array instead of reading it in a portion at a time from a file. This is done efficiently in the VAX/VMS environment by mapping files directly into the program's virtual memory (the file is not physically read from disk, only some pointers are changed). The maximum size of a mapped BDF depends (in the VAX) on the system parameter VIRTUALPGCNT.
On UNIX systems the mapping mechanism is generally not available and is emulated in the relevant ST interface and not as efficient as in VMS. The maximum size for mapping depends upon the maximum size of virtual memory which can be allocated.
The advantage of mapping is that the application programmer need not care how to get his/her data from a disk file to memory and vice versa - the relevant interface routines will do that task. All the image data may be viewed as a large matrix inside the program space.
Disk I/O: Getting data in and out via direct disk I/O is fast and efficient in both the VMS and the UNIX environment. However, the application program itself has to take care of the managing of the data I/O. This may be quite heavy and even more complex than the actual algorithm itself ...
Therefore, we recommend for the ``normal'' application programmers to use the mapping interfaces to get their data in and out. Then you only have to debug your algorithm and not the data I/O management as well. Furthermore, if you are not satisfied with the performance of your application, you can still move to direct disk I/O (but your algorithm may have to change, too).