免费体验区试看120秒 I 91桃色黄色 I 久久久久久综合 I 刺激性视频黄页 I www在线免费观看 I 欧美日韩在线一 I 欧美三级免费看 I 久久人人爽人人爽人人片av I 四虎永久地址www成人久久 I 国产女优一区 I 天天躁日日摸久久久精品 I 中文综合在线观看 I 亚洲xxxx2d动漫1 I jizz中国在线观看 I 欧美精品18videos性欧 I 亚洲三级精品 I 免费色网 I free hd xxxx videos动漫 I 欧美一级在线亚洲天堂 I 免费毛片a在线观看67194 I 国精品午夜福利视频不卡757 I 国产a级黄 I 91精品国产麻豆国产在线观看 I 久久精品入口九色 I 狠狠色图 I 午夜影视体验区 I 加勒比毛片 I 亚洲精片 I 被爱豆们翻来覆去的c的视频 I 性高朝久久久久久久齐齐 I 日本黄色a级片 I 777精品视频 I 成人 在线 亚洲 I 亚洲精品永久免费网站 I 丁香九月综合 I 伊人国 I 玖草在线观看 I 色戒完整未删版在线看 I 爽爽爽在线观看 I 色多多视频在线观看 I 一区二区日本 I 九九九热精品免费视频观看 I 亚洲综合色播 I 天堂av中文字幕 I 久播播av I 国产亚洲精品久久yy5099 I 岛国精品在线播放 I 亚洲最新在线视频 I 国产午夜网 I 91中文字幕网 I 好紧好爽视频 I 性欧美teec I 国产精品久久一卡二卡 I 黄色av男人的天堂 I 国产成人av片无码免费 I 免费情侣作爱视频 I 欧美va日韩

美國服務器Linux系統的文件類型介紹

美國服務器Linux系統的文件類型有分很多種類型,但是有部分美國服務器用戶都不太了解這些文件類型,所以今天美聯科技就解析下其中幾個美國服務器Linux系統文件類型。 1 、管道文件

美國服務器Linux系統的文件類型介紹

來源:美國服務器 作者:美聯科技小編Zoe 瀏覽量:196
2019-11-14
0
       美國服務器Linux系統的文件類型有分很多種類型,但是有部分美國服務器用戶都不太了解這些文件類型,所以今天美聯科技就解析下其中幾個美國服務器Linux系統文件類型。

       1、管道文件

       管道分為匿名管道和命名管道。管道都是一端寫入、另一端讀取,屬于單方向數據傳輸,數據也都是直接在內存中傳輸的,管道是進程間通信的一種方式,例如父進程寫,子進程讀。

       在shell中匿名管道就是一個管道符號“|”,例如ls | grep xxx,其中ls對應的進程是這個獨立進程組中的父進程,grep對應的進程是子進程,父進程寫子進程讀。

       在編程語言中,匿名管道是通過創建兩個文件句柄或文件描述符來實現的,一個文件句柄用于寫數據,例如A寫入端,數據寫入A將自動推入B中,另一個文件句柄用于讀數據。

       對于命名管道,即有名稱的管道,命名管道將文件保留在文件系統中,它也稱為FIFO。雖然命名管道文件保留在文件系統中,但是這個文件只是使用命名管道的一個入口,在使用命名管道傳輸數據的時候,仍然是在內存中進行的,也就是說并不會因為保留在文件系統上命名管道的效率就低了。

       在shell中,可以使用mknod命令或mkfifo命令創建命名管道,在寫某些特殊需求的shell腳本時,命名管道非常有用。

       一般的管道都是單向通信的,無法實現雙向通信的功能,也就是只能一邊寫一邊讀,不能兩邊都能讀、寫。如果要實現雙向通信,可以創建兩根管道,或者使用更方便的套接字。

       2、套接字

       套接字用來實現兩端通信,正如上面分析的,可以實現雙向管道的進程間通信功能。不僅如此,套接字還能通過網絡實現跨主機的進程間通信功能。套接字需要成對才有意義,也就是分為兩端,每一端都有用于讀、寫的文件描述符,相當于兩根雙向通信的管道。

       套接字根據協議族的方式分為兩大類:網絡套接字和Unix Domain套接字。當然,從協議族往下,套接字可細分為很多種類型,例如INET套接字可以分為TCP套接字、UDP套接字、鏈路層套接字、Raw套接字等等。其中網絡套接字是網絡編程的基礎和核心。

       3、Unix Domain套接字

       對于單機的進程間通信,使用Unix Domain套接字比Inet套接字更好,因為Unix Domain套接字沒有網絡通信組件,也就是少了很多網絡功能,更加輕量。

       Unix Domain套接字有兩個文件句柄,這兩個文件句柄都是同時可讀、可寫的句柄。進程1向A寫入數據,將自動推送到B上,進程2可從B上讀取從A寫入的數據,同理進程2向B中寫入數據將自動推送到A上,進程1可從A上讀取從B寫入的數據。

       在編程語言中,創建Unix Domain Socket自然有對應的函數輕松創建。對于bash shell,可以通過nc命令來創建,或者干脆使用兩個命名管道來實現對應的功能。

       4、網絡套接字

       對于跨網絡的進程間通信,需要使用網絡套接字。每個網絡套接字都由5部分組成,它們稱為套接字的5元組。格式如下:

       {protocol, src_addr, src_port, dest_addr, dest_port}

       即協議、源地址、源端口、目標地址、目標端口。

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

       但是在真正可以讀、寫網絡套接字之前,網路套接字還需要一些設置。服務端套接字創建socket函數,創建后就會有一個文件句柄或文件描述符供讀、寫操作,還要綁定地址和監聽端口,客戶端則只需要創建套接字后,直接使用connect函數向服務端套接字發起連接請求即可。

       5、塊設備和字符設備

       美國服務器塊設備是硬件設備,通過隨機訪問固定大小的數據塊來區分。固定大小的chunk稱為塊block。最常見的塊設備是硬盤,但也存在許多其他塊設備,如軟盤驅動器、藍光閱讀器和閃存。注意,這些都是掛載文件系統的設備,文件系統就像是塊設備的通用語言。

       字符設備通過連續的流數據訪問,一個字節接著一個字節。典型的字符設備是終端和鍵盤。區分塊設備和字符設備最簡單的方法是看數據訪問的方式。能隨機訪問獲取數據的是塊設備,必須按字節順序訪問的是字符設備。

       以上就是部分美國服務器Linux系統的文件類型介紹。關注美聯科技,了解更多IDC資訊!
部分文章來源與網絡,若有侵權請聯系站長刪除!
主站蜘蛛池模板: 库车县| 濉溪县| 秀山| 罗甸县| 云龙县| 曲靖市| 确山县| 河间市| 绵竹市| 泰州市| 前郭尔| 陇西县| 瑞金市| 永昌县| 睢宁县| 潼关县| 漠河县| 西平县| 宜良县| 疏勒县| 永清县| 菏泽市| 威远县| 贵定县| 吐鲁番市| 盐边县| 田林县| 富民县| 榕江县| 会理县| 麻江县| 光山县| 宁津县| 沛县| 汉沽区| 儋州市| 怀柔区| 临沧市| 宁波市| 华蓥市| 郓城县|