操作系統的四大基本特征:
1、並發
2、共享
3、虛擬
4、異步
(1)並發:並發與並行的區別:
並行:指兩個或多個事件在同一時刻發生;
並發:指兩個或多個事件在同一時間間隔內發生。
具體地說:並發指在一段時間內宏觀上有多個程序在同時運行,但在單處理機系統中,每一時刻卻僅能有一道程序執行,故在微觀上這些程序是分時地交替執行。
若計算機系統有多個處理機,這些可以並發執行的程序便可以被分配到多個處理機上,實現並行執行。即利用每一個處理機來處理一個可並發執行的程序。
在一個沒有引入進程的系統中,屬於同一個應用程序的計算機程序和 I/O程序之間只能是順序執行,也就是計算機程序執行告一段落后,才允許I/O程序執行;反之,在程序執行I/O操作時,計算程序也不能執行。-----------為計算程序和I/O程序分別建立一個進程(Process)后,這兩個程序就可以 並發執行。
進程:指在系統中能獨立運行 並作為資源分配的基本單位,它是由一組機器指令、數據和堆棧等組成的,是一個能獨立運行的活動實體。
(2)共享
在OS環境下的資源共享或稱為資源復用,指的是系統中的資源可供內存中多個並發執行的進程共同使用。 -------在宏觀上既限定了時間(進程在內存期間),也限定了地點(內存)。
目前實現資源共享的方式(2種):
1)互斥共享方式:系統中的某些資源:如打印機、磁帶機等,雖然可以提供給多個進程(線程)使用,但是應規定在一段時間內,只允許一個進程訪問該資源。
-------“臨界資源”:一段時間內只允許一個進程訪問的資源
2)同時訪問方式:系統中還有另外一些資源,允許在一段時間內由多個進程“同時”對它們進行訪問。 ------這里的“同時”也就是前面講的在微觀下交替進行的。
典型的例子:磁盤設備!
(3)虛擬:
“時分復用”和“空分復用”技術。
在OS中,把通過某種技術將一個物理實體 變為 若干個 邏輯上的對應物 的功能 稱為“虛擬”。
注:時分復用 能夠提高資源利用率的根本原因:它利用某設備為一用戶服務的空閑時間,又轉去為其他用戶服務,使設備得到最充分的利用。
空分復用指的是將一個頻率范圍比較寬的信道 划分成 多個頻率較窄的信道(稱為頻帶)。
注意:舉個例子:一個100MB 的應用程序之所以可以運行在 30MB 的內存空間,實質上就是 每次只把用戶程序的一部分 調入內存中運行,運行完成后將該部分 換出,再換入另一部分到 內存中運行,通過這樣的置換功能,便實現了用戶程序的 各個部分分時地進入內存運行。
(4)異步:
由於資源等因素的限制,使進程的執行通常都不可能“一氣呵成”,而是以“停停走走”的方式運行。
進程是以人們不可預知的速度向前 推進的,即進程的異步性。