Author: Rubini, A.
Paper Title Page
MOMIB09 ZIO: The Ultimate Linux I/O Framework 77
 
  • A. Rubini, S. Nellaga
    University of Pavia, Pavia, Italy
  • J.D. Gonzalez Cobas, T. Włostowski
    CERN, Geneva, Switzerland
  • F. Vaga
    GNUDD, Pavia, Italy
 
  ZIO (with Z standing for "The Ultimate I/O" Framework) was developed for CERN with the specific needs of physics labs in mind, which are poorly addressed in the mainstream Linux kernel. ZIO provides a framework for industrial, high-throughput, high-channel count I/O device drivers (digitizers, function generators, timing devices like TDCs) with performance, generality and scalability as design goals. Among its many features, it offers abstractions for - input and output channels, and channel sets - configurable trigger types - configurable buffer types - interface via sysfs attributes, control and data device nodes - a socket interface (PFZIO) which provides enormous flexibility and power for remote control In this paper, we discuss the design and implementation of ZIO, and describe representative cases of driver development for typical and exotic applications (FMC ADC 100Msps digitizer, FMC TDC timestamp counter, FMC DEL fine delay).  
slides icon Slides MOMIB09 [0.818 MB]