用户与内核空间数据交换的方式之一:relayfs- relayfs是一个快速的转发(relay)数据的文件系统,它以其功能而得名。它为那些需要从内核空间转发大量数据到用户空间的工具和应用提供了快速有效的转发机制。
Channel是relayfs文件系统定义的一个主要概念,每一个channel由一组内核缓存组成,每一个CPU有一个对应于该channel 的内核缓存,每一个内核缓存用一个在relayfs文件系统中的文件文件表示,内核使用relayfs提供的写函数把需要转发给用户空间的数据快速地写入当前CPU上的channel内核缓存,用户空间应用通过标准的文件I/O函数在对应的channel文件中可以快速地取得这些被转发出的数据mmap 来。写入到channel中的数据的格式完全取决于内核中创建channel的模块或子系统。
relayfs的用户空间API:
relayfs实现了四个标准的文件I/O函数,open、mmap、poll和close.
open(),打开一个channe
SSD1906显示控制器在嵌入式系统中的设计应用-Atmel公司的AT91RM9200是基于ARM Thumb的ARM920T微控制器,时钟频率为180MHz,运算速度可以达到200MIPS。AT91RM9200内部分别有16KB的数据缓存和指令缓存,具有存储器管理单元(MMU)。此外,AT91RM9200内部还包括16KB的SRAM和128KB的ROM,具有外部总线接口(EBI),支持SDRAM、静态存储器、Burst Flash、CompactFals、SmartMedia以及NAND Flash。
基于FPGA器件实现复用器输入部分的设计方案-整个传送流的复用器分为复用预处理、输入和复用3部分。预处理部分是对多路传送流的PSI(节目特殊信息)提取并修改,重新生成新的PSI表的过程;输入部分是给各路经预处理的不同速率的传送流提供缓存,并将半满信号发送给后续的复用模块;复用部分是将n路传送流复合成一路传送流的过程,控制对各路传送流进行选择性发送,适时插入空包和其他业务信息。复用器的数据缓存包括输入FIFO和输出FIFO,它为n路传送流提供缓存,便于复用器随时提取某一路传送包进行处理。因此,复用器FIFO是否具有高速性和可靠性将直接影响复用器的性能。