freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

嵌入式linux操作系統(tǒng)-資料下載頁(yè)

2025-05-12 06:44本頁(yè)面
  

【正文】 嵌入式 LINUX操作系統(tǒng) 39 下面是 EXT2的索引節(jié)點(diǎn)的一些主要的字段。 ? mode 這里保存兩個(gè)信息:一個(gè)是此索引節(jié)點(diǎn)描述的是什么,另一個(gè)是用戶(hù)擁有的權(quán)限。例如,對(duì)于 EXT2,一個(gè)索引節(jié)點(diǎn)可以描述文件、目錄、符號(hào)連接、塊設(shè)備、字符設(shè)備,以及 FIFO結(jié)構(gòu)。 ? Owner Information 這是文件或目錄所有者的用戶(hù)和組標(biāo)志符。這使得文件系統(tǒng)可以正確地授權(quán)某種存取操作。 ? Size 文件的字節(jié)大小。 ? Timestamps 索引節(jié)點(diǎn)建立的時(shí)間和索引節(jié)點(diǎn)最后修改的時(shí)間。 ? Datablocks 指向存儲(chǔ)此索引節(jié)點(diǎn)描述文件的數(shù)據(jù)塊的指針。前 12個(gè)指針是指向存儲(chǔ)數(shù)據(jù)的物理數(shù)據(jù)塊的指針,而后 3個(gè)指針則包括不同級(jí)別的間接指針。例如,兩級(jí)指針指向一個(gè)指向其他指針塊的指針塊,這意味著小于或者等于 12個(gè)數(shù)據(jù)塊的文件的存取速度要高于多于 12個(gè)數(shù)據(jù)塊的文件。 超級(jí)塊( Superblock)存儲(chǔ)著描述文件系統(tǒng)的大小和形狀的基本信息。文件系統(tǒng)的管理員可以使用其中的信息來(lái)使用和維護(hù)文件系統(tǒng)。一般情況下,當(dāng)文件系統(tǒng)掛接時(shí),系統(tǒng)只讀取數(shù)據(jù)塊組 0中的超級(jí)塊,但每一個(gè)數(shù)據(jù)塊組中都包含一個(gè)超級(jí)塊的副本,以防系統(tǒng)崩潰時(shí)使用。 第 2章 嵌入式 LINUX操作系統(tǒng) 40 2.虛擬文件系統(tǒng)( VFS) 如圖 Linux系統(tǒng)內(nèi)核中的 VFS和實(shí)際文件系統(tǒng)之間的關(guān)系。 VFS必須管理同時(shí)掛接在系統(tǒng)上的不同的文件系統(tǒng)。 VFS通過(guò)使用描述整個(gè) VFS的數(shù)據(jù)結(jié)構(gòu)和描述實(shí)際掛接的文件系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)來(lái)管理這些不同的文件系統(tǒng)。 這里易于混淆的是, VFS和 EXT2文件系統(tǒng)一樣使用超級(jí)塊和索引節(jié)點(diǎn)來(lái)描述系統(tǒng)中的文件。與 EXT2中的索引節(jié)點(diǎn)一樣, VFS的索引節(jié)點(diǎn)用來(lái)描述系統(tǒng)中的文件和目錄。 當(dāng)一個(gè)文件系統(tǒng)初始化時(shí),它將在 VFS中登記。這些過(guò)程在操作系統(tǒng)初始化時(shí)完成。實(shí)際的文件系統(tǒng)或者內(nèi)建到操作系統(tǒng)內(nèi)核中,或者作為可裝入模塊在需要時(shí)裝入。當(dāng)一個(gè)基于塊設(shè)備的文件系統(tǒng)掛接時(shí),當(dāng)然也包括根文件系統(tǒng), VFS首先要讀取它的超級(jí)塊。每一個(gè)文件系統(tǒng)的超級(jí)塊讀取程序都必須先清楚文件系統(tǒng)的結(jié)構(gòu),然后把有關(guān)的信息添加到 VFS的超級(jí)塊數(shù)據(jù)結(jié)構(gòu)中。 VFS中保存了系統(tǒng)中掛接的文件系統(tǒng)的鏈表,以及這些文件系統(tǒng)對(duì)應(yīng)的 VFS超級(jí)塊。每一個(gè) VFS超級(jí)塊都包含一些信息和指向一些執(zhí)行特別功能的子程序的指針。例如,代表掛接的 EXT2文件系統(tǒng)的 VFS超級(jí)塊包含了一個(gè)指向 EXT2索引節(jié)點(diǎn)讀取程序的指針。這個(gè) EXT2索引節(jié)點(diǎn)讀取程序,與其他文件系統(tǒng)索引節(jié)點(diǎn)的讀取程序一樣,把信息添加到 VFS索引節(jié)點(diǎn)中的字段中。每一個(gè) VFS超級(jí)塊都包含一個(gè)指向文件系統(tǒng)中第一個(gè) VFS索引節(jié)點(diǎn)的指針。對(duì)于根文件系統(tǒng)來(lái)說(shuō),第一個(gè) VFS索引節(jié)點(diǎn)是代表根目錄( /)的索引節(jié)點(diǎn)。這種對(duì)應(yīng)關(guān)系對(duì)于 EXT2文件系統(tǒng)來(lái)說(shuō)十分有效,但對(duì)于其他的文件系統(tǒng)則效果一般。 第 2章 嵌入式 LINUX操作系統(tǒng) 41 當(dāng)系統(tǒng)中的進(jìn)程存取目錄和文件時(shí),需要調(diào)用系統(tǒng)中的子程序來(lái)遍歷搜索系統(tǒng)中的VFS索引節(jié)點(diǎn)。例如,鍵入 ls或者 cat命令將導(dǎo)致 VFS搜索整個(gè)文件系統(tǒng)中的 VFS索引節(jié)點(diǎn)。因?yàn)橄到y(tǒng)中的每一個(gè)文件和目錄都由一個(gè)索引節(jié)點(diǎn)來(lái)表示,那么有些索引節(jié)點(diǎn)將經(jīng)常會(huì)被重復(fù)地搜索。這些索引節(jié)點(diǎn)將保存在索引節(jié)點(diǎn)緩存中,這樣將加快以后的存取速度。如果要找的索引節(jié)點(diǎn)不在索引節(jié)點(diǎn)緩存中,那么進(jìn)程將調(diào)用一個(gè)特殊的系統(tǒng)程序來(lái)讀取相應(yīng)的索引節(jié)點(diǎn)。讀取索引節(jié)點(diǎn)后,此索引節(jié)點(diǎn)將放在索引節(jié)點(diǎn)緩存中。最少用到的索引節(jié)點(diǎn)將被交換出索引節(jié)點(diǎn)緩存。 第 2章 嵌入式 LINUX操作系統(tǒng) 42 設(shè)備管理 操作系統(tǒng)的一個(gè)功能就是將用戶(hù)和系統(tǒng)的硬件特性隔離。例如,虛擬文件系統(tǒng)( VFS)使得系統(tǒng)上掛接的文件系統(tǒng)具有相同的接口,使用戶(hù)不必關(guān)心底層的硬件設(shè)備。 計(jì)算機(jī)系統(tǒng)中的物理設(shè)備都有自己的硬件控制器。例如,鍵盤(pán)、鼠標(biāo)和串行口是由 SuperIO芯片控制的; IDE硬盤(pán)是由 IDE控制器控制的,等等。每一個(gè)硬件控制器都有自己的控制及狀態(tài)寄存器( CSR),而且隨設(shè)備的不同而不同。CSR用來(lái)啟動(dòng)和停止設(shè)備、初始化設(shè)備和診斷設(shè)備錯(cuò)誤。設(shè)備驅(qū)動(dòng)程序一般集成在操作系統(tǒng)內(nèi)核,這樣,不同的應(yīng)用程序就可以共享這些代碼。設(shè)備驅(qū)動(dòng)程序?qū)嶋H是處理或操作硬件控制器的軟件,從本質(zhì)上講,它們是內(nèi)核中具有高特權(quán)級(jí)的、駐留內(nèi)存的、可共享的底層硬件處理例程。 設(shè)備驅(qū)動(dòng)程序的一個(gè)基本特點(diǎn)就是對(duì)設(shè)備的抽象處理。系統(tǒng)中的所有硬件設(shè)備看起來(lái)都與一般的文件一樣,它們可以使用處理文件的標(biāo)準(zhǔn)系統(tǒng)調(diào)用來(lái)打開(kāi)、關(guān)閉和讀寫(xiě)。系統(tǒng)中的每一個(gè)設(shè)備都由一個(gè)設(shè)備文件來(lái)代表,例如,主 IDE硬盤(pán)的設(shè)備文件是 /dev/hda。對(duì)于塊設(shè)備和字符設(shè)備來(lái)說(shuō),這些設(shè)備文件可以使用mknod命令創(chuàng)建。新建的設(shè)備文件使用主設(shè)備號(hào)和從設(shè)備號(hào)來(lái)描述此設(shè)備。網(wǎng)絡(luò)設(shè)備的設(shè)備文件是當(dāng)系統(tǒng)查找到網(wǎng)絡(luò)設(shè)備并初始化網(wǎng)絡(luò)控制器之后才建立的。一個(gè)設(shè)備驅(qū)動(dòng)程序控制的所有設(shè)備有一個(gè)相同的主設(shè)備號(hào),通過(guò)不同的從設(shè)備號(hào)來(lái)區(qū)分設(shè)備和它們的控制器。例如,主 IDE硬盤(pán)的每一個(gè)分區(qū)都有一個(gè)不同的從設(shè)備號(hào),這樣,主 IDE硬盤(pán)的第二個(gè)分區(qū)的設(shè)備文件是 /dev/hda2。 Linux系統(tǒng)使用主設(shè)備號(hào)和系統(tǒng)中的一些表來(lái)將系統(tǒng)調(diào)用中使用的設(shè)備文件映射到設(shè)備驅(qū)動(dòng)程序中。 第 2章 嵌入式 LINUX操作系統(tǒng) 43 Linux系統(tǒng)支持三種類(lèi)型的硬件設(shè)備:字符設(shè)備、塊設(shè)備和網(wǎng)絡(luò)設(shè)備。其中與文件子系統(tǒng)相關(guān)的兩種類(lèi)型是字符設(shè)備和塊設(shè)備。字符設(shè)備是直接讀取的,不必使用緩沖區(qū),但是必須以串行的順序依次訪問(wèn)。例如,系統(tǒng)的串行口 /dev/cua0和 /dev/cua1。塊設(shè)備每次只能讀取一定大小的塊的倍數(shù),通常一塊是 512字節(jié)或者 1024字節(jié)。塊設(shè)備通過(guò)緩沖區(qū)讀寫(xiě),并且可以隨機(jī)地讀寫(xiě)。塊設(shè)備可以通過(guò)它們的設(shè)備文件存取,但通常是通過(guò)文件系統(tǒng)存取。只有塊設(shè)備支持掛接的文件系統(tǒng)。網(wǎng)絡(luò)設(shè)備是通過(guò) BSD套接字界面存取的。 Linux系統(tǒng)支持多種設(shè)備,這些設(shè)備的驅(qū)動(dòng)程序之間有以下這些共同的特點(diǎn)。 ? 內(nèi)核代碼:由于設(shè)備驅(qū)動(dòng)程序是系統(tǒng)內(nèi)核的一部分,所以如果驅(qū)動(dòng)程序出現(xiàn)錯(cuò)誤的話,將可能?chē)?yán)重地破壞整個(gè)系統(tǒng)。 ? 內(nèi)核接口:設(shè)備驅(qū)動(dòng)程序必須為系統(tǒng)內(nèi)核或者它們的子系統(tǒng)提供一個(gè)標(biāo)準(zhǔn)的接口。例如,一個(gè)終端驅(qū)動(dòng)程序必須為 Linux內(nèi)核提供一個(gè)文件 I/O接口;一個(gè)SCSI設(shè)備驅(qū)動(dòng)程序應(yīng)該為 SCSI子系統(tǒng)提供一個(gè) SCSI設(shè)備接口,同時(shí), SCSI子系統(tǒng)也應(yīng)為系統(tǒng)內(nèi)核提供文件 I/O和緩沖區(qū)。 ? 內(nèi)核機(jī)制和服務(wù):設(shè)備驅(qū)動(dòng)程序會(huì)使用一些標(biāo)準(zhǔn)的內(nèi)核服務(wù)。 ? 可裝入:大多數(shù)的 Linux設(shè)備驅(qū)動(dòng)程序都可以在需要時(shí)裝入內(nèi)核,在不需要時(shí)卸載。 ? 可設(shè)置: Linux系統(tǒng)設(shè)備驅(qū)動(dòng)程序可以集成為系統(tǒng)內(nèi)核的一部分,至于哪一部分需要集成到內(nèi)核中,可以在系統(tǒng)編譯時(shí)設(shè)置。 ? 動(dòng)態(tài)性:當(dāng)系統(tǒng)啟動(dòng)并且各個(gè)設(shè)備驅(qū)動(dòng)程序初始化以后,驅(qū)動(dòng)程序?qū)⒕S護(hù)其控制的設(shè)備。如果設(shè)備驅(qū)動(dòng)程序控制的設(shè)備不存在,也不會(huì)妨礙系統(tǒng)的運(yùn)行。在這種情況下,設(shè)備的驅(qū)動(dòng)程序只是多占用了一點(diǎn)系統(tǒng)的內(nèi)存而已。 第 2章 嵌入式 LINUX操作系統(tǒng) 44 Linux系統(tǒng)和設(shè)備驅(qū)動(dòng)程序之間使用標(biāo)準(zhǔn)的交互接口。無(wú)論是字符設(shè)備、塊設(shè)備還是網(wǎng)絡(luò)設(shè)備的設(shè)備驅(qū)動(dòng)程序,當(dāng)系統(tǒng)內(nèi)核請(qǐng)求它們的服務(wù)時(shí),都使用同樣的接口。這樣,Linux系統(tǒng)內(nèi)核可以用同樣的方法來(lái)使用完全不同的各種設(shè)備。 Linux系統(tǒng)是一個(gè)動(dòng)態(tài)的操作系統(tǒng),每當(dāng) Linux系統(tǒng)內(nèi)核啟動(dòng)時(shí),它都有可能檢測(cè)到不同的物理設(shè)備,這樣就可能需要不同的驅(qū)動(dòng)程序。 Linux允許在構(gòu)建系統(tǒng)內(nèi)核時(shí)使用設(shè)置腳本將設(shè)備驅(qū)動(dòng)程序包括在系統(tǒng)內(nèi)核中。這些驅(qū)動(dòng)程序在系統(tǒng)啟動(dòng)時(shí)初始化,它們可能找不到所控制的設(shè)備,其他的設(shè)備驅(qū)動(dòng)程序可以在需要時(shí)作為內(nèi)核模塊裝入到系統(tǒng)內(nèi)核中。為了適應(yīng)設(shè)備驅(qū)動(dòng)程序的這種動(dòng)態(tài)的特性,設(shè)備驅(qū)動(dòng)程序在其初始化時(shí)就在系統(tǒng)內(nèi)核中進(jìn)行登記。 Linux系統(tǒng)使用設(shè)備驅(qū)動(dòng)程序的登記表作為內(nèi)核和驅(qū)動(dòng)程序接口的一部分。這些表中包括指向處理程序的指針和其他信息。 所有的設(shè)備驅(qū)動(dòng)程序都支持文件操作接口。可見(jiàn),每個(gè)設(shè)備都可以當(dāng)做是文件系統(tǒng)中的一個(gè)文件來(lái)進(jìn)行訪問(wèn)(這里所說(shuō)的文件是指設(shè)備特殊文件)。因?yàn)閮?nèi)核的大部分都是通過(guò)這個(gè)文件接口來(lái)處理設(shè)備的,通過(guò)實(shí)現(xiàn)設(shè)備相關(guān)代碼來(lái)支持這個(gè)抽象的文件系統(tǒng),則加入新設(shè)備驅(qū)動(dòng)程序的操作會(huì)變得簡(jiǎn)單一些。因?yàn)榇嬖诖罅坎煌挠布O(shè)備,所以越容易編寫(xiě)新的設(shè)備驅(qū)動(dòng)程序越好,這一點(diǎn)是很重要的。 Linux內(nèi)核在訪問(wèn)塊設(shè)備時(shí),使用一個(gè)緩沖區(qū)高速緩存來(lái)提高性能。所有對(duì)塊設(shè)備的訪問(wèn)都是通過(guò)緩沖區(qū)高速緩存子系統(tǒng)發(fā)生的。因?yàn)榫彌_區(qū)高速緩存可以減少對(duì)硬件設(shè)備的讀寫(xiě)操作的次數(shù),所以它大大提高了系統(tǒng)的性能。每個(gè)硬件設(shè)備都有一個(gè)請(qǐng)求隊(duì)列,當(dāng)緩沖區(qū)高速緩存不能在內(nèi)存緩沖區(qū)中滿(mǎn)足用戶(hù)請(qǐng)求時(shí),它把請(qǐng)求加入到該設(shè)備的請(qǐng)求隊(duì)列中,并開(kāi)始睡眠,直到該請(qǐng)求被滿(mǎn)足為止。緩沖區(qū)高速緩存使用一個(gè)獨(dú)立的內(nèi)核線程 kflushd,把緩沖區(qū)頁(yè)面寫(xiě)到設(shè)備上,并把它們從高速緩存中刪除。 第 2章 嵌入式 LINUX操作系統(tǒng) 45 當(dāng)設(shè)備驅(qū)動(dòng)程序需要滿(mǎn)足請(qǐng)求時(shí),它首先通過(guò)對(duì)設(shè)備的控制與狀態(tài)寄存器( CSR)進(jìn)行操作,完成該硬件設(shè)備操作的初始化工作。有三種通用機(jī)制可以把數(shù)據(jù)從主計(jì)算機(jī)上移到設(shè)備上:輪詢(xún)、直接內(nèi)存訪問(wèn)( DMA),以及中斷。在使用輪詢(xún)的情況下,設(shè)備驅(qū)動(dòng)程序周期地檢查設(shè)備的 CSR,看看當(dāng)前請(qǐng)求是否已經(jīng)完成了。如果已經(jīng)完成,則驅(qū)動(dòng)程序初始化下一個(gè)請(qǐng)求,再繼續(xù)進(jìn)行上述操作。對(duì)低速硬件設(shè)備如軟盤(pán)驅(qū)動(dòng)器和調(diào)制解調(diào)器而言,輪詢(xún)是一種適合的機(jī)制,傳輸?shù)牧硪环N機(jī)制是 DMA。在這種情況下,設(shè)備驅(qū)動(dòng)程序?qū)⒊跏蓟?jì)算機(jī)的主內(nèi)存和分層設(shè)備之間的 DMA傳輸。該傳輸與主 CPU并發(fā)工作,在操作繼續(xù)進(jìn)行的過(guò)程中,允許 CPU處理其他任務(wù)。當(dāng) DMA操作完成以后, CPU接收到一個(gè)中斷。在 Linux內(nèi)核中,中斷處理是相當(dāng)普遍的,它比其他兩種方法都要復(fù)雜得多。 當(dāng)硬件設(shè)備需要報(bào)告某些條件的變化時(shí)(例如,鼠標(biāo)鍵被按下,鍵盤(pán)鍵被按下),或者報(bào)告某操作的完成時(shí),它向 CPU發(fā)送一個(gè)中斷,如果中斷使能,則 CPU停止執(zhí)行當(dāng)前指令,開(kāi)始執(zhí)行 Linux內(nèi)核的中斷處理代碼。內(nèi)核找到應(yīng)該調(diào)用的合適的中斷處理程序(每個(gè)設(shè)備驅(qū)動(dòng)程序都會(huì)注冊(cè)一些處理程序,用于處理該設(shè)備所產(chǎn)生的中斷)。當(dāng)正在處理某中斷時(shí), CPU在特殊的上下文中執(zhí)行,其他的中斷將被推遲,直到該中斷處理完畢。因?yàn)檫@一限制,中斷處理程序的效率需要相當(dāng)高,這樣才不會(huì)丟失其他的中斷。有時(shí)候在時(shí)間限度內(nèi)中斷處理程序不能完成所需的全部工作,在這種情況下,中斷處理程序在底半處理程序中調(diào)度余下的工作。底半處理程序是一段代碼,它是下一次完成系統(tǒng)調(diào)用時(shí)調(diào)度程序?qū)⒁獔?zhí)行的代碼。通過(guò)把不太重要的工作交給底半處理程序去完成,設(shè)備驅(qū)動(dòng)程序可以減少中斷延遲,提高并發(fā)性。 總而言之,設(shè)備驅(qū)動(dòng)程序隱藏了對(duì)設(shè)備的 CSR進(jìn)行操作的細(xì)節(jié),以及每個(gè)設(shè)備的數(shù)據(jù)傳輸機(jī)制。對(duì)塊設(shè)備而言,緩沖區(qū)高速緩存試圖在內(nèi)存緩存區(qū)中滿(mǎn)足文件系統(tǒng)請(qǐng)求,這樣就提高了系統(tǒng)的性能。 第 2章 嵌入式 LINUX操作系統(tǒng) 46 進(jìn)程間通信機(jī)制 Linux提供進(jìn)程間通信( Interprocess Communication, IPC)機(jī)制,是為了給并發(fā)執(zhí)行的進(jìn)程提供一種方法,使它們可以共享資源,與其他進(jìn)程同步并且交換數(shù)據(jù)。因?yàn)樵谝恍┨厥鈶?yīng)用的場(chǎng)合,需要一個(gè)以上的進(jìn)程來(lái)完成單一的應(yīng)用程序。但由于這些不同的進(jìn)程或線程享有的系統(tǒng)資源往往是獨(dú)立的,無(wú)法直接分享,因此操作系統(tǒng)核心必須提供進(jìn)程間的通信機(jī)制,讓這些不同的進(jìn)程間可以互相交換消息,也可以借此知道彼此的意圖來(lái)做出相應(yīng)的行為。 Linux提供了下列形式的 IPC機(jī)制。 ? 信號(hào):最古老的 UNIX IPC形式。信號(hào)是發(fā)往某進(jìn)程的異步消息。 ? 管道和命名管道:允許在兩個(gè)進(jìn)程之間進(jìn)行面向連接的單向的數(shù)據(jù)傳輸,方法可以是顯式地建立管道連接,也可以通過(guò)駐留在文件系統(tǒng)中的命名管道進(jìn)行通信。 ? 信號(hào)量:傳統(tǒng)信號(hào)量模型的一種實(shí)現(xiàn),該模型還允許創(chuàng)建信號(hào)量數(shù)組。 ? 消息隊(duì)列:一種無(wú)連接的數(shù)據(jù)傳輸模型。消息是字節(jié)的序列,并帶有相應(yīng)的類(lèi)型。消息可以寫(xiě)入到消息隊(duì)列中,并且可以通過(guò)從消息隊(duì)列中讀取來(lái)獲得消息,當(dāng)然也可以限制讀入消息的類(lèi)型。 ? 共享內(nèi)存:通過(guò)使用這種機(jī)制,幾個(gè)進(jìn)程可以訪問(wèn)物理內(nèi)存的同一塊區(qū)域。 其中信號(hào)量、消息隊(duì)列、共享內(nèi)存等屬于 System V IPC(用首次出現(xiàn)的 UNIX的版本命名)的機(jī)制。 第 2章 嵌入式 LINUX操作系統(tǒng) 47 2.管道( pipe) 管道屬于操作系統(tǒng)提供的虛擬溝通機(jī)制。這種溝通方式可以是單向的,也可以是雙向的,并釋放出相對(duì)應(yīng)的操作接口讓進(jìn)程加以應(yīng)用,這樣,便可以讓兩個(gè)以上的進(jìn)程通過(guò)這組事先定義好的接口來(lái)使用底層操作系統(tǒng)提供的溝通機(jī)制。 管道允許兩個(gè)進(jìn)程進(jìn)行生產(chǎn)者 /消費(fèi)者模式的數(shù)據(jù)通信。它是一個(gè)先入先出( FIFO)隊(duì)列,一個(gè)進(jìn)程從隊(duì)列的一端不斷地寫(xiě)入數(shù)據(jù),而另一端則是另外一個(gè)進(jìn)程不斷地從中讀出數(shù)據(jù)。 當(dāng)一個(gè)管道被創(chuàng)建時(shí),它有一個(gè)固定的大小。當(dāng)管道還有空間時(shí),寫(xiě)進(jìn)程就可以不斷地向其中寫(xiě)數(shù)據(jù),否則要么退出,要么轉(zhuǎn)入阻塞狀態(tài),直到管道有剩余空間為止;相應(yīng)地,當(dāng)管道中有數(shù)據(jù)的時(shí)候,讀進(jìn)程就會(huì)不斷地從中讀取它所需要的數(shù)據(jù),如果其中沒(méi)有數(shù)據(jù)的話,讀進(jìn)程要么退出,要么進(jìn)入阻塞狀態(tài)等候有新的數(shù)據(jù)可讀。 管
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1