免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1396 | 回复: 0
打印 上一主题 下一主题

请教驱动程序与终端的若干概念 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-01-09 10:56 |只看该作者 |倒序浏览
这些问题是在学习设置驱动程序的属性时产生的。通过学习,了解到虽然Linux/Unix把外设(如终端,打印机等)都当成文件来对待,但由于这些设备本身性质的差异,决定了虽有统一的外貌(文件形式),但各自有各自的属性。这个可以通过fcntl、tcget/setattr等系统调用在各自的驱动程序中进行设置。而这些函数的其中一个参数都是fd。
1.是不是对于同一个驱动程序,不同的fd可以设置各自的属性?例如:对于磁盘驱动程序而言,设置O_SYNC后是不论何种程序的write调用都不再缓冲,还是关闭缓冲只对某一个fd起作用?
2.驱动程序是如何做到这一点的呢?
3.linux下终端的概念是什么呢?终端是一种外设(如键盘+显示器)?但键盘和显示器只有一个,而终端可以开多个。对于某一终端的属性设置显然不能影响其他终端,是否终端驱动在里面做了工作而将各个终端区别对待?使各个终端都有各自的属性?简单的tcgetattr(0,&inof),就可以取得某一终端的信息?每个进程都有0,1,2三个fd值,这些fd值与某一终端如何关联?
4.在linux下,fd值与标准库的File *fp有什么区别和联系?fd究竟是什么?
呵呵,问题问得比较散乱,这些知识可以在哪本书中找到详细的答案呢?谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP