最近学习Vxworks的串口驱动,I/O系统的iosOpen,iosClose,iosIoctl函数的执行是分别转交给了ttyDrv库ttyOpen,ttyClose,ttyIoctl,而I/O系统的iosRead和iosWrite是转交给了tyLib库的tyread和tyWrite。这里,为什么内核要维护ttyDrv库和tyLib俩个库呢,吧俩个库合成一个库不是更方便吗
可能是由于ttyOpen,ttyClose,ttyIoctl是直接调用底层串口的驱动函数,而read和write实际上是由tty中间层提供的读写接口和读写缓冲区.实现方式不同,为了划分开吧.
一个是跟硬件有关,一个是跟硬件无关