1. 程式人生 > >作業系統特徵、功能和使用者介面

作業系統特徵、功能和使用者介面

1、作業系統特徵

( Characteristics of  OperatingSystems )

  • 並行性

         並行性和併發性是既相似又有區別的兩個概念。並行性是指兩個或多個事件在同一時刻發生,而併發性是指兩個或多個在同一時間間隔內發生。在多道程式環境下,併發性是指巨集觀上在一段時間內有多道程式在同時執行。但在單處理機系統中,每一個時刻僅能執行一道程式,故微觀上,這些程式是在互動執行。

  • 共享性(Sharing)

   共享是指系統中的所有資源不再為一個程式所獨佔,而是供同時存在於系統中的多道程式所共同使用。根據資源屬性不同,可有互斥共享同時共享兩種不同的共享方式。

併發和共享關係:

         併發和共享是作業系統的兩個最基本的特性,它們又是互為存在條件。一方面資源共享是以程式(程序)的併發性執行為條件的,若系統不允許程式併發執行,自然不存在資源共享問題。另一方面若系統不能對資源共享實施有效管理,則也必將影響到程式併發執行。

  • 虛擬性(Virtual)

    虛擬是指通過某種技術把一個物理實體變成若干個邏輯上的對應物。物理實體是實際存在的,是實的;邏輯物體是使用者感覺到的,是虛擬的。例如在單CPU多道分時系統中,通過多道程式技術和分時技術可以把一個物理CPU虛擬為多個邏輯上的CPU,使每個終端使用者都認為有一臺“獨立”的CPU為它執行,使用者感覺的CPU是虛擬CPU。

  • 非同步性(Asynchronism)和不確定性(nondeterministic)

         在多道程式環境下,允許多個程式併發執行,但由於資源等因素的限制,程式的執行並非“一氣呵成”,而是以“走走停停”的方式執行,即程式是以非同步方式執行的。多個程式非同步併發執行帶來了二種不確定性。一種是每個程式(程序)執行的速度和時間不確定,各程式(程序)之間推進的序列也不確定。即是不可預測的。另一種是每個程式(程序)執行結果不確定,即對同一程式,給定相同的初始條件、在相同的環境下進行多次執行,卻可能獲得完全不同的結果,這也稱為程式併發執行的不可再現性。執行結果的不確定性是絕對不允許的,這是作業系統為實現程式併發執行必須解決的問題。

  

2、現代作業系統特徵

  • 微核心結構(Microkernel  architecture)        

         它只把OS少數基本的功能(包括地址空間、程序間通訊IPC和基本排程)分配給核心,其它的OS服務由稱為伺服器的程序提供。

  • 多執行緒(Multithreading)

         該技術採用執行應用的程序被分為多個能並行執行的執行緒。

  • 對稱多處理機(Symmetric multiprocessing SMP )
  • 分散式作業系統  (Distributed  Operating Systems)
  • 面向物件設計(Object-oriented design)

3、作業系統功能

  • 處理機(程序)管理

         處理機管理的主要任務是對處理機進行分配,並對其執行進行有效的控制和管理。在多道程式環境下,處理機的分配和執行以程序為基本單位,因而對處理機管理可歸納為對程序的管理。程序管理包括程序控制、程序同步、程序通訊和排程等。

  • 儲存器管理

    儲存器管理的主要任務是為多道程式的執行提供良好的環境,方便使用者使用儲存器,提高儲存器的利用率,以及能從邏輯上來擴充記憶體,為此儲存管理應具有記憶體分配、記憶體保護、地址對映和記憶體擴充等功能。

  • I/O裝置管理

    裝置管理體制的任務是登記各I/O裝置狀態,管理並完成使用者提出的I/O請求,按一定的策略為使用者分配I/O裝置。同時提高CPU和I/O裝置的利用率,提高I/O速度,方便使用者使用I/O裝置,為此裝置管理應具有緩衝器管理、裝置分配、裝置處理及虛擬裝置等功能。

  • 資訊管理(檔案系統管理)

     計算機系統的軟體資訊都以檔案形式進行管理,作業系統中負責此任務的部分是檔案系統,檔案系統的任務是對使用者檔案和系統檔案進行管理,以方便使用者使用,並保證檔案的安全性,為此檔案系統管理應具有對檔案儲存空間的管理、目錄管理、檔案共享和保護等功能。

  • 使用者介面

     為了方便使用者使用OS,OS向用戶提供了“使用者與OS的介面”,該介面分成二種:一種是作業級介面,它提供一組鍵盤命令,供使用者去組織和控制作業的執行。另一種是程式級介面,它提供一組系統呼叫供其它程式呼叫

4、使用者介面

    使用者介面是計算機系統與使用者之間進行互動作用和通訊的通路。對絕大多數使用者而言,一個計算機系統的可接受性在很大程度上取決於這個使用者介面。使用者介面分為命令介面程式介面兩類。

  • 命令介面(作業級介面)

         作業級介面是用於作業控制的,它是藉助於在使用者和作業系統之間提供高階通訊來控制一組程式的處理。這個介面之又稱命令介面,是因為使用者可以通過鍵盤輸入或在作業中發出一系列命令,告訴OS執行那些功能。它分聯機使用者介面離線使用者介面

(1)聯機使用者介面。聯機使用者介面也叫互動式使用者介面,它用於聯機作業控制。它是由一組鍵盤操作命令組成。互動式使用者介面互動方式又分成二類,一類是字元方式,終端命令,提供面向流的通訊,如MS-DOS。另一類是圖形方式,提供“對話方塊”、“圖示”、“選單”等圖形使用者介面(GUI)如Windows。

(2)離線使用者介面也稱批處理使用者介面,它用於離線作業控制。離線作業控制又分為作業控制卡和作業說明書兩種方式。

  • 程式介面(如Win32 API

     程式介面是作業系統為正要執行的程式提供服務並與之通訊的一個設施,它供所有的使用者程式使用,也供作業系統的其它組成部分,特別是命令處理程式使用。當一個程式正在執行時,程式介面接受對系統服務及資源申請,並與作業系統的資源管理程式進行通訊。這個程式介面主要由系統呼叫組成

  • 系統呼叫是使用者在程式中呼叫作業系統所提供的一些子功能模組,它是一種特殊的過程呼叫,這種呼叫通常是由特殊的機器指令實現的,在PDP機是陷阱指令trap,在x86機是軟中斷指令INT xx,它又稱訪管指令(SVC)、訪管呼叫。使用者程式執行在使用者態下,它通過軟中斷進入核心,呼叫系統過程(子模組),執行在核心態,返回後仍在使用者態下執行。
  • 使用者程式系統呼叫從功能上分可包括程序管理、檔案管理、資訊維護、裝置I/O管理等幾方面。
  • 系統呼叫過程大體上分成以下三步:設定系統呼叫號和引數;系統呼叫命令的一般處理;系統呼叫命令處理程式做具體處理。