tty驱动分析

作者:callme_friend 发布于:2018-4-20 18:02 分类:TTY子系统

分析背景:xilinx_uartps.c (drivers\tty\serial)----linux-4.9内核

以具体驱动为例,描述了驱动的注册、打开和读写过程;梳理了相关数据结构间的关系。最后给出了一个模拟tty驱动实例。

阅读全文>>

标签: Linux tty 模拟串口

评论(26) 浏览(30095)

进程管理和终端驱动:基本概念

作者:linuxer 发布于:2016-10-28 18:56 分类:进程管理

对于任何一种OS,终端部分的内容总是令人非常的痛苦和沮丧,GNU/linux也是如此。究其原因主要有两个,一是终端驱动和终端相关的系统软件承载了太多的内容:各种虚拟终端、 伪终端、串口通信、modem、printer等。其次可能是终端和信号处理、进程关系等耦合在一起加大了理解终端驱动的难度。本文的目标是希望能够理清这些内容。

阅读全文>>

标签: process tty session group

评论(10) 浏览(17157)

Linux TTY framework(4)_TTY driver

作者:wowo 发布于:2016-10-25 22:40 分类:TTY子系统

本文将从驱动工程师的角度去看TTY framework:它怎么抽象、管理各个TTY设备?它提供了哪些编程接口以方便TTY driver的开发?怎么利用这些接口编写一个TTY driver?等等。

注1:话说介绍各个framework的时候,我一直比较喜欢用provider、consumer等概念,因为非常生动、易懂。不过在TTY framework的官方俗语中,压根没有provider、consumer等概念,为了不混淆试听,就算了吧。

注2:TTY framework在Linux kernel中算得上一个比较繁琐、庞杂的framework了,再加上现在很少有人会直接去写一个TTY driver,因此本文只是介绍一些概念性的东西,以加深对TTY及其driver的理解,为后续学习serial framework打基础。一些细节的东西,大家可参考callme_friend同学写的"TTY驱动分析[2]”,特别是其中的一些图示,很清晰!

注3:本文所使用的kernel版本为“X Project”初始的“Linux 4.6-rc5”版本。

阅读全文>>

标签: Linux Kernel 内核 driver tty tty_struct tty_port

评论(13) 浏览(18375)

Linux TTY framework(3)_从应用的角度看TTY设备

作者:wowo 发布于:2016-10-14 22:13 分类:TTY子系统

可以毫不夸张的说,我们在使用Linux系统的过程中,每时每刻都在和TTY打交道,显示输出、键盘输入、用户登录、shell终端、等等。

与此同时,作为软件工程师的我们,也会或多或少的困惑:这些习以为常的行为,怎么和kernel中的这些冷冰冰的代码联系起来的?

因此,在Linux TTY framework分析工作正式开始之前,让我们带着上面的疑问,以这些熟悉的应用场景为视角,进一步理解TTY有关的概念。这就是本文的目的。

阅读全文>>

标签: Linux tty console vt 虚拟终端 pty 伪终端 控制终端

评论(23) 浏览(19657)

Linux TTY framework(2)_软件架构

作者:wowo 发布于:2016-9-27 22:42 分类:TTY子系统

由“Linux TTY framework(1)_基本概念”的介绍可知,在Linux kernel中,TTY就是各类终端(Terminal)的简称。为了简化终端的使用,以及终端驱动程序的编写,Linux kernel抽象出了TTY framework:对上,向应用程序提供使用终端的统一接口;对下,提供编写终端驱动程序(如serial driver)的统一框架。

本文是Linux TTY framework分析的第二篇文章,将从整体架构的角度,介绍Linux TTY framework,以便分解出功能相对独立的子模块,以便后续的分析。

阅读全文>>

标签: Linux Kernel 架构 Architecture tty

评论(3) 浏览(20877)

Linux TTY framework(1)_基本概念

作者:wowo 发布于:2016-9-18 22:55 分类:TTY子系统

由于串口的缘故,TTY是Linux系统中最普遍的一类设备,稍微了解Linux系统的同学,对它都不陌生。尽管如此,相信很少有人能回到这样的问题:TTY到底是什么东西?我们常常挂在嘴边的终端(terminal)、控制台(console)等概念,到底是什么意思?

本文是Linux TTY framework分析文章的第一篇,将带着上述疑问,介绍TTY有关的基本概念,为后续的TTY软件框架的分析,以及Linux serial subsystem的分析,打好基础。

阅读全文>>

标签: Linux Kernel 内核 tty terminal 终端 console 控制台

评论(16) 浏览(26670)

Copyright @ 2013-2015 蜗窝科技 All rights reserved. Powered by emlog