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

正文內(nèi)容

操作系統(tǒng)課程設(shè)計(jì)之消息函數(shù)的分析論文-展示頁

2024-09-07 13:51本頁面
  

【正文】 以上信息可用命令 ipcs a 看到 . 返回值 : 調(diào)用成功則返回值等于接收到實(shí)際消息正文的字節(jié)數(shù) .不成功則返回 1. 簡(jiǎn)單框圖: 8 Msgctl: 功能: 在消息隊(duì)列上執(zhí)行指定的操作。MSG_NOERROR為真時(shí) ),截掉的部份將被丟失 ,而且不通知消息發(fā)送進(jìn)程 . msgtyp 指定消息類型 : 7 為 0 則接收消息隊(duì)列中第一個(gè)消息 . 大于 0則接收消息隊(duì)列中第一個(gè)類型為 msgtyp 的消息 . 小于 0則接收消息隊(duì)列中第一個(gè)類型值不小于 msgtyp絕對(duì)值且類型值又最小的消息 . msgflg 指定操作行為 : 若 (msgflgamp。從消息隊(duì)列中取得指定類型的消息 .。 msgsz給 出 mtext 的字節(jié)數(shù) , 如果所接收的消息比 msgsz大且 msgflgamp。IPC_NOWAIT)是真的 ,消息并不是被立即發(fā)送而調(diào)用進(jìn)程 會(huì)立即返回 . 若 (msgflgamp。 char mtext[]。主要由 real_msgsnd 執(zhí)行。IPC_CREAT)為真 . 創(chuàng)建消息隊(duì)列 的同時(shí) ,與新的消息隊(duì)列標(biāo)識(shí)符相關(guān)的數(shù)據(jù)結(jié)構(gòu)將被初始化為如下 : 和 設(shè)置為調(diào)用進(jìn)程的有效 UID. 和 設(shè)置為調(diào)用進(jìn)程的有效 GID. 訪問權(quán)限比特位設(shè)置為 msgflg 訪問權(quán)限比特位 . msg_qnum,msg_lspid,msg_lrpid,msg_stime,msg_rtime 設(shè)置為 0. msg_ctime 設(shè)置為當(dāng)前系統(tǒng)時(shí)間 . msg_qbytes 設(shè)置為系統(tǒng)允許的最大值 . 返回值 : 調(diào)用成功則返回一 個(gè) 非 0 值 ,稱為消息隊(duì)列標(biāo)識(shí)符 。主要由sys_msgget 執(zhí)行。 3 LINUX 的消息函數(shù)各個(gè)子模塊功能描述 Msgget: 功能: 取得一個(gè)消息隊(duì)列 。如果沒有符合條件的消息,讀進(jìn)程會(huì)被加到消息 隊(duì)列的讀等待進(jìn)程,然后運(yùn)行調(diào)度程序。進(jìn)程的訪問權(quán)限一樣被檢查。當(dāng)一個(gè)或多個(gè)消息從這個(gè)消息隊(duì)列中讀出去的時(shí)候會(huì)被喚醒。但是,因?yàn)?Linux 限制了可以寫的消息的數(shù)量和長(zhǎng)度,可能會(huì)沒有空間容納消息。如果進(jìn)程可以 向 這個(gè) 隊(duì)列寫,則消息會(huì)從進(jìn)程的地址空間寫到 msg 數(shù)據(jù)結(jié)構(gòu),放到消息隊(duì)列的最后。 Msqid_ds隊(duì)列也包括兩個(gè)等待隊(duì)列:一個(gè)用于向消息隊(duì)列寫,另一個(gè)用于讀。 每一個(gè) msqid_ds 數(shù)據(jù)結(jié)構(gòu)都包括一個(gè) ipc_perm 的數(shù)據(jù)結(jié)構(gòu)和進(jìn)入這個(gè)隊(duì)列的消息的指針。其中的每一個(gè)單元 都指向一個(gè) msqid_ds 的數(shù)據(jù)結(jié)構(gòu),完整描述這個(gè)消息隊(duì)列。 消息隊(duì)列允許一個(gè)或多個(gè)進(jìn)程寫消息,一個(gè)或多個(gè)進(jìn)程讀取消息。 System V 的消息隊(duì)列( message queues)是進(jìn)程之間互相發(fā)送消息的一種異步( asynchronously)方式,在這種情形之下,發(fā)送方不必等待接收方檢查它的消息 —— 即在發(fā)送完消息后,發(fā)送方就可以從事其它工作了 —— 而接收方也不必一直等待消息。劉航,負(fù)責(zé)查閱資料。 ○4 Msgctl:劉晶,分析 消息隊(duì)列的控制 函數(shù)( sys_msgctl)以及與它相關(guān)的函數(shù) freeque,寫出代碼分析結(jié)果。趙松,畫出流程圖來表示相關(guān)函數(shù)之間的相互調(diào)用關(guān)系。閆瞳,張飛龍 ,負(fù)責(zé)查閱資料。 ○2 Msgsnd:張婷,分析消息的發(fā)送函數(shù)( real_msgsnd)以及與它相關(guān)的函數(shù)sys_msgsnd,寫出代碼分析結(jié)果。王亞璇,畫出流程圖來表示相關(guān)函數(shù)之間的相互調(diào)用關(guān)系。 關(guān)鍵字 : Linux , 消息 函數(shù) ,分析 2 目 錄 摘 要 ............................................................ 1 1 課設(shè)簡(jiǎn)介 ........................................................ 3 課程設(shè)計(jì)題目 .................................................... 3 課程設(shè)計(jì)小組成員 ................................................ 3 2 LINUX 的消息函數(shù)主模塊功能描述 ................................... 3 3 LINUX 的消息函數(shù)各個(gè)子模塊功能描述 ............................... 4 Msgget: ...................................................... 4 Msgsnd: ...................................................... 5 Msgrcv: ...................................................... 6 Msgctl: ...................................................... 8 4 LINUX 的消息函數(shù)各個(gè)子模塊相關(guān)函數(shù)代碼分析結(jié)果 ................... 9 有關(guān)常量 、函數(shù) 及相關(guān)錯(cuò)誤信息的含 義: ............................ 9 常量含義: .................................................. 9 錯(cuò)誤信息含義 ................................................ 9 相關(guān)函數(shù)及文件首部含義 ...................................... 9 函數(shù) sys_msgget 的分析 .......................................... 16 代碼及注釋 ................................................. 16 發(fā)送消息函數(shù) real_msgsnd 的分析 ................................. 23 代碼分析 ................................................... 23 接收消息函數(shù) real_msgrcv 的分析 ................................. 28 代碼及注釋 ................................................. 28 函數(shù) sys_msgctl 的分析 .......................................... 33 代碼及注釋 ................................................. 33 心得體會(huì) .......................................................... 42 參考文獻(xiàn) .......................................................... 43 3 1 課設(shè)簡(jiǎn)介 課程設(shè)計(jì)題目 LINUX 的消息函數(shù)的分析 課程設(shè)計(jì)小組成員 ○1 Msgget:孫帥,分析消息隊(duì)列的創(chuàng)建函數(shù)( sys_msgget)以及與它相關(guān)的函數(shù) newque、 findkey、 msg_init,寫出代碼分析結(jié)果,明確組內(nèi)成員的明細(xì)分工,總體把握組內(nèi)成員的進(jìn)度。其中的每一個(gè)單元都指向一個(gè) msqid_ds 的數(shù)據(jù)結(jié)構(gòu),完整描述這個(gè)消息隊(duì)列。 消息隊(duì)列允許一個(gè)或多個(gè)進(jìn)程寫消息,一個(gè)或多個(gè)進(jìn)程讀取消息。 System V 的消息隊(duì)列( message queues)是進(jìn)程之間互相發(fā)送消息的一種異步( asynchronously)方式,在這種情形之下,發(fā) 送方不必等待接收方檢查它的消息 —— 即在發(fā)送完消息后,發(fā)送方就可以從事其它工作了 —— 而接收方也不必一直等待消息。 Linux 可安裝在各種計(jì)算機(jī)硬件設(shè)備中,從手機(jī)、平板電腦、路由器和視頻游戲控制臺(tái),到臺(tái)式計(jì)算機(jī)、大型機(jī)和超級(jí)計(jì)算機(jī)。 1 摘 要 Linux是一種自由和開放源碼的類 Unix操作系統(tǒng)。目前存在著許多不同的 Linux,但它們都使用了 Linux 內(nèi)核。 Linux 采用消息隊(duì)列的方式來實(shí)現(xiàn)消息傳遞。 新的消息總是放在隊(duì)列的末尾,接收的時(shí)候并不總是從頭來接收,可以從中間來接收。 Linux 維護(hù)了一系列消息隊(duì)列的 msgque 向量表。當(dāng)創(chuàng)建消息隊(duì)列的時(shí)候,從系統(tǒng)內(nèi)存中分配一個(gè)新的msqid_ds 的數(shù)據(jù)結(jié)構(gòu)并插入到向量表中 。后期組織組內(nèi)成員成果匯總進(jìn)行本組總體報(bào)告撰寫。魏蕾,負(fù)責(zé)查閱資料。王鑫坤,畫出流程圖來表示相關(guān)函數(shù)之間的相互調(diào)用關(guān)系。 ○3 Msgrcv:樊德山,分析消息的接收函數(shù)( real_msgrcv)以及與它相關(guān)的函數(shù)sys_msgrcv,寫出代碼分析結(jié)果。鹿新宇,孫適,負(fù)責(zé)查閱資料。鞠冰霜,畫出流程圖來表示相關(guān)函數(shù)之間的相互調(diào)用關(guān)系。 2 LINUX 的消息函數(shù)主模塊功 能描述 Linux 采用消息隊(duì)列的方式來實(shí)現(xiàn)消息傳遞。 新的消息總是放在隊(duì)列的末尾,接收的時(shí)候并不總是從頭來接收,可以從中間來接收。 Linux 維護(hù)了一系列消息隊(duì)列的 msgque 向量表。當(dāng)創(chuàng)建消息隊(duì)列的時(shí)候,從系統(tǒng)內(nèi)存中分配一個(gè)新的msqid_ds 的數(shù)據(jù)結(jié)構(gòu)并插入到向量表中 。另外, Linux 保留隊(duì)列的改動(dòng)時(shí)間,例如上次隊(duì)列寫的時(shí)間等。 4 每一次一個(gè)進(jìn)程試圖向?qū)戧?duì)列寫消息,它的有效用戶和組的標(biāo)識(shí)符就要和隊(duì)列的 ipc_perm 數(shù)據(jù)結(jié)構(gòu)的模式比較。每一個(gè)消息都帶有進(jìn)程間約定的,應(yīng)用程序指定類型的標(biāo)記。這時(shí),進(jìn)程會(huì)被放到消息隊(duì)列的寫等待隊(duì)列,然后調(diào)用調(diào)度程序選擇一個(gè)新的進(jìn)程運(yùn)行。 從隊(duì)列中讀是一個(gè)相似的過程。一個(gè)讀進(jìn)程可以選擇是不管消息的類型從隊(duì)列中讀取第一條消息還是選擇特殊類型的消息。當(dāng)一個(gè)新的消息寫到隊(duì)列的時(shí)候,這個(gè)進(jìn)程會(huì)被喚醒,繼續(xù)運(yùn)行。調(diào)用者提供消息隊(duì)列的鍵標(biāo)(用于表示一個(gè)消息列的唯一的名字),當(dāng)這個(gè)隊(duì)列存在的時(shí)候,這個(gè)系統(tǒng)調(diào)用負(fù)責(zé)返回這個(gè)隊(duì)列的標(biāo)識(shí)號(hào);如果這個(gè)隊(duì)列不存在,就創(chuàng)立一個(gè)消息隊(duì)列,然后返回這個(gè)消息隊(duì)列的標(biāo)識(shí)號(hào)。 說明: 系統(tǒng)調(diào)用返回與參數(shù) key 相關(guān)的消息隊(duì)列的標(biāo)識(shí)符 . 若以下事實(shí)成立 ,則與消息隊(duì) 列相關(guān)的標(biāo)識(shí)符和數(shù)據(jù)結(jié)構(gòu)將被創(chuàng)建出來 : 若參數(shù) key 等于 IPC_PRIVATE. 若參數(shù) key 沒 有存在的 消息隊(duì)列標(biāo)識(shí)符與之相關(guān) ,同 時(shí) (msgflgamp。否則返回值為 1. 簡(jiǎn)單框圖: 5 Msgsnd: 功能: 發(fā)送消息到指定的消息隊(duì)列中 。 說明: 發(fā)送一個(gè)消息到由 msqid 指定消息隊(duì)列標(biāo)識(shí)號(hào)的消息隊(duì)列 . 參數(shù) msgp 指向一個(gè)用戶定義的緩沖區(qū) ,并且緩沖區(qū)的第一個(gè)域應(yīng)為長(zhǎng)整型 ,指定消息類型 ,其他數(shù)據(jù)放在緩沖區(qū)的消息中其他正文區(qū)內(nèi) . 下面是消息元素定義 : long mtype。 mtype 是一個(gè)整數(shù) ,用于接收進(jìn)程選擇消息類型 . mtext 是一個(gè)長(zhǎng)度為 msgsz 字節(jié)的任何正文 ,參數(shù) msgsz 可從 0 到 系 統(tǒng)允許的最 大 值 之 間變化 . msgflg 指定操作行為 : 若 (msgflgamp。IPC_NOWAIT)不是真的 ,則調(diào)用進(jìn)程會(huì)被掛起直到下面情況之一發(fā)生 : 消息被發(fā)送出去 . 消息隊(duì)列標(biāo)志被系統(tǒng)刪除 .系統(tǒng)調(diào)用返回 1. 調(diào)用進(jìn)程接收到未被忽略的中斷信號(hào) ,調(diào)用進(jìn)程繼續(xù)執(zhí)行或被終止 . 調(diào)用成功后 ,對(duì)應(yīng)指定的消息隊(duì)列的相關(guān)結(jié)構(gòu)做如下動(dòng)作 : 消息數(shù) (msg_qnum)加 1. 消息隊(duì)列最近發(fā)送進(jìn)程號(hào) (msg_lspid)改為調(diào)用進(jìn)程號(hào) . 6 消息隊(duì)列發(fā)送時(shí)間 (msg_stime)改為當(dāng)前系統(tǒng)時(shí)間 . 以 上信息可用命令 ipcs a看到 . 返回值 : 發(fā)送 成功則返回 0,否則返回 1. 簡(jiǎn)單框圖:
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1