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

正文內(nèi)容

10-6linux操作系統(tǒng)-sysv進程間通信(參考版)

2025-03-02 00:59本頁面
  

【正文】 ? 進程可以調(diào)用 shmdt()函數(shù)解除地址空間與共享內(nèi)存區(qū)的映射關(guān)系,主要是修改頁表及釋放vm_area_struct結(jié)構(gòu)。否則繼續(xù)下一步。(2)檢查被是否映射的共享內(nèi)存區(qū)頁面被訪問過,但已被換出到交換分區(qū)。如果找到,修改本進程頁表即可。?當進程第一次訪問該映射共享內(nèi)存區(qū)的區(qū)間地址時,將觸發(fā)頁面異常,最終將調(diào)用 shmem_nopage()函數(shù)。選取進程地址空間的哪一段區(qū)間進行映射可由用戶指定也可委托內(nèi)核進行選擇。?shmget()創(chuàng)建的共享內(nèi)存區(qū)域并沒有立即分配物理內(nèi)存,而是創(chuàng)建一個文件對象 shm_file來描述該區(qū)域,而該文件屬于 shm文件系統(tǒng)。 pid_t shm_lprid。 time_t shm_ctim。/*共享內(nèi)存區(qū)的大小 */ time_t shm_atim。 unsigned long shm_nattch。 struct file * shm_file。?相比起其它進程通信方式,共享內(nèi)存在進行數(shù)據(jù)交換方面是效率比較高的。不同的進程可把共享內(nèi)存映射到自己的一塊地址空間 ,不同的進程進行映射的地址空間不一定相同。第一個頁面存儲 msg_msg結(jié)構(gòu)與首部分數(shù)據(jù),隨后的再分配空間則存儲 struct msg_msgseg結(jié)構(gòu)與剩余的數(shù)據(jù),如果這兩者所占空間之和仍大于一個頁面,則繼續(xù)分配下去。msg_msg結(jié)構(gòu)只是一個消息頭部,并不包含消息的數(shù)據(jù)部分。struct msg_msgseg { struct msg_msgseg* next。 /* 消息的長度 */ struct msg_msgseg* next。 /*消息隊列鏈表 */ long m_type。?若 IPC_NOWAIT未被設(shè)置,則當消息隊列的容量已滿時發(fā)送消息的進程會進入睡眠狀態(tài)并添加到相應(yīng)的 q_senders隊列,而當消息隊列中無合適的消息時接收進程會進入睡眠狀態(tài)并添加到相應(yīng)的q_receivers隊列。 /*待接收消息的睡 眠進程隊列 */ struct list_head q_senders。struct list_head q_messages。/*最近一次 msgsnd()發(fā)送進程的 pid */ pid_t q_lrpid。 /* 隊列中的消息數(shù)目 */unsigned long q_qbytes。 /* 最近的改變時間 */ unsigned long q_cbytes。 /*最近一次 msgsnd時間 */ time_t q_rtime。?在內(nèi)核中消息隊列用 msg_queue結(jié)構(gòu)表示,struct msg_queue { struct kern_ipc_perm q_perm。 msgflg:可以是 IPC_NOWAIT,還可指定為MSG_NOERROR。 值大于 0,返回類型為 msgtype的第一個消息。 msgtyp:指定接收消息的類型。 msgp:接收消息的緩沖區(qū)首址。?msgrcv()從某個消息隊列中讀一個消息并將其移出消息隊列 。 msgsz:消息緩沖區(qū)的長度。 msqid: 消息隊列的資源
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1