資源描述:
《計(jì)算機(jī)程序設(shè)計(jì)與系統(tǒng)軟件.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、計(jì)算機(jī)程序設(shè)計(jì)和軟件軟件?總的來說,軟件就是指用以指揮計(jì)算機(jī)運(yùn)行活動(dòng)所使用的程序。有兩類軟件:應(yīng)用軟件和系統(tǒng)軟件。程序員設(shè)計(jì)和編制應(yīng)用軟件來完成面向用戶的某些應(yīng)用,諸如收帳和工資系統(tǒng)等。系統(tǒng)軟件更為通用,通常是獨(dú)立于應(yīng)用的。它支持基本的計(jì)算機(jī)功能以及所有的應(yīng)用領(lǐng)域(而不是特殊的應(yīng)用)。?系統(tǒng)軟件可以將系統(tǒng)軟件從邏輯上分成主要的幾類。下面我們對(duì)每一類作概括介紹。1.編譯程序。編譯程序?qū)⒁环N高級(jí)語言的指令(如,COBOL)翻譯成計(jì)算機(jī)能解釋的指令。讀者應(yīng)該記?。喝魏我慌_(tái)計(jì)算機(jī)都是用機(jī)器語言來執(zhí)行所有的程序,而不論
2、這些程序是用BASIC、FORTRAN或是COBOL編寫的。高級(jí)程序設(shè)計(jì)語言只不過是給用戶提供了一種方便,"源"語言形式的程序是不能執(zhí)行的。2.源程序。它由程序員編寫的一些語句組成,由編譯程序?qū)λM(jìn)行編譯。圖20.7.5說明了這一過程(一個(gè)程序員交互地開發(fā)一個(gè)COBOL程序)。程序員請(qǐng)求該程序,于是系統(tǒng)從輔存中調(diào)出COBOL編譯程序并裝入到主存。然后,編譯程序?qū)⒃闯绦蚍g成目標(biāo)程序。這種目標(biāo)程序是機(jī)器語言形式,通常存放在輔存上以便今后調(diào)用并(或)直接執(zhí)行。編譯的過程可能是費(fèi)時(shí)間的,特別對(duì)于大型程序更是如此,在
3、規(guī)則地調(diào)度生產(chǎn)性程序時(shí),將直接"調(diào)用"(從磁盤檢索)并執(zhí)行目標(biāo)程序,不需要進(jìn)行編譯。如果對(duì)源程序作了某些修改,那么必須對(duì)它重新編譯以產(chǎn)生最新版本的目標(biāo)程序。3.解釋程序。解釋程序基本上執(zhí)行與編譯程序相同的功能,只是方式上不同而已。解釋程序按順序翻譯并執(zhí)行每一條源程序語句。解釋程序的優(yōu)點(diǎn)是當(dāng)語句出現(xiàn)語法錯(cuò)誤時(shí),可以立即引起程序員注意,而程序員在程序開發(fā)期間就能進(jìn)行校正。解釋程序的缺點(diǎn)是不能像編譯程序那樣充分地利用計(jì)算機(jī)資源。4.模擬和仿真程序。這類系統(tǒng)軟件允許一臺(tái)計(jì)算機(jī)就像是另一臺(tái)計(jì)算機(jī)那樣工作。當(dāng)把程序轉(zhuǎn)換到
4、另一臺(tái)不兼容的計(jì)算機(jī)上時(shí),模擬程序和仿真程序特別有用。直到現(xiàn)有程序全部被轉(zhuǎn)換成新的計(jì)算機(jī)格式后,原來為一臺(tái)老的計(jì)算機(jī)編寫的程序才能在新的計(jì)算機(jī)上執(zhí)行。從技術(shù)上講,仿真程序是硬件和軟件的結(jié)合,而模擬程序則完全是軟件。5.實(shí)用程序。實(shí)用程序是經(jīng)常使用的服務(wù)程序。這些程序提供了諸如文件備份(如,從磁盤轉(zhuǎn)貯職工主文件到磁帶)、測(cè)試輔助(在程序某個(gè)錯(cuò)誤點(diǎn)取主存的"快照")以及應(yīng)用輔助(以部門中的社會(huì)保險(xiǎn)號(hào)排序職工主文件)等功能。6.操作系統(tǒng)。操作系統(tǒng)(也稱執(zhí)行系統(tǒng)、監(jiān)督程序或管理程序)控制所有應(yīng)用程序和系統(tǒng)程序的執(zhí)行。
5、操作系統(tǒng)可以提供任務(wù)調(diào)度、輸入/輸出控制、使用機(jī)器記帳(如,每臺(tái)磁盤驅(qū)動(dòng)器的查找次數(shù)等)、主分配、數(shù)據(jù)管理以及其他有關(guān)的服務(wù)。操作系統(tǒng)的目標(biāo)是:(1)使周轉(zhuǎn)時(shí)間最小(從遞交作業(yè)到收到輸出結(jié)果之間所經(jīng)過的時(shí)間);
(2)使吞吐量最大(每一單位時(shí)間的處理量);
(3)使主存和外部設(shè)備的利用最佳化。與操作系統(tǒng)有關(guān)的一個(gè)概念是虛機(jī)器,虛機(jī)器軟件嵌入在操作系統(tǒng)中,它允許兩個(gè)以上不同操作系統(tǒng)的程序同時(shí)在同一臺(tái)計(jì)算機(jī)上執(zhí)行。當(dāng)需要從一個(gè)操作系統(tǒng)轉(zhuǎn)到另一個(gè)操作系統(tǒng)時(shí),虛機(jī)器能力是有用的。7.通信軟件。某些計(jì)算機(jī)的操作系統(tǒng)控制
6、來自(或到)一個(gè)遠(yuǎn)程地點(diǎn)的數(shù)據(jù)傳輸流,但是通常這一功能由專門為此目的而設(shè)計(jì)的通信軟件來處理。通信軟件可同時(shí)在前端處理機(jī)據(jù)主計(jì)算機(jī)上執(zhí)行。8.數(shù)據(jù)庫(kù)管理系統(tǒng)。在第六章我們已詳細(xì)討論了DBME軟件,多數(shù)數(shù)據(jù)庫(kù)管理系統(tǒng)都有一系列程序用來支持?jǐn)?shù)據(jù)管理功能。9.性能度量軟件。性能度量軟件用來監(jiān)視、分析和報(bào)告有關(guān)整個(gè)計(jì)算機(jī)系統(tǒng)和計(jì)算機(jī)系統(tǒng)各組成部分的性能。
?有關(guān)軟件的概念幾乎連最小的計(jì)算機(jī)都具有多道程序設(shè)計(jì)的能力。多道程序設(shè)計(jì)是指在任一給定時(shí)間段里多個(gè)程序看上去是同時(shí)在執(zhí)行。然而就某一特定時(shí)間而言,真正在處理機(jī)上執(zhí)行的
7、只有一道程序,其他程序處于等待或暫停狀態(tài)。當(dāng)執(zhí)行的程序需要輸入/輸出或正常結(jié)束時(shí),操作系統(tǒng)調(diào)下一道優(yōu)先數(shù)最高的等待程序在處理機(jī)上執(zhí)行。由于程序執(zhí)行的速度很快,因此,多道程序設(shè)計(jì)的處理使得看上去好像每道程序獨(dú)占了計(jì)算機(jī)。公時(shí)處理是指計(jì)算機(jī)輪流分配給每道程序一個(gè)小的時(shí)間片。由于所有要處理的數(shù)據(jù)和程序必須駐留在主存里,因此,在決定計(jì)算機(jī)系統(tǒng)的吞吐量時(shí),主存是一個(gè)關(guān)鍵的因素。一旦主存飽和,直到某部分主存被釋放之前,不能再執(zhí)行更多的程序。虛擬存貯器管理程序是給操作系統(tǒng)增加的一個(gè)軟件,通過該軟件來擴(kuò)充主存以提高CPU的吞
8、吐量。虛擬存貯器的基本原理很簡(jiǎn)單。讀者可能還記得,程序是逐條語句按順序執(zhí)行的,通過把程序放在一些"頁"(或段)中,只有正在執(zhí)行的那部分程序(頁)駐留在主存中,余下的程序存貯在一臺(tái)直接存取存設(shè)備(DASD)上,當(dāng)需要程序的另一頁時(shí),再把它調(diào)入主存。虛擬存貯器的優(yōu)點(diǎn)是它有效地?cái)U(kuò)充了主存,給程序員以更大的靈活性。但是到多個(gè)頁的轉(zhuǎn)移指令的程序?qū)?zhí)行得很慢,因?yàn)閺拇疟P設(shè)備將這些頁調(diào)入主存需要時(shí)間。程序的概念?