0x01 多道程式設計和分時系統

2021-10-06 02:17:09 字數 1578 閱讀 2862

簡單批處理系統採用的也稱單道程式設計。

簡單批處理系統比人工操作提高了計算機效能,但沒有考慮到cpu和 i/o裝置的並行性,造成了計算機資源的浪費。

批處理:使用者將一批作業提交作業系統後就由作業系統控制系統控制它們自動執行。

批處理作業系統:

特點:單核單處理計算機系統中,cpu和硬碟控制器可並行操作。

單使用者通常不能總使得cpu和裝置在所有時間內都忙碌。

多道程式設計:在記憶體中同時存在多道作業,在管理程式控制下相互穿插執行。

目的:使得cpu和裝置在所有時間內盡可能忙碌,從而提高cpu和裝置的利用率,充分發揮計算機系統部件的並行性。

如下圖,記憶體中存在4個作業,他們交替併發執行,

現代作業系統廣泛採用多道程式設計技術。

並行:兩個或者多個作業在同一時刻執行;

併發:兩個或多個作業在同一時間間隔內依次執行。即:乙個時間段中,有幾個作業在同乙個處理機上執行,但任乙個時刻點上只有乙個作業在處理機上執行。

隨著多核處理器的出現,這兩個概念並不嚴格區分。

分時系統:多道程式設計的延伸

響應時間:指從使用者提交作業到作業第一次執行的時間,對使用者而言是指到螢幕有顯示的時間。

時間片:把一段cpu時間按照固定單位進行分割,每個分割得到的時間段稱為乙個時間片。

每個任務依次輪流使用時間片。

作業分類

互動式程序主要關注的指標是響應時間。

分時的策略

在一段時間內,每個作業依次輪流執行乙個時間片,這樣可以使得每個作業都獲得較短的響應時間,從而滿**互作業的要求。遵循分時策略的聯機多使用者互動式的作業系統就是分時系統。

分時系統

一種聯機的多使用者互動式的作業系統;

一般採用時間片輪轉方式使一台計算機為多個使用者服務;

在單位時間內,每個使用者獲得乙個時間片並執行;

保證使用者獲得足夠小的響應時間,並提供互動能力

原理

若某個作業在分配的時間片用完之前計算還未完成,該作業暫時就中斷,等待下一輪;此時,處理機讓給另乙個作業使用。

每個使用者好像獨佔一台計算機(時間片小的原因)

第乙個分時系統:mit的ctss,這個系統在2023年開發,執行在ibm 7094大型機上,支援32個使用者。

例題

假如分時系統中有5個作業,設定時間片大小為2毫秒,每個程序在10毫秒內各自執行了2毫秒。那麼,該系統平均的響應時間是()。

a.0毫秒

b.2毫秒

c.4毫秒

d.5毫秒

答案:c

平均響應時間就是每個作業的響應時間除以總的作業量,即(0+2+4+6+8)/5=4。每個作業的響應時間就是從時間片開始算起,從使用者提交作業到作業第一次執行的時間。

招聘程式設計題0x01

python3 coding utf 8 題目描述 請設計乙個高效演算法,再給定的字串陣列中,找到包含 coder 的字串 不區分大小寫 並將其作為乙個新的陣列返回。結果字串的順序按照 coder 出現的次數遞減排列,若兩個串中 coder 出現的次數相同,則保持他們在原陣列中的位置關係。給定乙個字...

關於彙編 0x01記憶體

記憶體,與記憶體條不是乙個概念。在計算機中,每個程序都有自己的4gb記憶體空間,這個4gb的記憶體空間並不是真實的,而是系統分配的虛擬記憶體。虛擬記憶體 物理記憶體 記憶體條等其它硬體裝置 板卡記憶體 物理記憶體是用來跟硬體記憶體互相對映的,跟記憶體條的大小也不是一一對應的。如何通過虛擬記憶體如何找...

C語言雜記 0x01

ascii碼中 字元a是97,字元b是98,計算 a 1這個表示式,應該按照ascii碼把 a 當做證書值97,然後加1,得到98,然後printf把98這個整數值當做ascii碼來列印,列印出相應字元b 我們稱整型為 int 型,現在我們知道 char 型別本質上也是整數,只不過比 int 型別的...