基礎知識 | 每日一練(198)

  • 2019 年 12 月 9 日
  • 筆記

讀者:列舉幾種進程的同步機制,並比較其優缺點。

小林:

在主流的Linux內核中包含了幾乎所有現代的操作系統具有的同步機制,這些同步機制包括:原子操作、信號量(sem aphore)、讀寫信號量(rw_sem aphore)、spinlock、BKL(Big Kernel Lock)、rwlock、brlock(只包含在2.4內核中)、RCU (只包含在2.6內核中)和seqlock(只包含在2.6內核中)

讀者:進程之間通信的途徑

小林:

管道(pipe)和有名管道(nam ed pipe)、消息隊列(m esage queue)、信號(signal)、信號量(sem aphore)、共享存儲區(shared m em ory)、套接口(socket)等

讀者:進程死鎖的原因

小林;資源競爭及進程推進順序非法

讀者:死鎖的4個必要條件

小林:互斥、請求保持、不可剝奪、環路

讀者:死鎖的處理

小林:鴕鳥策略、預防策略、避免策略、檢測與解除死鎖

讀者:操作系統中進程調度策略有哪幾種?

小林:FCFS(先來先服務),優先級,時間片輪轉,多級反饋