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

正文內(nèi)容

進(jìn)程間同步和通信(已修改)

2025-10-22 08:43 本頁(yè)面
 

【正文】 進(jìn)程間同步和通信 Embedded Operating Systems 2 進(jìn)程間通信 ? IPC, InterProcess Communication ? Unix系統(tǒng)提供的基本的 IPC包括: 管道和 FIFO(有名管道) 消息 信號(hào)量 共享內(nèi)存區(qū) 套接字 Embedded Operating Systems 3 管道( pipe) ? 管道是所有 Unix都提供的一種 IPC機(jī)制 ? 管道是半雙工的,數(shù)據(jù)只能向一個(gè)方向流動(dòng); ? 一個(gè)進(jìn)程將數(shù)據(jù)寫入管道, 另一個(gè)進(jìn)程從管道中讀取數(shù)據(jù) ? 數(shù)據(jù)的讀出和寫入: 寫入的內(nèi)容每次都添加在管道緩沖區(qū)的末尾, 每次都是從緩沖區(qū)的頭部讀出數(shù)據(jù)。 ? 需要雙方通信時(shí),需要建立起兩個(gè)管道; ? 只能用于父子進(jìn)程或者兄弟進(jìn)程之間(具有親緣關(guān)系的進(jìn)程); Embedded Operating Systems 4 在 shell中使用管道的例子 ? 命令:“ ls | more” 使用 pipeline “|”將兩個(gè)命令” ls”和“ more”連接起來(lái),使得 ls的輸出成為 more的輸入 ? 也可以使用如下的兩個(gè)命令 ? 命令 1:“ ls tmp” ? 命令 2:” more tmp” 命令 1把 ls的輸出重定向到 tmp文件中; 命令 2把 more的輸入重定向到 tmp文件 Embedded Operating Systems 5 創(chuàng)建一個(gè)管道 ? 管道可看成是被打開的文件,但并沒(méi)有真實(shí)的 文件與之對(duì)應(yīng) ? pipe()系統(tǒng)調(diào)用用來(lái)創(chuàng)建一個(gè)新的管道 include int pipe(int filedes[2])。 ? 管道兩端分別用描述符 filedes[0]和 filedes[1]描述 ? 管道兩端的功能是固定的: ? filedes[0]只能用于讀,稱為管道讀端; ? filedes[1]只能用于寫,稱為管道寫端。 ? 若試圖從寫端讀,或者向讀端寫都將導(dǎo)致錯(cuò)誤發(fā)生。 ? 一般文件的 I/O函數(shù)都可用于管道,如 close、 read、write等。 Embedded Operating Systems 6 使用管道的典型程序 ? ? 管道只能在具有親緣關(guān)系的進(jìn)程之間進(jìn)行通信 ? 通過(guò) fork傳遞管道的描述符 ? 任意的兩個(gè)進(jìn)程不可能共享同一個(gè)管道 ? 無(wú)法打開已經(jīng)存在的管道 Embedded Operating Systems 7 FIFO ? 管道的一個(gè)重大限制是它沒(méi)有名字,因此 只能用于具有親緣關(guān)系的進(jìn)程間通信,在 有名管道( named pipe或 FIFO)提出后, 該限制得到了克服。 ? FIFO,有名管道 ? 特殊的文件類型: 1,嚴(yán)格遵循先入先出的讀寫規(guī)則 2,類似管道,在文件系統(tǒng)中不存在數(shù)據(jù)塊,而是與一塊內(nèi)核緩沖區(qū)相關(guān)聯(lián) 3,有名字, FIFO的名字包含在系統(tǒng)的目錄樹結(jié)構(gòu)中,可以按名訪問(wèn) Embedded Operating Systems 8 ? FIFO
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1