Real-time data collection in Linux: A case study

Real-time data collection in Linux: A case study
复制标题

DOI:
10.3758/bf03195362
复制
发表时间:
2001-05-01
期刊:
BEHAVIOR RESEARCH METHODS INSTRUMENTS & COMPUTERS
影响因子:
--
通讯作者:
Finney, SA
Finney, SA
中科院分区:
其他
文献类型:
--
作者:
Finney, SA

文献摘要

被引文献

相似文献

多用户类Unix操作系统(如Linux)通常被认为不适合实时数据收集,因为抢占式调度可能导致不确定的计时延迟。在这篇文章中,Linux被证明完全适合于精确控制的编程,分辨率为毫秒或更高。描述和测试了辅助这种定时控制的Linux系统调用,然后将其用于基于MIDI的程序以进行敲击和音乐演奏实验。这个程序的计时,包括数据输入和输出,显示出在毫秒级的精确度。这说明,只要编程得当,Linux是适合作为实时实验软件的。此外,对操作系统设施和应用程序本身的详细描述和测试可以作为公开记录其他操作系统上的编程方法和软件性能的模型。
Multiuser 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 that 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 both the operating system facilities and the application program itself may serve as a model for publicly documenting programming methods and software performance on other operating systems.