Finney, S.A. (2001).
Real-time data collection in Linux: A case study.
Behavior Research Methods, Instruments, and Computers, 33, 167-173.
Multi-user UNIX-like operating systems such as Linux are often considered unsuitable for real-time data collection because of the potential for indeterminate timing latencies resulting from preemptive scheduling. In this paper, Linux is shown to be fully adequate for precisely controlled programming with millisecond resolution or better. The Linux system calls which subserve such timing control are described and tested, and then utilized in a MIDI-based program for tapping and music performance experiments. The timing of this program, including data input and output, is shown to be accurate at the millisecond level. This demonstrates that Linux, with proper programming, is suitable for real-time experiment software. In addition, the detailed description and test of the operating system facilities and the application program may serve as a model for publicly documenting programming methods and software performance on other operating systems.