• Operating System Video Tutorials

作業系統 - 概述



作業系統 (OS) 是計算機使用者和計算機硬體之間的介面。作業系統是一種軟體,它執行所有基本任務,例如檔案管理、記憶體管理、程序管理、處理輸入和輸出以及控制外圍裝置(如磁碟驅動器和印表機)。

作業系統是一種使應用程式能夠與計算機硬體互動的軟體。包含作業系統核心元件的軟體稱為核心

作業系統的主要目的是使應用程式(軟體)能夠與計算機硬體互動,並管理系統的硬體和軟體資源。

一些流行的作業系統包括 Linux 作業系統、Windows 作業系統、VMS、OS/400、AIX、z/OS 等。如今,作業系統幾乎存在於每種裝置中,例如手機、個人電腦、大型機、汽車、電視、玩具等。

定義

我們可以對作業系統有許多定義。讓我們來看幾個:

作業系統是支援計算機基本功能(例如排程任務和控制外圍裝置)的低階軟體。

我們可以將此定義細化為:

作業系統是一個程式,它充當使用者和計算機硬體之間的介面,並控制各種程式的執行。

以下是維基百科中的另一個定義:

作業系統 (OS) 是管理計算機硬體、軟體資源併為計算機程式提供常用服務的系統軟體。

架構

我們可以繪製作業系統的通用架構圖,如下所示

Conceptual view of an Operating System

作業系統世代

作業系統多年來一直在發展。我們可以根據不同世代對這種演變進行分類,如下所述:

第0代

第0代是指計算發展時期,查爾斯·巴貝奇發明了分析機,後來約翰·阿塔納索夫在1940年創造了一臺計算機。這一時期的硬體元件技術是電子真空管。這一代計算機沒有作業系統,計算機程式是用機器語言編寫的。這一代計算機效率低下,依賴於操作員個人的不同能力。

第一代 (1951-1956)

第一代標誌著商業計算的開始,包括1951年初埃克特和莫奇利的UNIVAC I的推出,以及稍後IBM 701的推出。

系統操作是在專家操作員的幫助下進行的,一段時間內沒有作業系統的幫助,儘管程式開始用更高階的過程導向語言編寫,因此操作員的例程擴充套件了。後來開發了單程式作業系統,它消除了執行作業中的一些人工干預,併為程式設計師提供了許多理想的功能。這些系統仍在人工操作員的控制下執行,人工操作員遵循許多步驟來執行程式。約翰·W·巴科斯在1956年開發了FORTRAN之類的程式語言。

第二代 (1956-1964)

第二代計算機硬體最顯著的特點是電晶體取代真空管作為硬體元件技術。IBM 計算機開發了第一個作業系統 GMOS。GMOS 基於單流批處理系統,因為它將所有類似的作業收集到組或批次中,然後使用穿孔卡將作業提交給作業系統以完成機器中的所有作業。完成一項作業後,作業系統會清除,然後繼續讀取並啟動穿孔卡中的下一項作業。

研究人員開始在他們的計算服務中試驗多道程式設計和多處理,這被稱為分時系統。一個值得注意的例子是相容分時系統 (CTSS),它是在 20 世紀 60 年代初在麻省理工學院開發的。

第三代 (1964-1979)

1964年4月,IBM釋出其System/360系列計算機,正式開啟了第三代。硬體技術開始使用積體電路 (IC),這在速度和經濟性方面都產生了顯著優勢。

隨著多道程式設計的引入和廣泛採用,作業系統開發繼續進行。充分利用計算機資料通道 I/O 功能的想法繼續發展。

另一個導致第四代個人電腦發展的進步是帶有DEC PDP-1的新型小型機的開發。第三代確實是計算機硬體和伴隨的作業系統發展的激動人心的時代。

第四代 (1979 – 至今)

第四代的特點是個人電腦和工作站的出現。第三代的元件技術被超大規模積體電路 (VLSI) 所取代。我們今天使用的許多作業系統,如 Windows、Linux、MacOS 等,都是在第四代開發的。

以下是作業系統的某些重要功能。

  • 記憶體管理
  • 處理器管理
  • 裝置管理
  • 檔案管理
  • 網路管理
  • 安全
  • 控制系統性能
  • 作業會計
  • 錯誤檢測輔助
  • 其他軟體和使用者之間的協調

記憶體管理

記憶體管理是指主記憶體或主存的管理。主記憶體是一個大型字或位元組陣列,其中每個字或位元組都有其自己的地址。

主記憶體提供 CPU 可以直接訪問的快速儲存。要執行程式,它必須位於主記憶體中。作業系統為記憶體管理執行以下活動:

  • 跟蹤主記憶體,即哪些部分由誰使用,哪些部分未使用。

  • 在多道程式設計中,作業系統決定哪個程序何時以及獲得多少記憶體。

  • 在程序請求時分配記憶體。

  • 當程序不再需要記憶體或已被終止時,釋放記憶體。

處理器管理

在多道程式設計環境中,作業系統決定哪個程序何時以及獲得多長時間的處理器。此功能稱為程序排程。作業系統為處理器管理執行以下活動:

  • 跟蹤處理器和程序的狀態。負責此任務的程式稱為交通控制器

  • 將處理器 (CPU) 分配給程序。

  • 當不再需要程序時,釋放處理器。

裝置管理

作業系統透過其相應的驅動程式管理裝置通訊。它為裝置管理執行以下活動:

  • 跟蹤所有裝置。負責此任務的程式稱為I/O控制器

  • 決定哪個程序何時以及獲得多長時間的裝置。

  • 以高效的方式分配裝置。

  • 釋放裝置。

檔案管理

檔案系統通常組織成目錄,以便於導航和使用。這些目錄可能包含檔案和其他目錄。

作業系統為檔案管理執行以下活動:

  • 跟蹤資訊、位置、用途、狀態等。這些集體設施通常稱為檔案系統

  • 決定誰獲得資源。

  • 分配資源。

  • 釋放資源。

其他重要活動

以下是作業系統執行的一些重要活動:

  • 安全 - 透過密碼和其他類似技術,防止未經授權訪問程式和資料。

  • 控制系統性能 - 記錄服務請求與系統響應之間的延遲。

  • 作業會計 - 跟蹤各種作業和使用者使用的時間和資源。

  • 錯誤檢測輔助 - 生成轉儲、跟蹤、錯誤訊息和其他除錯和錯誤檢測輔助工具。

  • 其他軟體和使用者之間的協調 - 協調和分配編譯器、直譯器、彙編程式和其他軟體給計算機系統的各種使用者。

廣告