PipeFS

Introduction and Overview

Since RISC OS 4, PipeFS has been improved to provide better performance when larger transfers are used and to reduce the fragmentation of the RMA. Instead of using the RMA for storing files, a private dynamic area is used. This should reduce the fragmentation of the RMA and allow greater space to be used for executable code.

Large transfers using the multi-byte transfer OS_GBPB calls are now much faster and are no longer implemented as a sequence of byte operations. This should improve performance significantly when transferring bulk data through PipeFS. In addition, 'file modified' upcalls are no longer issued for every byte which is transferred (regardless of whether it is a multi-byte or single byte transfer); these will be deferred by a short period to allow multiple transfers to be notified only after they have completed or transferred a larger amount of data. This has a significant effect on performance.