国产精品久久香蕉免费播放,久久18禁高潮出水呻吟娇喘,亚洲AV无码成人精品区狼人影院,456亚洲影院,日本伊人精品一区二区三区

美國Linux服務(wù)器系統的文件類(lèi)型

美國Linux服務(wù)器系統的文件類(lèi)型

美國Linux服務(wù)器系統的文件類(lèi)型有多種區分,不同的類(lèi)型分別對應不同的功能,因此用戶(hù)們可能不太了解美國Linux服務(wù)器系統的文件類(lèi)型,下面美聯(lián)科技小編就來(lái)介紹下美國Linux服務(wù)器系統主要的文件類(lèi)型。

1、管道文件

管道分為匿名管道和命名管道,美國Linux服務(wù)器管道文件都是一端寫(xiě)入、另一端讀取,屬于單方向數據傳輸,數據也都是直接在內存中傳輸的,管道是進(jìn)程間通信的一種方式,例如父進(jìn)程寫(xiě),子進(jìn)程讀。

在shell中匿名管道就是一個(gè)管道符號|,例如ls | grep xxx,其中ls對應的進(jìn)程是這個(gè)獨立進(jìn)程組中的父進(jìn)程,grep對應的進(jìn)程是子進(jìn)程,父進(jìn)程寫(xiě),子進(jìn)程讀。

在美國Linux服務(wù)器編程語(yǔ)言中,匿名管道是通過(guò)創(chuàng )建兩個(gè)文件句柄或文件描述符來(lái)實(shí)現的,一個(gè)文件句柄用于寫(xiě)數據,例如A寫(xiě)入端,數據寫(xiě)入A將自動(dòng)推入B中,另一個(gè)文件句柄用于讀數據。

對于命名管道,即有名稱(chēng)的管道,命名管道將文件保留在美國Linux服務(wù)器文件系統中,它也稱(chēng)為FIFO。雖然命名管道文件保留在文件系統中,但是這個(gè)文件只是使用命名管道的一個(gè)入口,在使用命名管道傳輸數據的時(shí)候,仍然是在內存中進(jìn)行的,也就是說(shuō)并不會(huì )因為保留在文件系統上命名管道的效率就低了。

在shell中,可以使用mknod命令或mkfifo命令創(chuàng )建命名管道,在寫(xiě)某些特殊需求的shell腳本時(shí),命名管道非常有用。

一般的管道都是單向通信的,無(wú)法實(shí)現雙向通信的功能,也就是只能一邊寫(xiě)一邊讀,不能兩邊都能讀、寫(xiě)。如果美國Linux服務(wù)器要實(shí)現雙向通信,可以創(chuàng )建兩根管道,或者使用更方便的套接字。

2、套接字Socket

套接字用來(lái)實(shí)現美國Linux服務(wù)器兩端通信,正如上面分析的可以實(shí)現雙向管道的進(jìn)程間通信功能。不僅如此,套接字還能通過(guò)網(wǎng)絡(luò )實(shí)現跨主機的進(jìn)程間通信功能。套接字需要成對才有意義,也就是分為兩端,每一端都有用于讀、寫(xiě)的文件描述符,相當于兩根雙向通信的管道。

套接字根據協(xié)議族的方式分為兩大類(lèi):網(wǎng)絡(luò )套接字和Unix Domain套接字。當然從協(xié)議族往下,套接字可細分為很多種類(lèi)型,例如INET套接字可以分為T(mén)CP套接字、UDP套接字、鏈路層套接字、Raw套接字等等。其中網(wǎng)絡(luò )套接字是美國Linux服務(wù)器網(wǎng)絡(luò )編程的基礎和核心。

3、Unix Domain套接字

對于單機的進(jìn)程間通信,使用Unix Domain套接字比Inet套接字更好,因為Unix Domain套接字沒(méi)有網(wǎng)絡(luò )通信組件,也就是少了很多網(wǎng)絡(luò )功能,使得美國Linux服務(wù)器更加輕量。

Unix Domain套接字有兩個(gè)文件句柄,這兩個(gè)文件句柄都是同時(shí)可讀、可寫(xiě)的句柄。進(jìn)程1向A寫(xiě)入數據,將自動(dòng)推送到B上,進(jìn)程2可從B上讀取從A寫(xiě)入的數據,同理進(jìn)程2向B中寫(xiě)入數據將自動(dòng)推送到A上,進(jìn)程1可從A上讀取從B寫(xiě)入的數據。

在美國Linux服務(wù)器編程語(yǔ)言中,創(chuàng )建Unix Domain Socket自然有對應的函數輕松創(chuàng )建。對于bash shell,可以通過(guò)nc命令來(lái)創(chuàng )建,或者干脆使用兩個(gè)命名管道來(lái)實(shí)現對應的功能。

4、網(wǎng)絡(luò )套接字

對于跨網(wǎng)絡(luò )的美國Linux服務(wù)器進(jìn)程間通信,需要使用網(wǎng)絡(luò )套接字。每個(gè)網(wǎng)絡(luò )套接字都由5部分組成,它們稱(chēng)為套接字的5元組。格式如下:

{protocol, src_addr, src_port, dest_addr, dest_port}

即協(xié)議、源地址、源端口、目標地址、目標端口。

每端套接字在內核空間都有兩個(gè)buffe,每一端都有recv buffer和send buffer。進(jìn)程1向自己的套接字的send buffer寫(xiě)入數據,將發(fā)送到對端的recv buffer中,然后對端的進(jìn)程2就可以從recv buffer中讀取數據。

但是在真正可以讀、寫(xiě)網(wǎng)絡(luò )套接字之前,網(wǎng)路套接字還需要一些設置。服務(wù)端套接字創(chuàng )建socket函數,創(chuàng )建后就會(huì )有一個(gè)文件句柄或文件描述符供讀、寫(xiě)操作,還要綁定地址和監聽(tīng)端口,客戶(hù)端則只需要創(chuàng )建套接字后,直接使用connect函數向服務(wù)端套接字發(fā)起連接請求即可。

5、塊設備和字符設備

美國Linux服務(wù)器塊設備是硬件設備,通過(guò)隨機訪(fǎng)問(wèn)固定大小的數據塊來(lái)區分。固定大小的chunk稱(chēng)為塊block。最常見(jiàn)的塊設備是硬盤(pán),但也存在許多其他塊設備,如軟盤(pán)驅動(dòng)器、藍光閱讀器和閃存。注意這些都是掛載文件系統的設備,美國Linux服務(wù)器文件系統就像是塊設備的通用語(yǔ)言。

字符設備通過(guò)連續的流數據訪(fǎng)問(wèn),一個(gè)字節接著(zhù)一個(gè)字節,典型的字符設備是終端和鍵盤(pán)。區分塊設備和字符設備最簡(jiǎn)單的方法是看數據訪(fǎng)問(wèn)的方式。能隨機訪(fǎng)問(wèn)獲取數據的是塊設備,必須按字節順序訪(fǎng)問(wèn)的是字符設備。

以上就是美國Linux服務(wù)器系統主要的文件類(lèi)型介紹。希望能幫助有需要的美國Linux服務(wù)器了解更多信息。

 

客戶(hù)經(jīng)理