所謂軟體是指為方便使用計算機和提高使用效率而組織的程式以及用於開發、使用和維護的有關文件。軟體系統可分為系統軟體和應用軟體兩大類。 1系統軟體 系統軟體由一組控制計算機系統並管理其資源的程式組成,其主要功能包括:啟動計算機,儲存、載入和執行應用程式,對檔案進行排序、檢索,將程式語言翻譯成機器語言等。實際上,系統軟體可以看作使用者與計算機的介面,它為應用軟體和使用者提供了控制、訪問硬體的手段,這些功能主要由作業系統完成。此外,編譯系統和各種工具軟體也屬此類,它們從另一方面輔助使用者使用計算機。下面分別介紹它們的功能。 1)作業系統(Operating System, OS) 作業系統是管理、控制和監督計算機軟、硬體資源協調執行的程式系統,由一系列具有不同控制和管理功能的程式組成,它是直接執行在計算機硬體上的、最基本的系統軟體,是系統軟體的核心。作業系統是計算機發展中的產物,它的主要目的有兩個:一是方便使用者使用計算機,是使用者和計算機的介面。比如使用者鍵入一條簡單的命令就能自動完成複雜的功能,這就是作業系統幫助的結果;二是統一管理計算機系統的全部資源,合理組織計算機工作流程,以便充分、合理地發揮計算機的效率。作業系統通常應包括下列五大功能模組: (1)處理器管理。當多個程式同時執行時,解決處理器(CPU)時間的分配問題。 (2)作業管理。完成某個獨立任務的程式及其所需的資料組成一個作業。作業管理的任務主要是為使用者提供一個使用計算機的介面使其方便地執行自己的作業,並對所有進入系統的作業進行排程和控制,儘可能高效地利用整個系統的資源。 (3)儲存器管理。為各個程式及其使用的資料分配儲存空間,並保證它們互不干擾。 (4)裝置管理。根據使用者提出使用裝置的請求進行裝置分配,同時還能隨時接收裝置的請求(稱為中斷),如要求輸入資訊。 (5)檔案管理。主要負責檔案的儲存、檢索、共享和保護,為使用者提供檔案操作的方便。 作業系統的種類繁多,依其功能和特性分為批處理作業系統、分時作業系統和實時作業系統等;依同時管理使用者數的多少分為單使用者作業系統和多使用者作業系統;適合管理計算機網路環境的網路作業系統。按其發展前後過程,通常分成以下六類: (1)單使用者作業系統(Single User Operating System) 單使用者作業系統的主要特徵是計算機系統內一次只能支援執行一個使用者程式。這類系統的最大缺點是計算機系統的資源不能充分利用。微型機的DOS、Windows作業系統屬於這一類。 (2)批處理作業系統(Batch Processing Operating System) 批處理作業系統是20世紀70年代運行於大、中型計算機上的作業系統。當時由於單使用者單任務作業系統的CPU使用效率低,I/O裝置資源未充分利用,因而產生了多道批處理系統,它主要執行在大中型機上。多道是指多個程式或多個作業(Multi-Programs or Multi Jobs)同時存在和執行,故也稱為多工作業系統。IBM的DOS/VSE就是這類系統。 (3)分時作業系統(Time-Sharing Operating System) 分時系統是一種具有如下特徵的作業系統:在一臺計算機周圍掛上若干臺近程或遠端終端,每個使用者可以在各自的終端上以互動的方式控制作業執行。 在分時系統管理下,雖然各使用者使用的是同一臺計算機,但卻能給使用者一種“獨佔計算機”的感覺。實際上是分時作業系統將CPU時間資源劃分成極小的時間片(毫秒量級),輪流分給每個終端使用者使用,當一個使用者的時間片用完後,CPU就轉給另一個使用者,前一個使用者只能等待下一次輪到。由於人的思考、反應和鍵入的速度通常比cpu的速度慢得多,所以只要同時上機的使用者不超過一定數量,人們不會有延遲的感覺,好像每個使用者都獨佔著計算機。分時系統的優點是:第一,經濟實惠,可充分利用計算機資源;第二,由於採用互動會話方式控制作業,使用者可以坐在終端前邊思考、邊調整、邊修改,從而大大縮短了解題週期;第三,分時系統的多個使用者間可以透過檔案系統彼此交流資料和共享各種檔案,在各自的終端上協同完成共同的任務。分時作業系統是多使用者多工作業系統,UNIX是國際上最流行的分時作業系統。此外,UNIX具有網路通訊與網路服務的功能,也是廣泛使用的網路作業系統。 (4)實時作業系統(Real-Time Operating System) 在某些應用領域,要求計算機對資料能進行迅速處理。例如,在自動駕駛儀控制下飛行的飛機、導彈的自動控制系統中,計算機必須對測量系統測得的資料及時、快速地進行處理和反應,以便達到控制的目的,否則就會失去戰機。這種有響應時間要求的快速處理過程叫做實時處理過程,當然,響應的時間要求可長可短,可以是秒、毫秒或微秒級的。對於這類實時處理過程,批處理系統或分時系統均無能為力了,因此產生了另一類作業系統——實時作業系統。配置實時作業系統的計算機系統稱為實時系統。實時系統按其使用方式可分成兩類:一類是廣泛用於鋼鐵、煉油、化工生產過程控制,武器制導等各個領域中的實時控制系統;另一類是廣泛用於自動訂票系統、情報檢索系統、銀行業務系統、超級市場銷售系統中的實時資料處理系統。 (5)網路作業系統(Network Operating System) 計算機網路是透過通訊線路將地理上分散且獨立的計算機聯結起來的一種網路,有了計算機網路之後,使用者可以突破地理條件的限制,方便地使用遠處的計算機資源。提供網路通訊和網路資源共享功能的作業系統稱為網路作業系統。 (6)微機作業系統 微機作業系統隨著微機硬體技術的發展而發展,從簡單到複雜。Microsoft公司開發的DOS是一單使用者單任務系統,而Windows作業系統則是一單使用者多工系統,經過十幾年的發展,已從Windows 3.1發展到目前的Windows NT、Windows 2000和Windows XP,它是當前微機中廣泛使用的作業系統之一。Linux是一個原碼公開的作業系統,目前已被越來越多的使用者所採用,是Windows作業系統強有力的競爭對手。 2)語言處理系統(翻譯程式) 如前所述,機器語言是計算機唯一能直接識別和執行的程式語言。如果要在計算機上執行高階語言程式就必須配備程式語言翻譯程式(下簡稱翻譯程式)。翻譯程式本身是一組程式,不同的高階語言都有相應的翻譯程式。 對於高階語言來說,翻譯的方法有兩種: 一種稱為“解釋”。早期的BASIC源程式的執行都採用這種方式。它呼叫機器配備的BASIC“解釋程式”,在執行BASIC源程式時,逐條把BASIC的源程式語句進行解釋和執行,它不保留目標程式程式碼,即不產生可執行檔案。這種方式速度較慢,每次執行都要經過“解釋”,邊解釋邊執行。 另一種稱為“編譯”,它呼叫相應語言的編譯程式,把源程式變成目標程式(以.OBJ為副檔名),然後再用連線程式,把目標程式與庫檔案相連線形成可執行檔案。儘管編譯的過程複雜一些,但它形成的可執行檔案(以.exe為副檔名)可以反覆執行,速度較快。執行程式時只要鍵入可執行程式的檔名,再按Enter鍵即可。 對源程式進行解釋和編譯任務的程式,分別叫做編譯程式和解釋程式。如FORTRAN、COBOL、PASCAL和C等高階語言,使用時需有相應的編譯程式;BASIC、LISP等高階語言,使用時需用相應的解釋程式。 3)服務程式 服務程式能夠提供一些常用的服務性功能,它們為使用者開發程式和使用計算機提供了方便,像微機上經常使用的診斷程式、除錯程式、編輯程式均屬此類。 4)資料庫管理系統 在資訊社會里,社會和生產活動產生的資訊很多,使人工管理難以應付,人們希望藉助計算機對資訊進行蒐集、儲存、處理和使用。資料庫系統(Data Base System, DBS)就是在這種需求背景下產生和發展的。 資料庫是指按照一定聯絡儲存的資料集合,可為多種應用共享。資料庫管理系統(Data Base Management System, DBMS)則是能夠對資料庫進行加工、管理的系統軟體。其主要功能是建立、消除、維護資料庫及對庫中資料進行各種操作。資料庫系統主要由資料庫(DB)、資料庫管理系統(DBMS)以及相應的應用程式組成。資料庫系統不但能夠存放大量的資料,更重要的是能迅速、自動地對資料進行檢索、修改、統計、排序、合併等操作,以得到所需的資訊。這一點是傳統的檔案櫃無法做到的。 資料庫技術是計算機技術中發展最快、應用最廣的一個分支。可以說,在今後的計算機應用開發中大都離不開資料庫。因此,瞭解資料庫技術尤其是微機環境下的資料庫應用是非常必要的。 2應用軟體 為解決各類實際問題而設計的程式系統稱為應用軟體。從其服務物件的角度,又可分為通用軟體和專用軟體兩類。 1)通用軟體 這類軟體通常是為解決某一類問題而設計的,而這類問題是很多人都要遇到和解決的。例如:文字處理、表格處理、電子演示等。 2)專用軟體 在市場上可以買到通用軟體,但有些具有特殊功能和需求的軟體是無法買到的。比如某個使用者希望有一個程式能自動控制車床,同時也能將各種事務性工作整合起來統一管理。因為它對於一般使用者是太特殊了,所以只能組織人力開發。當然開發出來的這種軟體也只能專用於這種情況。
所謂軟體是指為方便使用計算機和提高使用效率而組織的程式以及用於開發、使用和維護的有關文件。軟體系統可分為系統軟體和應用軟體兩大類。 1系統軟體 系統軟體由一組控制計算機系統並管理其資源的程式組成,其主要功能包括:啟動計算機,儲存、載入和執行應用程式,對檔案進行排序、檢索,將程式語言翻譯成機器語言等。實際上,系統軟體可以看作使用者與計算機的介面,它為應用軟體和使用者提供了控制、訪問硬體的手段,這些功能主要由作業系統完成。此外,編譯系統和各種工具軟體也屬此類,它們從另一方面輔助使用者使用計算機。下面分別介紹它們的功能。 1)作業系統(Operating System, OS) 作業系統是管理、控制和監督計算機軟、硬體資源協調執行的程式系統,由一系列具有不同控制和管理功能的程式組成,它是直接執行在計算機硬體上的、最基本的系統軟體,是系統軟體的核心。作業系統是計算機發展中的產物,它的主要目的有兩個:一是方便使用者使用計算機,是使用者和計算機的介面。比如使用者鍵入一條簡單的命令就能自動完成複雜的功能,這就是作業系統幫助的結果;二是統一管理計算機系統的全部資源,合理組織計算機工作流程,以便充分、合理地發揮計算機的效率。作業系統通常應包括下列五大功能模組: (1)處理器管理。當多個程式同時執行時,解決處理器(CPU)時間的分配問題。 (2)作業管理。完成某個獨立任務的程式及其所需的資料組成一個作業。作業管理的任務主要是為使用者提供一個使用計算機的介面使其方便地執行自己的作業,並對所有進入系統的作業進行排程和控制,儘可能高效地利用整個系統的資源。 (3)儲存器管理。為各個程式及其使用的資料分配儲存空間,並保證它們互不干擾。 (4)裝置管理。根據使用者提出使用裝置的請求進行裝置分配,同時還能隨時接收裝置的請求(稱為中斷),如要求輸入資訊。 (5)檔案管理。主要負責檔案的儲存、檢索、共享和保護,為使用者提供檔案操作的方便。 作業系統的種類繁多,依其功能和特性分為批處理作業系統、分時作業系統和實時作業系統等;依同時管理使用者數的多少分為單使用者作業系統和多使用者作業系統;適合管理計算機網路環境的網路作業系統。按其發展前後過程,通常分成以下六類: (1)單使用者作業系統(Single User Operating System) 單使用者作業系統的主要特徵是計算機系統內一次只能支援執行一個使用者程式。這類系統的最大缺點是計算機系統的資源不能充分利用。微型機的DOS、Windows作業系統屬於這一類。 (2)批處理作業系統(Batch Processing Operating System) 批處理作業系統是20世紀70年代運行於大、中型計算機上的作業系統。當時由於單使用者單任務作業系統的CPU使用效率低,I/O裝置資源未充分利用,因而產生了多道批處理系統,它主要執行在大中型機上。多道是指多個程式或多個作業(Multi-Programs or Multi Jobs)同時存在和執行,故也稱為多工作業系統。IBM的DOS/VSE就是這類系統。 (3)分時作業系統(Time-Sharing Operating System) 分時系統是一種具有如下特徵的作業系統:在一臺計算機周圍掛上若干臺近程或遠端終端,每個使用者可以在各自的終端上以互動的方式控制作業執行。 在分時系統管理下,雖然各使用者使用的是同一臺計算機,但卻能給使用者一種“獨佔計算機”的感覺。實際上是分時作業系統將CPU時間資源劃分成極小的時間片(毫秒量級),輪流分給每個終端使用者使用,當一個使用者的時間片用完後,CPU就轉給另一個使用者,前一個使用者只能等待下一次輪到。由於人的思考、反應和鍵入的速度通常比cpu的速度慢得多,所以只要同時上機的使用者不超過一定數量,人們不會有延遲的感覺,好像每個使用者都獨佔著計算機。分時系統的優點是:第一,經濟實惠,可充分利用計算機資源;第二,由於採用互動會話方式控制作業,使用者可以坐在終端前邊思考、邊調整、邊修改,從而大大縮短了解題週期;第三,分時系統的多個使用者間可以透過檔案系統彼此交流資料和共享各種檔案,在各自的終端上協同完成共同的任務。分時作業系統是多使用者多工作業系統,UNIX是國際上最流行的分時作業系統。此外,UNIX具有網路通訊與網路服務的功能,也是廣泛使用的網路作業系統。 (4)實時作業系統(Real-Time Operating System) 在某些應用領域,要求計算機對資料能進行迅速處理。例如,在自動駕駛儀控制下飛行的飛機、導彈的自動控制系統中,計算機必須對測量系統測得的資料及時、快速地進行處理和反應,以便達到控制的目的,否則就會失去戰機。這種有響應時間要求的快速處理過程叫做實時處理過程,當然,響應的時間要求可長可短,可以是秒、毫秒或微秒級的。對於這類實時處理過程,批處理系統或分時系統均無能為力了,因此產生了另一類作業系統——實時作業系統。配置實時作業系統的計算機系統稱為實時系統。實時系統按其使用方式可分成兩類:一類是廣泛用於鋼鐵、煉油、化工生產過程控制,武器制導等各個領域中的實時控制系統;另一類是廣泛用於自動訂票系統、情報檢索系統、銀行業務系統、超級市場銷售系統中的實時資料處理系統。 (5)網路作業系統(Network Operating System) 計算機網路是透過通訊線路將地理上分散且獨立的計算機聯結起來的一種網路,有了計算機網路之後,使用者可以突破地理條件的限制,方便地使用遠處的計算機資源。提供網路通訊和網路資源共享功能的作業系統稱為網路作業系統。 (6)微機作業系統 微機作業系統隨著微機硬體技術的發展而發展,從簡單到複雜。Microsoft公司開發的DOS是一單使用者單任務系統,而Windows作業系統則是一單使用者多工系統,經過十幾年的發展,已從Windows 3.1發展到目前的Windows NT、Windows 2000和Windows XP,它是當前微機中廣泛使用的作業系統之一。Linux是一個原碼公開的作業系統,目前已被越來越多的使用者所採用,是Windows作業系統強有力的競爭對手。 2)語言處理系統(翻譯程式) 如前所述,機器語言是計算機唯一能直接識別和執行的程式語言。如果要在計算機上執行高階語言程式就必須配備程式語言翻譯程式(下簡稱翻譯程式)。翻譯程式本身是一組程式,不同的高階語言都有相應的翻譯程式。 對於高階語言來說,翻譯的方法有兩種: 一種稱為“解釋”。早期的BASIC源程式的執行都採用這種方式。它呼叫機器配備的BASIC“解釋程式”,在執行BASIC源程式時,逐條把BASIC的源程式語句進行解釋和執行,它不保留目標程式程式碼,即不產生可執行檔案。這種方式速度較慢,每次執行都要經過“解釋”,邊解釋邊執行。 另一種稱為“編譯”,它呼叫相應語言的編譯程式,把源程式變成目標程式(以.OBJ為副檔名),然後再用連線程式,把目標程式與庫檔案相連線形成可執行檔案。儘管編譯的過程複雜一些,但它形成的可執行檔案(以.exe為副檔名)可以反覆執行,速度較快。執行程式時只要鍵入可執行程式的檔名,再按Enter鍵即可。 對源程式進行解釋和編譯任務的程式,分別叫做編譯程式和解釋程式。如FORTRAN、COBOL、PASCAL和C等高階語言,使用時需有相應的編譯程式;BASIC、LISP等高階語言,使用時需用相應的解釋程式。 3)服務程式 服務程式能夠提供一些常用的服務性功能,它們為使用者開發程式和使用計算機提供了方便,像微機上經常使用的診斷程式、除錯程式、編輯程式均屬此類。 4)資料庫管理系統 在資訊社會里,社會和生產活動產生的資訊很多,使人工管理難以應付,人們希望藉助計算機對資訊進行蒐集、儲存、處理和使用。資料庫系統(Data Base System, DBS)就是在這種需求背景下產生和發展的。 資料庫是指按照一定聯絡儲存的資料集合,可為多種應用共享。資料庫管理系統(Data Base Management System, DBMS)則是能夠對資料庫進行加工、管理的系統軟體。其主要功能是建立、消除、維護資料庫及對庫中資料進行各種操作。資料庫系統主要由資料庫(DB)、資料庫管理系統(DBMS)以及相應的應用程式組成。資料庫系統不但能夠存放大量的資料,更重要的是能迅速、自動地對資料進行檢索、修改、統計、排序、合併等操作,以得到所需的資訊。這一點是傳統的檔案櫃無法做到的。 資料庫技術是計算機技術中發展最快、應用最廣的一個分支。可以說,在今後的計算機應用開發中大都離不開資料庫。因此,瞭解資料庫技術尤其是微機環境下的資料庫應用是非常必要的。 2應用軟體 為解決各類實際問題而設計的程式系統稱為應用軟體。從其服務物件的角度,又可分為通用軟體和專用軟體兩類。 1)通用軟體 這類軟體通常是為解決某一類問題而設計的,而這類問題是很多人都要遇到和解決的。例如:文字處理、表格處理、電子演示等。 2)專用軟體 在市場上可以買到通用軟體,但有些具有特殊功能和需求的軟體是無法買到的。比如某個使用者希望有一個程式能自動控制車床,同時也能將各種事務性工作整合起來統一管理。因為它對於一般使用者是太特殊了,所以只能組織人力開發。當然開發出來的這種軟體也只能專用於這種情況。