併發
- 併發和並行的區別
併發:同一段時間間隔內,多道程序同時執行
並行:同一時刻,多道程序同時執行 - 對於單處理器系統,微觀上多道程序交替進行;對於多處理器系統,微觀上多道程序並行執行
- 爲了使程序併發執行,引入進程
共享
操作系統的資源允許進程/線程同時訪問
共享的兩種方式
- 互斥共享
臨界資源(讀寫設備,內存棧等)只允許單一進程/線程訪問。 - 同時訪問
宏觀上某一時間段多個進程/線程同時訪問,微觀上交替訪問
虛擬
物理實體變爲邏輯物體,提高資源利用率
虛擬的兩種方式
- 時分複用
某一設備的空閒時間服務其他用戶 - 空分複用
處理器的空閒空間去運行其他程序
異步
程序的執行不是“一氣呵成”,而是三種狀態相互切換,異步執行。