该文件没有与之关联的程序来执行该操作_Liunx tty子系统分析之三 tty字符设备文件操作接口说明...
本章主要介紹tty字符設備文件對應的操作接口,從而說明tty設備的數(shù)據(jù)打開、關閉、讀、寫等接口的實現(xiàn)等內容。
tyy file_operations定義
tty字符設備文件操作接口的定義如下,主要包括tty_fops、console_fops、hung_up_tty_fops,其中console_fops為控制臺設備的文件操作接口,hung_up_tty_fops為tty設備掛起后的文件操作接口,而tty_fops則為非控制臺設備的文件操作接口。
在之前幾章的介紹中,我們已經說明過,在tty字符設備文件的打開操作后,完成tty_struct創(chuàng)‘建、tty_struct與tty_port、tty_struct與tty_ldisc等關聯(lián),下面我們簡要分析下這幾個函數(shù)。
tty_open接口
針對tty_open接口而言,主要實現(xiàn)如下幾個功能:
針對tty_open接口,主要涉及如下幾個函數(shù)的調用:tty_open_current_tty、tty_driver_lookup_tty、tty_init_dev、initialize_tty_struct、tty_driver_install_tty等接口,而針對tty_init_dev接口而言,則主要實現(xiàn)tty_struct的創(chuàng)建以及各數(shù)據(jù)結構之間的關聯(lián)等信息。
tty_init_dev
1. 創(chuàng)建一個tty_struct類型的變量,用于完成一個tty_struct、tty_driver的綁定等操作
2.調用initialize_tty_struct,初始化tty_struct類型變量,包括根據(jù)tty端口的id、tty端口對應的device
tty端口對應tty_driver、線路規(guī)程等設置該tty_struct對應的成員
3.調用tty_driver_install_tty,完成tty_driver與tty_struct的綁定,并初始化tty_struct的termios參數(shù)
4.調用tty_ldisc_setup,打開線路規(guī)程的open接口(如設置termios、關閉流控、使能ldisc)等功能
5.完成tty_struct與tty_port的關聯(lián)
tty_read接口
當執(zhí)行完成tty_open后,則完成了tty_driver、tty_port、tty device、tty_ldisc、tty_struct等數(shù)據(jù)結構的關聯(lián),則可以與tty端口進行讀寫操作了。下面說明下tty_read的操作流程。
如下圖所示,針對應用程序讀tty端口的操作,主要包括如下幾個步驟:
tty_write接口
針對tty_write的操作流程,與tty_read類似,下面說明下tty_read的操作流程。
如下圖所示,針對應用程序寫tty端口的操作,主要包括如下幾個步驟:
tty_poll接口
該接口主要用于select、epoll機制,主要也是借助tty_struct->read_wait、tty_struct->write_wait等待隊列,完成tty_poll接口的實現(xiàn),此處不再展開。
tty_close接口
該接口主要調用release_tty、tty_ldisc_release、tty_ldisc_kill、tty_del_file等接口,用于解除tty_struct、tty_driver、tty_ldisc、tty_port、tty device之間的關聯(lián)。此處我們對release_tty進行簡要說明
release_tty接口
其實現(xiàn)的功能如下:
本章主要介紹tty字符設備接口的文件操作接口,其open接口主要完成tty_struct創(chuàng)建、tty_driver、tty_port、tty_ldisc、tty device的關聯(lián)操作;而讀寫接口則主要借助等待隊列、工作隊列完成對tty端口的讀寫操作。下一章則根據(jù)tty__register_driver、tty_port_register_device創(chuàng)建一個虛擬的tty串口驅動,以便我們不借助開發(fā)板也可以進行tty子系統(tǒng)驅動的學習工作。
總結
以上是生活随笔為你收集整理的该文件没有与之关联的程序来执行该操作_Liunx tty子系统分析之三 tty字符设备文件操作接口说明...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android10锁屏时钟样式,三星s1
- 下一篇: 智能识别云服务端平台之神【合合信息Tex