自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Unix系統(tǒng)字符型設(shè)備驅(qū)動(dòng)程序能夠提供的入口點(diǎn)

系統(tǒng) 其他OS
在文章中,我們知道在Unix系統(tǒng)的內(nèi)部,I/O設(shè)備的存取通過(guò)一組固定的入口點(diǎn)進(jìn)行的,這組入口點(diǎn)是由每個(gè)設(shè)備的設(shè)備驅(qū)動(dòng)程序提供的。

我們知道Unix系統(tǒng)對(duì)硬件設(shè)備支持兩個(gè)標(biāo)準(zhǔn)接口:塊特別設(shè)備文件和字符特別設(shè)備文件,通過(guò)塊(字符)特別設(shè)備文件存取的設(shè)備稱(chēng)為塊(字符)設(shè)備或具有塊(字符)設(shè)備接口。塊設(shè)備接口僅支持面向塊的I/O操作,所有I/O操作都通過(guò)在內(nèi)核地址空間中的I/O緩沖區(qū)進(jìn)行,它可以支持幾乎任意長(zhǎng)度和任意位置上的I/O請(qǐng)求,即提供隨機(jī)存取的功能。

在Unix系統(tǒng)內(nèi)部,I/O設(shè)備的存取通過(guò)一組固定的入口點(diǎn)來(lái)進(jìn)行,這組入口點(diǎn)是由每個(gè)設(shè)備的設(shè)備驅(qū)動(dòng)程序提供的。一般來(lái)說(shuō),Unix系統(tǒng)字符型設(shè)備驅(qū)動(dòng)程序能夠提供如下幾個(gè)入口點(diǎn):

(1) open入口點(diǎn)。打開(kāi)設(shè)備準(zhǔn)備I/O操作。對(duì)字符特別設(shè)備文件進(jìn)行打開(kāi)操作,都會(huì)調(diào)用設(shè)備的open入口點(diǎn)。open子程序必須對(duì)將要進(jìn)行的I/O操作做好必要的準(zhǔn)備工作,如清除Unix系統(tǒng)緩沖區(qū)等。如果設(shè)備是獨(dú)占的,即同一時(shí)刻只能有一個(gè)程序訪問(wèn)此設(shè)備,則open子程序必須設(shè)置一些標(biāo)志以表示設(shè)備處于忙狀態(tài)。

(2) close入口點(diǎn)。關(guān)閉一個(gè)設(shè)備。當(dāng)***一次Unix系統(tǒng)使用設(shè)備終結(jié)后,調(diào)用close子程序。獨(dú)占設(shè)備必須標(biāo)記設(shè)備可再次使用。

(3) read入口點(diǎn)。從設(shè)備上讀數(shù)據(jù)。對(duì)于有緩沖區(qū)的I/O操作,一般是從緩沖區(qū)里讀數(shù)據(jù)。對(duì)字符特別設(shè)備文件進(jìn)行讀操作將調(diào)用read子程序。
 
(4) write入口點(diǎn)。往設(shè)備上寫(xiě)數(shù)據(jù)。對(duì)于有緩沖區(qū)的I/O操作,一般是把數(shù)據(jù)寫(xiě)入緩沖區(qū)里。對(duì)字符特別設(shè)備文件進(jìn)行寫(xiě)操作將調(diào)用write子程序。

(5) ioctl入口點(diǎn)。執(zhí)行讀、寫(xiě)之外的操作。

(6) select入口點(diǎn)。檢查Unix系統(tǒng)設(shè)備,看數(shù)據(jù)是否可讀或設(shè)備是否可用于寫(xiě)數(shù)據(jù)。select系統(tǒng)調(diào)用在檢查與設(shè)備特別文件相關(guān)的文件描述符時(shí)使用select入口點(diǎn)。如果設(shè)備驅(qū)動(dòng)程序沒(méi)有提供上述入口點(diǎn)中的某一個(gè),系統(tǒng)會(huì)用缺省的子程序來(lái)代替。對(duì)于不同的系統(tǒng),也還有一些其它的入口點(diǎn)。

我們知道了,在Unix系統(tǒng)中,對(duì)用戶程序而言,設(shè)備驅(qū)動(dòng)程序隱藏了設(shè)備的具體細(xì)節(jié),對(duì)各種不同設(shè)備提供了一致的接口,一般來(lái)說(shuō)是把設(shè)備映射為一個(gè)特殊的設(shè)備文件,用戶程序可以象對(duì)其它文件一樣對(duì)此設(shè)備文件進(jìn)行操作。

【編輯推薦】

  1. Unix連接知識(shí)講解之文件的連接和符號(hào)連接
  2. Unix系統(tǒng)文件使用chmod的一些例子
  3. 對(duì)Unix文件的屬性知識(shí)深入講解
  4. 一起來(lái)學(xué)習(xí)Unix文件知識(shí)詳細(xì)分析
  5. 講解非常重要的Unix文件
責(zé)任編輯:小霞
相關(guān)推薦

2010-05-10 15:53:24

Unix系統(tǒng)

2010-04-19 10:28:43

Unix操作系統(tǒng)

2010-04-19 10:18:30

Unix操作系統(tǒng)

2011-01-10 18:21:38

linux編寫(xiě)程序

2021-11-29 07:55:45

Linux GPIO Linux 系統(tǒng)

2009-12-07 09:39:04

Linux設(shè)備驅(qū)動(dòng)硬件通信

2021-11-16 06:55:36

Linux字符設(shè)備

2021-11-22 08:14:23

Linux Linux驅(qū)動(dòng)Linux 系統(tǒng)

2009-06-12 08:39:08

微軟Windows 7操作系統(tǒng)

2018-11-26 08:45:29

Linux驅(qū)動(dòng)程序命令

2009-07-06 18:17:46

JDBC驅(qū)動(dòng)程序

2023-10-28 09:57:04

FocusriteLinux

2021-06-27 17:31:16

微軟惡意軟件網(wǎng)絡(luò)攻擊

2011-09-08 18:34:33

WindowsXP驅(qū)動(dòng)程序

2013-10-31 16:29:10

Linux內(nèi)核

2020-12-18 11:54:22

Linux系統(tǒng)架構(gòu)

2021-02-22 09:05:59

Linux字符設(shè)備架構(gòu)

2011-01-06 16:29:08

linuxtasklet機(jī)制

2009-08-12 18:20:39

C#事件驅(qū)動(dòng)程序

2017-03-03 08:40:32

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)