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

正文內(nèi)容

10-6linux操作系統(tǒng)-sysv進(jìn)程間通信(編輯修改稿)

2025-03-18 00:59 本頁面
 

【文章內(nèi)容簡介】 semid : IPC資源 ID opsptr: 操作的集合 nops: 數(shù)組 opsptr的大小內(nèi)核必須保證操作數(shù)組 opsptr原子地執(zhí)行sem_number指明是對哪一個信號操作。sem_flag指明一些操作標(biāo)志位,可以有如下值: (1)SEM_UNDO 當(dāng)進(jìn)程結(jié)束但還擁有信號量資源時,應(yīng)將信號量資源返還給相應(yīng)的信 號量集合。內(nèi)核有一個 sem_undo結(jié)構(gòu)用于跟蹤這方面的情況,進(jìn)程描述符有個 semundo成員記錄進(jìn)程這方面的信息。( 2) IPC_NOWAIT 當(dāng)操作不能立即完成時,IPC_NOWAIT被設(shè)置的話進(jìn)程立即返回 否則進(jìn)程進(jìn)入睡眠狀態(tài)等待時機(jī)成熟時被喚醒完成該操作。sem_op指定具體的操作,它的值有如下含義:( 1)大于 0,則將該值加到信號量的當(dāng)前值上。( 2)等于 0,那么用戶希望信號量的當(dāng)前值變?yōu)?0。如果值已經(jīng)是 0,則立即返回。如果不是 0,則取決于 IPC_NOWAIT是否被設(shè)置。( 3)小于 0,則要看信號量的當(dāng)前值是否大于等于 sem_op的絕對值。如果大于等于,就從信號量的當(dāng)前值中減去 sem_op的絕對值。如果小于,則取決于 IPC_NOWAIT是否被設(shè)置。?當(dāng)進(jìn)程的信號量操作不能完成睡眠時,需要將一個代表著當(dāng)前進(jìn)程的 sem_queue結(jié)構(gòu)鏈入相應(yīng)的信號量集合的等待隊列,即 sem_array結(jié)構(gòu)的sem_pending隊列。struct sem_queue { struct sem_queue *next。 /*隊列中的下一個元素 */ struct sem_queue **prev。 /*隊列中的前一個元素 */ struct task_struct *sleeper。/* 睡眠進(jìn)程的描述符 */ struct sem_undo * undo。 int pid。 /* 睡眠進(jìn)程的 pid */ int status。 struct sem_array *sma。 /* 所屬的信號量集合 */ struct sembuf *sops。 /* 掛起的操作數(shù)組 */ int nsops。 /* 掛起的操作個數(shù) */ ......}。 消息隊列?具有權(quán)限的進(jìn)程可以往消息隊列中讀寫消息,這就是消息隊列支持進(jìn)程通信的方式。?msgsnd()函數(shù)將消息放入隊列中 int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg)。 msqid: 消息隊列的資源 ID號 msgp: 消息緩沖區(qū)的首地址。消息緩沖區(qū)消息的類型及數(shù)據(jù)部分兩部分組成。 msgsz:消息緩沖區(qū)的長度。 msgflg:可以是 0,也可以是 IPC_NOWAIT。?msgrcv()從某個消息隊列中讀一個消息并將其移出消息隊列 。int msgrcv(int msqid, void *msgp, int msgsz, long msgtyp, int msgflg)。 msgp:接收消息的緩沖區(qū)首址。 msgsz:接收緩沖區(qū)的大
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1