49 在Linux/Unix系統中,mkfifo()函數的主要功能為何?
(A) 刪除導管檔案
(B) 建立一個FIFO特殊檔案
(C) 修改導管權限
(D) 讀取導管內容

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

詳解 (共 2 筆)

#6786474
題目解析 在Linux/Unix系統中,...
(共 883 字,隱藏中)
前往觀看
0
0
#7319218

【第一步:找關鍵字】

mkfifo()
→ mk(make,建立)+ fifo

FIFO(First In First Out,先進先出)
→ 一種「管道(pipe)」

? 重點:
「mk」幾乎一定是「建立」

關鍵觀念:
? mkfifo = 建立管道檔案

【第二步:白話翻譯】

這題在問:
?「mkfifo 這個函數是用來做什麼的?是建東西、刪東西,還是讀東西?」

【第三步:解題思路】

這題在考什麼觀念?

? Linux IPC(程序間通訊)中的 FIFO(命名管道)

解題步驟

  1. 看到 mk
    ? 幾乎 100% 是「建立」

  1. 了解 FIFO 是什麼

? FIFO(先進先出)是一種「管道」
? 用來讓兩個程式傳資料

  1. mkfifo 的功能

? 建立「命名管道(named pipe)」

原理與規則

FIFO(命名管道)是什麼?
→ 一種特殊檔案,用來讓不同程式溝通

白話:
? 像一條「水管」

  • 一端寫資料

  • 另一端讀資料

mkfifo() 做什麼?
→ 在系統中建立這條「水管」

生活比喻:

? mkfifo 就像:

「在牆上裝一條水管」

之後:

  • A 往裡面倒水(write)

  • B 從另一端接水(read)

【第四步:選項分析】

  • (A) 刪除導管檔案
    ❌ 錯
    → 刪除用 unlink() 或 rm

  • (B) 建立一個 FIFO 特殊檔案
    ✅ 正確
    → mkfifo 就是 create FIFO

  • (C) 修改導管權限
    ❌ 錯
    → 權限修改用 chmod

  • (D) 讀取導管內容
    ❌ 錯
    → 讀資料用 read()

【觀念補充與延伸】

核心觀念定位

這題屬於:
? 作業系統 → IPC(程序間通訊)
? 常考 FIFO / pipe

法條或定義

FIFO(命名管道)
→ 一種特殊檔案,用於程序間通訊,資料依序傳輸

白話:
? 「排隊進,排隊出」

觸類旁通(舉一反三)

對比概念:

  • pipe(匿名管道)
    → 只能親子程序用

  • FIFO(命名管道)
    → 不同程序也能用

? 超常考!

變化題型:

  1. 問 pipe vs FIFO 差異

  2. 問 mkfifo vs open

  3. 問 IPC 類型

【記憶口訣】

?「mk 就是做,fifo 就是管」

或:

?「mkfifo=做一條水管」

【常見陷阱】

學生最容易搞混的地方

  • 以為 mkfifo 是操作資料

  • 忘記 mk = create

心理盲點

看到 FIFO 就想到「讀寫」
? 但 mkfifo 是「建立」,不是操作

避坑指南

看到:

? mk 開頭

→ 一律優先想:
建立(create)

0
0