50 信息排隊中msgget()函數的主要功能是什麼?
(A) 發送信息
(B) 接收信息
(C) 產生或獲取信息排隊
(D) 刪除信息排隊

答案:登入後查看
統計: A(0), B(2), C(5), D(0), E(0) #3399897

詳解 (共 2 筆)

#6786473
1. 題目解析 在這道考題中,msgge...
(共 1039 字,隱藏中)
前往觀看
0
0
#7319219

【第一步:找關鍵字】

msgget()
→ msg(message,訊息)+ get(取得)

? 重點字:「get」=取得 / 建立

信息排隊(Message Queue)
→ 一種 IPC(程序間通訊)機制
? 讓程式之間「排隊傳訊息」

關鍵觀念:
? msgget =「拿到或建立 message queue」

【第二步:白話翻譯】

這題在問:
?「msgget 這個函數,是用來送訊息、收訊息,還是建立一個訊息排隊?」

【第三步:解題思路】

這題在考什麼觀念?

? System V IPC(訊息佇列)相關函數功能

解題步驟

  1. 先看函數名稱

  • msgget → 取得 / 建立

  • msgsnd → 發送

  • msgrcv → 接收

  • msgctl → 控制 / 刪除

  1. 判斷功能

? msgget = 「建立或取得 message queue」

原理與規則

Message Queue(訊息佇列)是什麼?
→ 一種「排隊傳訊息」的機制

白話:
? 像 LINE 訊息:

  • A 傳訊息進去

  • B 之後再讀出來

msgget() 做什麼?

? 用 key(識別碼)找到 queue
? 如果沒有,可以建立一個

生活比喻:

? msgget 就像:

「去郵局申請或找到一個信箱」

之後:

  • msgsnd → 投信

  • msgrcv → 收信

【第四步:選項分析】

  • (A) 發送信息
    ❌ 錯
    → 發送是 msgsnd()

  • (B) 接收信息
    ❌ 錯
    → 接收是 msgrcv()

  • (C) 產生或獲取信息排隊
    ✅ 正確
    → msgget 的核心功能

  • (D) 刪除信息排隊
    ❌ 錯
    → 刪除是 msgctl()

【觀念補充與延伸】

核心觀念定位

這題屬於:
? 作業系統 → IPC(訊息佇列 Message Queue)
? API 功能對應題(必考)

法條或定義

System V Message Queue
→ 一種 IPC 機制,透過 queue 傳遞訊息

常見函數對照:

函數 功能
msgget 建立 / 取得 queue
msgsnd 發送訊息
msgrcv 接收訊息
msgctl 控制 / 刪除

觸類旁通(舉一反三)

對比概念:

  • pipe → 直接傳

  • message queue → 排隊傳

  • shared memory → 共用空間

? IPC 三大類常一起考!

變化題型:

  1. 問哪個函數送/收

  2. 問 IPC 類型差異

  3. 問 key 與 queue 關係

【記憶口訣】

?「msgget 拿 queue,msgsnd 傳,msgrcv 收」

【常見陷阱】

學生最容易搞混的地方

  • 把 get 當成「接收」
    → 其實是「取得資源」

心理盲點

看到 msg → 就想「傳訊息」
? 但 msgget 是「準備環境」

避坑指南

解題技巧:

? 看動詞:

  • get → 拿 / 建

  • snd → 送

  • rcv → 收

0
0