《unix/linux编程实践教程》学习笔记:第五章 连接控制:学习stty
来源:互联网 发布:matlab 最优化算法 书 编辑:程序博客网 时间:2024/06/05 21:46
设备文件
在unix系统中,每个设备都被当做一个文件,每个文件都有一个文件名,一个inode号,一个文件所有者,一个权限位的集合和最近修改时间。
且通常表示设备的文件存放在目录/dev中,但是可以在任何目录下创建设备文件。
因此设备支持所有与文件相关的系统调用:open,read,write,lseek.close,stat
设备文件的inode
设备文件的inode包含指向内核子程序表的指针。主设备号用于告知从设备读取数据的那部分代码的位置。
设备文件的read系统调用的工作过程,内核首先找到文件描述符的inode,得知该文件是设备文件后,内核通过调用该设备驱动程序的read部分来读取数据。
设备与磁盘文件的不同
系统通过调用open创建文件和设备与进程的连接,但是他们有着不同的性质。
磁盘连接的两个主要属性:
(1)缓冲:磁盘文件有缓冲区,可以通过fcntl()关闭
(2)自动添加模式:即当文件描述符的O_APPEND打开后,每个对write的调用自动调用lseek将内容添加到文件末尾。
终端连接:
具有回显,波特率, 编辑和换行会话。
相关系统调用
fcntl:控制文件描述符
ioctl:控制一个设备
tcsetattr:设置tty驱动程序的属性
tcgetattr:读取tty驱动程序的属性
终端
终端是人们用来和unix进程进行通信的设备。终端拥有一个可以让进程读取字符的键盘和可让进程发送字符的显示器。
进程与终端间的数据传输和数据处理由终端驱动程序负责,终端驱动程序是内核的一部分,该部分代码提供缓冲,编辑和数据转换。
代码
略
0 0
- 《unix/linux编程实践教程》学习笔记:第五章 连接控制:学习stty
- unix/linux编程实践教程:学习stty
- 第五章 连接控制 学习stty
- unix/linux编程实践教程------学习笔记
- 《unix/linux编程实践教程》学习笔记:第六章 终端控制与信号
- Unix/Linux编程实践教程参考答案-----第二章学习笔记
- unix/linux编程实践教程------学习笔记(第二章)
- 《unix/linux编程实践教程》学习笔记:第九章 shell
- unix/linux编程实践教程------学习笔记(三)
- unix/linux编程实践教程------学习笔记(四)
- unix/linux编程实践教程------学习笔记(五)
- 《unix/linux编程实践教程》学习笔记:第一章概论
- 第5章 连接控制:学习stty
- Understanding Unix/Linux Programming note:chapter 5:连接控制:学习stty
- 《Unix & Linux 大学教程》 - 第五、六章 学习笔记
- 《Unix & Linux 大学教程》 - 第五、六章 学习笔记
- 《unix/linux编程实践教程》学习笔记:第七章 事件驱动编程:编写一个视频游戏
- 《unix/linux编程实践教程》学习笔记:第二章 编写who,cp命令
- mysql 远程权限分配
- 多渠道打包
- Vulkan Programming Guide 第一章(1)
- ListView怎么添加表头
- Groovy开发工具包
- 《unix/linux编程实践教程》学习笔记:第五章 连接控制:学习stty
- 活出自己的传奇
- Alamofire的使用和网络请求的封装,解决不能打印中文的问题
- .bash_profile还原重置
- Struts2的国际化文件配置样式以及中文字体设置
- [Tinkter 教程05] Radiobutton 控件
- 搭建新博客(MrYXJ.github.io)
- 删除链表中的元素
- 通用寄存器