用戶請求管理者

用戶請求管理者

作業系統一般屬於多用戶多任務作業系統,即允許多個用戶通過各自的終端使用同一台機器,當多個用戶同時請求使用系統資源時,會出現資源競爭可能導致機器當機。用戶請求管理者是指計算機系統中對用戶請求進行管理的程式。用戶請求管理者對用戶請求進行合理分配,保證計算機系統高效地運行。

簡介

作業系統一般允許多個用戶同時請求使用同一台機器,但是機器一次只能運行一個用戶請求,為了使機器能正常運行。這是作業系統需要一個用戶請求管理程式,即用戶請求管理者對用戶的請求進行管理,依據用戶請求的性質,賦予用戶請求不同的等級(優先權)。既使用戶請求能得到系統及時回響,也能使系統處理更多的用戶請求。

多用戶多任務作業系統

作業系統是管理硬體資源、控制程式運行、 改善人機界面和為套用軟體提供支持的一種系統軟體。作業系統通常是最靠近硬體的一層軟體,它把硬體裸機改造成為功能更加完善的一台虛機器,使得計算機系統的使用和管理更加方便,計算機資源的利用效率更高,上層的應用程式可以獲得遠較硬體所能提供的更多的功能上的支持。多用戶多任務作業系統的含義是,允許多個用戶使用同一台機器通過各自的終端,共享主機系統中的各種資源,而每個用戶程式又可進一步分為幾個任務,使它們能並發執行,從而可進一步提高資源利用率和系統吞吐量。在大、中和小型機中所配置的大多是多用戶多任務作業系統,而在 32 位微機上也有不少是配置的多用戶多任務作業系統,其中最有代表性的是UNIX OS。

準則

面向用戶的準則

這是為了滿足用戶的需求所應遵循的一些準則。其中,比較重要的幾點如下:

周轉時間短。通常把周轉時間的長短作為評價批處理系統的性能、選擇作業調度方式與算法的重要準則之一。其中周轉時間,是指從作業被提交給系統開始,到作業完成為止的這段時間間隔。它包括四部分時間: 作業在外存後備佇列上等待( 作業) 調度的時間, 進程在就緒佇列上等待進程調度的時間, 進程在CPU上執行的時間, 以及進程等待I/O操作完成的時間。其中後三項在一個作業的整個處理過程中可能會發生多次。對每個用戶來說,都希望自己作業的周轉時間最短。但作為計算機系統的管理者,則總是希望能使平均周轉時間最短,這不僅會有效地提高系統資源的利用率,而且還可使大多數用戶都感到滿意。回響時間快。常把回響時間的長短用來評價分時系統的性能,這是選擇分時系統中進程調度算法的重要準則之一。其中回響時間,是從用戶通過鍵盤提交一個請求開始,直至系統首次產生回響為止的時間,或者說,指導螢幕上顯示出結果為止的一段時間間隔。它包括三部分時間:從鍵盤輸入的請求信息傳送到處理機的時間,處理機對請求信息進行處理的時間,以及將所形成的回響信息回送到終端顯示器的時間。

截止時間的保證。這是評價實時系統性能的重要指標,因而是選擇實時調度算法的重要準則。所謂截止時間,是指某任務必須開始執行的最遲時間,或必須完成的最遲時間。對於嚴格的實時系統,其調度方式和調度算法必須保證這一點,否則將可能造成難以預測的後果。

優先權準則。在批處理、分時和實時系統中選擇調度算法時,都可以遵循優先權原則,以便讓某些緊急的作業能得到及時處理。在要求嚴格的場合,往往還須選擇搶占式調度方式,才能保證緊急作業得到及時處理 。

面向系統的準則

這是為了滿足系統要求而應遵循的一些準則。其中,較重要的幾點如下:系統吞吐量高。這是用於評價批處理系統性能的另一個重要指標,因而是選擇批處理作業調度的重要準則。由於吞吐量是指在單位時間內系統所完成的作業數,因而它與批處理作業的平均長度具有密切關係。對於大型作業,一般吞吐量約為每小時一道作業;對於中、小型作業,其吞吐量則可能達到數十道作業之多。作業調度的方式和算法對吞吐量的大小也將產生較大影響。事實上,對於同一批作業,若採用了較好的調度方式和算法,則可顯著地提高系統的吞吐量。處理機的利用率好。對於大、中型多用戶系統, 由於CPU分昂貴,致使處理機的利用率成為衡量系統性能的十分重要的指標;而調度方式和算法對處理機的利用率起著十分重要的作用。在實際系統中,CPU一般在40% 系統負荷較輕) 到90%在大、中型系統中,在選擇調度方式和算法時,應考慮到這一準則。但對於單用戶微機或某些實時系統, 此準則就不那么重要了。

各類資源的平衡利用。在大、中型系統中,不僅要使處理機的利用率高,而且還應能有效地利用其他各類資源,如記憶體、外存和I/O。選擇適當的調度方式和算法可以保持系統中各類資源都處於忙碌狀態。但對於微型機和某些實時系統而言,該準則並不重要。

組成

用戶請求管理這由一系列組件組成,當然這些組件是為了系統更好地完成用戶的請求,提供處理用戶請求的靈活性而定義的。它們之間各司其職完成調度任務。

(1)作業:作業將調度與程式結合起來,完成在某個時間間隔或者某個時間段內的任務,這個任務可以是PL/SQL代碼,也可以是執行檔或者Shell腳本。具體要執行的任務與調度結合,可以在指定的時間開始執行任務以及設定任務執行的頻率。

(2)調度:調度是純粹的時間概念,它告訴任務執行的開始時間,以及任務執行的頻率,一個調度可以觸發多個具體任務。

(3)程式:程式是具體完成某項任務的單元,包括程式名、類型以及具體動作,程式類型可以是PL/SQL代碼塊、存儲過程或者二進制可執行腳本。

(4)事件:Schedule支持使用事件觸發啟動具體作業運行,事件使用Schedule的Oracle流高級佇列特性。一個事件由某個進程或程式在具體動作發生時傳送訊息來完成。

(5)鏈:鏈將多個程式連線起來,這樣一個程式的運行有可能以另一個程式的運行為基礎,或者基於一個鏈來啟動作業。

優先權

優先權(priority)是一種約定,優先權高的先做,優先權低的後做。優先權是計算機分時作業系統在處理多個作業程式時,決定各個作業程式接受系統資源的優先等級的參數。各個作業在輸入計算機之前,都要按一定的要求對它指定優先權。例如要按程式的性質或其長度,或是按作業的來源等,指定其優先權。然後計算機根據各作業程式優先權的高低,來決定處理各程式的先後次序。甚至在處理過程中,還能允許優先權較高的程式中斷優先權較低的程式。進程是有優先權的。如果即將被運行的進程的優先權比正在運行的進程的優先權高,則系統可以強行剝奪正在運行的進程的CPU,讓優先權高的進程先運行 。

相關詞條

熱門詞條

聯絡我們