程序和執行緒的關係
程序與執行緒的區別
為什麼程序上下文切換比執行緒上下文切換代價高?
程序切換分兩步:
對於linux來說,執行緒和程序的最大區別就在於位址空間,對於執行緒切換,第1步是不需要做的,第2是程序和執行緒切換都要做的
切換的效能消耗:
執行緒和程序的區別是什麼?www.zhihu.com
同步機制遵循的原則:
程序通訊,是指程序之間的資訊交換(資訊量少則乙個狀態或數值,多者則是成千上萬個位元組)。因此,對於用訊號量進行的程序間的互斥和同步,由於其所交換的資訊量少而被歸結為低階通訊
所謂高階程序通訊指:使用者可以利用作業系統所提供的一組通訊命令傳送大量資料的一種通訊方式。作業系統隱藏了程序通訊的實現細節。或者說,通訊過程對使用者是透明的
高階通訊機制可歸結為三大類:
排程種類
非搶占式排程與搶占式排程
排程演算法
fifo或first come, first served (fcfs)先來先服務
shortest job first (sjf)
shortest remaining job first (srjf)
優先權排程
round-robin(rr)輪轉排程演算法
多級佇列排程
多級反饋佇列
預處理:條件編譯,標頭檔案包含,巨集替換的處理,生成.i檔案。
編譯:將預處理後的檔案轉換成組合語言,生成.s檔案
彙編:彙編變為目標**(機器**)生成.o的檔案
作業系統面試題
一 linux下程序間通訊的幾種主要手段簡介 管道 pipe 及有名管道 named pipe 管道可用於具有親緣關係程序間的通訊,有名管道克服了管道沒有名字的限制,因此,除具有管道所具有的功能外,它還允許無親緣關係程序間的通訊 訊號 signal 訊號是比較複雜的通訊方式,用於通知接受程序有某種事...
作業系統面試題
作業系統 1.select,poll和epoll 其實所有i o都是輪詢的方法,只不過實現的層面不同罷了 基本select有三個缺點 1.連線受限 2.查詢配對速度慢 3.資料由核心態拷貝到使用者態 poll改善了第乙個缺點 epoll改善了第三個缺點 2.排程演算法 實時排程演算法 1.最早截至時...
作業系統面試題
內容源自 一 請分別簡單說一說程序和執行緒以及它們的區別。二 執行緒同步的方式有哪些?三 程序的通訊方式有哪些?主要分為 管道 系統ipc 包括訊息佇列 訊號量 共享儲存 socket 管道主要分為 普通管道pipe 流管道 s pipe 命名管道 name pipe 四 什麼是緩衝區溢位?有什麼危...