新聞中心
linux作為一款多用戶多任務的操作系統(tǒng),最突出的特點就是其良好的資源管理機制,這里,我們想介紹一種有效的Linux資源管理機制——句柄(Handle)。

句柄是一個指針,它的用途是指向某種數(shù)據(jù)結(jié)構(gòu)。它由內(nèi)核在創(chuàng)建時候分配,只有當指針指向真正的數(shù)據(jù)結(jié)構(gòu)時,才被認為是正確的句柄。
當程序在內(nèi)核中操作文件、句柄等資源時,會在內(nèi)核中建立一個文件句柄,作為引用這個文件的指針,同時這個句柄會有一定的屬性,其中就有“只讀”狀態(tài)屬性,表示這次引用該文件的操作是只讀的,而當存在磁盤寫操作時,就會將一個新的文件句柄作為引用,這個文件句柄的屬性就是“讀寫”,指的就是既可以讀也能夠?qū)憽?
每一個系統(tǒng)調(diào)用都是由系統(tǒng)調(diào)用去代表,而每一次調(diào)用都會創(chuàng)建對應的句柄,系統(tǒng)調(diào)用結(jié)束時,就會將句柄回收,例如對文件的操作,每次都在用戶空間中要創(chuàng)建緩存,創(chuàng)建完緩存之后,就使用句柄來完成文件的讀取操作,然后,句柄在處理完畢之后,就會將文件操作緩存所分配的內(nèi)存空間銷毀。
在Linux系統(tǒng)中,句柄用于實現(xiàn)文件資源跟進程的綁定,它提供單獨本地化,對全局的本地化,并且可以實現(xiàn)對文件的多任務共享。整個系統(tǒng)的資源管理都有句柄完成,只要有句柄指向,就可以打開文件,操作數(shù)據(jù),乃至關(guān)閉文件,也就是說句柄用于資源管理可以說是根本性的,是實現(xiàn)資源多任務解決方案的前提,是真正積極主動的提供管理的資源的中間橋梁。
下面來看一下Linux下的代碼實現(xiàn):
– 以文件方式打開句柄:
fd=open(file_name,fd,rs);
– 以管道方式打開句柄:
fd = pipe(fd,rs,MAX_SIZE);
– 獲取句柄屬性:
int fcntl(int fd,int cmd, struct fcntl_arg *arg);
正如上述所說,Linux下的句柄是資源管理的根本,它可以實現(xiàn)對文件資源的本地化,方便調(diào)用者來完成文件等資源請求,以及對文件資源跟進程的綁定,當資源完成了指定任務之后,還可以實現(xiàn)資源的釋放。因此,句柄是Linux資源管理的一個效率優(yōu)化的有效機制,是內(nèi)核構(gòu)建開發(fā)者實現(xiàn)資源管理的有力工具!
成都創(chuàng)新互聯(lián)科技有限公司,是一家專注于互聯(lián)網(wǎng)、IDC服務、應用軟件開發(fā)、網(wǎng)站建設推廣的公司,為客戶提供互聯(lián)網(wǎng)基礎服務!
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡單好用,價格厚道的香港/美國云服務器和獨立服務器。創(chuàng)新互聯(lián)成都老牌IDC服務商,專注四川成都IDC機房服務器托管/機柜租用。為您精選優(yōu)質(zhì)idc數(shù)據(jù)中心機房租用、服務器托管、機柜租賃、大帶寬租用,可選線路電信、移動、聯(lián)通等。
當前題目:Linux資源管理之句柄(linux句柄)
轉(zhuǎn)載源于:http://www.dlmjj.cn/article/djocpps.html


咨詢
建站咨詢
