对于驱动程序的helloworld ,一直没有在虚拟终端上显示。原因如下:
我们在图形界面下提供的终端,其实只是一个逻辑的终端,背后还有一个linux 提供的终端设备。
用Atl+Ctl+F1~F6 ,切换到命令行下面去操作,此时用的是linux提供的终端,就可以显示 printk的内容了。
用Alt+Clt+F7返回到 X
Note :
有2个daemon ,分别为klogd ,syslogd .
1> 所有系统信息是输出到ring buffer中去的.dmesg所显示的内容也是从ring buffer中读取的. 然后唤醒读取的 process
2> klogd是负责读取内核信息的,有2种方式:
syslog()系统调用(这个函数用法比较全,大家去MAN一下看看)直接的对/proc/kmsg进行读取(再这提一下,/proc/kmsg是专门输出内核信息的地方)
3> Klogd的输出结果会传送给syslogd进行处理,syslogd会根据/etc/syslog.conf的配置把log信息输出到/var/log/下的不同文件中.
阅读(1540) | 评论(1) | 转发(0) |