成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

學習Unix操作系統(tǒng)參數(shù)大行動

系統(tǒng) 其他OS
我們在使用Unix操作系統(tǒng)的時候,Unix操作系統(tǒng)的參數(shù)是我們要提到的知識,今天,我們在文章中,就來講解下Unix操作系統(tǒng)的知識。

我們在使用Unix操作系統(tǒng)的時候,我們會經(jīng)常用到一些符號,也許你還是對Unix操作系統(tǒng)不是很熟悉,這些就是Unix操作系統(tǒng)的參數(shù),今天,我們就來學習下這方面的知識。參數(shù)irq表示所要申請的硬件中斷號。handler為向Unix操作系統(tǒng)登記的中斷處理子 程序,中斷產(chǎn)生時由Unix操作系統(tǒng)來調用,調用時所帶參數(shù)irq為中斷號,dev_id為申請時告訴系統(tǒng)的設備標識,regs為中斷發(fā)生時寄存器內容。

device為設備名, 將會出現(xiàn)在/proc/interrupts文件里。flag是申請時的選項,它決定中斷處理程序的一些特性,其中最重要的是中斷處理程序是快速處理程序(flag里設置了SA_INTERRUPT)還是慢速處理程序(不設置SA_INTERRUPT),快速處理程序運行時,所有中斷都被屏蔽,而慢速處理程序運行時,除了正在處理的中斷外, 其它中斷都沒有被屏蔽。

在LINUX系統(tǒng)中,中斷可以被不同的中斷處理程序共享, 這要求每一個共享此中斷的處理程序在申請中斷時在flags里設置SA_SHIRQ, 這些處理程序之間以dev_id來區(qū)分。如果中斷由某個處理程序獨占,則dev_id 可以為NULL。request_irq返回0表示成功,返回-INVAL表示irq 15或 handler==NULL,返回-EBUSY表示中斷已經(jīng)被占用且不能共享。

作為Unix操作系統(tǒng)核心的一部分,設備驅動程序在申請和釋放內存時不是調用malloc 和free,而代之以調用kmalloc和kfree,它們被定義為:參數(shù)len為希望申請的字節(jié)數(shù),obj為要釋放的內存指針。priority為分配內存操作的優(yōu)先級,即在沒有足夠空閑內存時如何操作,一般用GFP_KERNEL。

與中斷和內存不同,使用一個沒有申請的I/O端口不會使CPU產(chǎn)生異常,也就不會導致諸如“segmentation fault"一類的錯誤發(fā)生。任何進程都可以訪問 任何一個I/O端口。此時系統(tǒng)無法保證對I/O端口的操作不會發(fā)生沖突,甚至會 因此而使Unix操作系統(tǒng)崩潰。因此,在使用I/O端口前,也應該檢查此I/O端口是否已有 別的程序在使用,若沒有,再把此端口標記為正在使用,在使用完以后釋放它。

這樣需要用到如下幾個函數(shù):
調用這些函數(shù)時的參數(shù)為:from表示所申請的I/O端口的起始地址; extent為所要申請的從from開始的端口數(shù);name為設備名,將會出現(xiàn)在/proc/ioports文件里。check_region返回0表示I/O端口空閑,否則為正在被使用。

在申請了I/O端口之后,就可以如下幾個函數(shù)來訪問I/O端口:

其中inb_p和outb_p插入了一定的延時以適應某些慢的I/O端口。 在設備驅動程序里,一般都需要用到計時機制。在LINUX系統(tǒng)中,時鐘是由 系統(tǒng)接管,設備驅動程序可以向系統(tǒng)申請時鐘。與時鐘有關的系統(tǒng)調用有:#include  asm/param.h

struct timer_list的定義為:其中expires是要執(zhí)行function的時間。Unix操作系統(tǒng)核心有一個全局變量JIFFS 表示當前時間,一般在調用add_timerjiffies=JIFFIES+num,表示在num個 系統(tǒng)最小時間間隔后執(zhí)行function。Unix操作系統(tǒng)最小時間間隔與所用的硬件平臺有關, 在核心里定義了常數(shù)HZ表示一秒內最小時間間隔的數(shù)目,則num*HZ表示num 秒。

Unix操作系統(tǒng)計時到預定時間就調用function,并把此子程序從定時隊列里刪除, 因此如果想要每隔一定時間間隔執(zhí)行一次的話,就必須在function里再一次調 用add_timer。function的參數(shù)d即為timer里面的data項。

在設備驅動程序里,還可能會用到如下的一些Unix操作系統(tǒng)函數(shù):這兩個函數(shù)負責打開和關閉中斷允許。

在用戶程序調用read 、write時,因為進程的運行狀態(tài)由用戶態(tài)變?yōu)楹诵?態(tài),地址空間也變?yōu)楹诵牡刂房臻g。而read、write中參數(shù)buf是指向用戶程 序的私有地址空間的,所以不能直接訪問,必須通過上述兩個Unix操作系統(tǒng)函數(shù)來訪問用 戶程序的私有地址空間。memcpy_fromfs由用戶程序地址空間往核心地址空間 復制,memcpy_tofs則反之。參數(shù)to為復制的目的指針,from為源指針,n 為要復制的字節(jié)數(shù)。

在Unix操作系統(tǒng)設備驅動程序里,可以調用printk來打印一些調試信息,用法與printf 類似。printk打印的信息不僅出現(xiàn)在屏幕上,同時還記錄在文件syslog里。

【編輯推薦】

  1. 略述Unix操作系統(tǒng)缺點
  2. 盤點Unix操作系統(tǒng)優(yōu)勢所在
  3. 深度講解Unix操作系統(tǒng)程指
  4. 學習Unix操作系統(tǒng)進程
  5. Unix操作系統(tǒng)Vi編輯程序操作模式
責任編輯:小霞
相關推薦

2009-05-18 09:23:00

網(wǎng)管遠程備份

2013-12-10 23:17:00

2010-01-22 00:06:26

戴爾綠色

2010-04-16 17:19:58

Unix操作系統(tǒng)

2010-04-09 11:24:38

Unix操作系統(tǒng)

2010-04-16 18:19:32

Unix操作系統(tǒng)

2010-04-20 17:11:33

Unix操作系統(tǒng)

2010-04-08 16:05:49

Unix操作系統(tǒng)

2010-04-15 13:02:41

Unix操作系統(tǒng)

2010-04-16 10:51:09

2010-05-06 17:59:50

Unix命令

2010-04-30 17:27:59

Unix操作系統(tǒng)

2018-08-20 09:00:00

2010-04-16 14:05:07

Unix操作系統(tǒng)

2010-04-09 14:59:03

Unix操作系統(tǒng)

2010-04-13 12:27:44

Unix操作系統(tǒng)

2010-04-08 16:49:36

Unix操作系統(tǒng)

2010-04-15 13:36:07

Unix操作系統(tǒng)

2010-04-09 17:16:04

Unix操作系統(tǒng)

2021-05-06 15:04:48

5G基站網(wǎng)絡
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产伦精品一区二区三区照片91 | 国产一区二 | 欧美一区在线视频 | 亚洲成人天堂 | 欧美日韩久 | 国产成人jvid在线播放 | 高清国产一区二区 | 精品在线一区二区三区 | av黄色免费在线观看 | 国产精品中文字幕在线播放 | 亚洲男人的天堂网站 | 欧美一区二区三区在线 | 日本超碰 | 成人福利 | 日韩免费成人av | 国产美女在线观看 | 精品久久成人 | 国产精品99久久久精品免费观看 | 久久精品网 | 日韩一区二区免费视频 | 久久中文字幕av | 一区二区三区四区国产 | 很黄很污的网站 | 精品美女久久久久久免费 | 久久久精品天堂 | 女同videos另类 | 成人在线免费电影 | 天天色天天射天天干 | 一区二区三区国产好 | 91人人爽| 欧美一级大黄 | 日韩精品极品视频在线观看免费 | 中文字幕欧美日韩 | 4hu最新网址 | 天堂久久一区 | 日韩亚洲视频在线 | 欧美久久久网站 | 波多野结衣中文字幕一区二区三区 | 亚洲精品一区国语对白 | 免费在线观看一区二区 | av手机免费在线观看 |