Download presentation
Presentation is loading. Please wait.
1
第7章 其他系統軟體
2
內容 7.1 節中介紹一般資料庫管理系統 7.2 節提供一個互動式文字編輯系統的簡介 7.3 節介紹互動式的除錯系統
3
7.1 資料庫管理系統 7.1.1 節討論資料庫管理系統的發展主題,並介紹DBMS 的基本概念。 7.1.2 節介紹此系統的呈現方式。
4
7.1.1 DBMS的基本概念 傳統檔案處理系統中的兩大問題 資料重複性(data redundancy)
資料相關性(data dependence)
5
範例 儲存學生學習記錄的註冊系統、管理學生獎學金的財務輔助系統,以及大學內所有教職員和工讀生的薪資系統。
每一個檔案處理系統均有一組程式和資料檔案。這些資料檔案的格式、組成與內容係由定義系統者所決定。每個系統中的檔案僅涵蓋這個系統所需的資訊,而分屬於不同系統的檔案之間,僅有甚少的協調性或是毫無協調性。
6
圖7.1 獨立的檔案處理系統
7
獨立檔案處理系統 產生大量重複性的資料 增加儲存的空間 重複性問題 許多次的更新 耗費許多的計算時間和輸出入的動作 資料不一致
8
可行方案1 可以將所有檔案系統的資訊收集到單一的整合資料庫中。 可以解決資料多餘性的問題 其他的困擾
直接存取理實體檔案的應用程式,會產生某些資料相關(data dependent)的問題 例如記錄的格式、檔案的組織方式和順序。當檔案的這些結構發生改變時,應用程式也必須隨之修改。
9
圖7.2 使用整合資料庫的資料相關程式
10
圖7.2 使用整合資料庫的資料相關程式
11
可行方案2 將檔案的組織和記錄格式的細節,與應用程式相互獨立 即使檔案結構發生變化,也不會影響到應用程式 優點 耗費更多的系統虛工
資訊獨立性 資料庫的儲存技術會隨著需求而改變。 耗費更多的系統虛工
12
圖7.3 使用DBMS 的資料相關程式
13
圖7.3 使用DBMS 的資料相關程式
14
7.1.2 資料描述的層次 儲存於DBMS 的資訊,可以配合使用者之不同觀點(view)的需要。
最常見的觀點是整個邏輯資料庫的描述,稱之為綱目(schema)。 這些記錄之間的實線連接,是表示特定的記錄之間的關係(relationships) 一個真實的資料庫可能會有更多的邏輯記錄型態,而每一個記錄也可能具有更多的資料項目。
15
圖7.4 大學資料庫綱目的範例
16
綱目 綱目(schema)具有資料庫之邏輯結構和內容的完整描述。 應用程式所需要的資料描述,通常可以用子綱目(subschema)來表示
每一個子綱目對應於資料庫中的一個視表(view),以配合使用此子綱目之程式的需要。
17
「資料描述的語言」 (data description language)
定義每一階層的資料庫。 以子綱目的描述語言所撰寫的子綱目,是供應用程式設計師所用。 通常子綱目描述語言(data description language)是所屬於式語言中的資料描述機制的擴充。 資料庫管理者可以使用綱目本身和實際的資料對映描述
18
圖7.5 相對於圖7.4 綱目中三個可能的子綱目
19
7.1.3 DBMS 的使用 兩個主要方法 一般的程式語言 資料處理語言(DML)
20
圖7.6 與DBMS 互動的方式
21
圖7.7 DBMS 執行動作的典型程序
22
7.2 文字編輯程式 7.2.1 節是編輯處理程序的概況介紹 7.2.2 節將探討各種不同的使用者介面和輸出輸入設備
7.3.3 節則是描述典型文字編輯程式的結構,以及討論一些與系統有關的主題。
23
7.2.1 編輯處理的簡介 互動式編輯程式是屬於一種電腦程式,可以讓使用者撰寫和修改一個目的文件 四項工作:
選擇目的文件之一部分來閱覽和處理。 決定將線上展示的格式及如何顯示。 指定和執行修改文件的動作。 適當地更新展示方式。
24
7.2.2 使用者介面 線性編輯器(line editor)是模擬打字機的運作方式
螢幕編輯器(screen editor)可以讓文件顯示成方型的文字平面 輸入設備(input device)、輸出設備(output device)和系統的交談語言(interaction language)
25
輸入設備 用於輸入所編輯之文字的元素、鍵入指令、並且指定可編輯的元素。
這些編輯的設備可以分成三個類型:文字裝置、按鈕(button)裝置和定位(locator)裝置 文字或字串裝置通常是指鍵盤 按鈕(button)或選擇(choice)裝置通常是指鍵盤或是顯示器上的一組特殊的功能鍵。 定位(locator)裝置是一種類比至數位的二維轉換器,可以依據使用者在裝置上的移動狀況,來定位螢幕上的一個游標符號。
26
輸出設備 電傳打字機( teletype-writer 字元列印終端機(character-printing Terminal)
陰極射線管(CRT)
27
互動式語言 文字編輯器中許多編輯介面的一種。
鍵入導向(typing-oriented)或文字指令導向(text command-oriented)是主要編輯介面中最早的方法 使用者透過輸入文字串指令或運算方式以與編輯器溝通。這些字串送到編輯器後,會再回應至輸出設備。
28
7.2.3 編輯程式結構 指令語言處理程式(command language processor)
可以接收使用者所輸入的資訊,分析指令的符記(token)和語法結構。 直接呼叫語意的程序 執行編輯和閱覽等功能 產生一些中間碼 解譯程式可以呼叫適當的語意程序,以解碼該中間碼 語意程序包含了移動(traveling)、編輯(editing)、閱覽(viewing)和顯示(display)等功能
29
圖7.8 典型的編輯程式結構
30
編輯文件 編輯啟始的區域是由編輯元件(editing component)所維護的「目前編輯指標」(current editing pointer)所決定,此編輯元件是指一些編輯工作(editing tasks)之模組的集合。 當使用者下達一個編輯指令時,編輯元件會呼叫「編輯過濾程式」(editing filter),此元件會過濾文件,並基於目前編輯指標以及編輯過濾參數,產生一個新的編輯緩衝區(editing buffer)。
31
閱覽文件 由閱覽元件(viewing component)所維護之「目前閱覽指標」(current viewing pointer)來決定閱覽的開始區域,此閱覽元件包含一群決定下一個閱覽區域的模組。 編輯緩衝區和閱覽緩衝區是各自獨立,仍有許多方法來建立它們之間的關聯。 編輯緩衝區和閱覽緩衝區可能會有部分的重
32
圖7.9 編輯和閱覽緩衝區之間的簡單關係
33
視窗 視窗通常可以涵蓋整個螢幕,或是其中的矩形部分 閱覽緩衝區只對應到螢幕的部份視窗 多重視窗(multiple windows)
閱覽元件會以一種與設備無關的中間形式,來展現一個理想的畫面 顯示元件(display component)自閱覽元件中取得理想的畫面
34
「終端機控制的資料庫」 只需簡單地呼叫與終端機不相依的程式庫,例如捲下(scroll down)或是讀取游標位置(read cursor position)。 這些程式庫使用「終端機控制資料庫」,為特定終端機尋找合適的控制序列。 因此,當增加一個新的終端機時,只需要在資料庫中增加此終端機的描述即可。
35
編輯程式元件 在兩個層面上,處理使用者的文件:主記憶體和磁碟檔案系統。
將完整的檔案對應到虛擬的記憶體,讓作業系統可以執行有效率的分頁動作(paging) 「編輯分頁程序」(editor paging routine),它會由所需文件中讀取一個或是更多的邏輯部分到記憶體中,這個邏輯部分通常稱之為「分頁」(pages)
36
三種基本的計算環境 編輯程式可以在分時(time sharing)、獨立(stand alone)和分散(distributed)的環境運作
分時編輯程式必須快速地在電腦的微處理機、主記憶體和輸出入設備之承載的資料之間切換運作 獨立系統的編輯程式必須具備分時編輯程式的功能 在資源共享的分散式區域網路中,編輯程式就像是一個獨立的編輯程式,運作於每個使用者的電腦上,同時也像是分時編輯程式一樣,必須競爭一些資源
37
7.3 互動式除錯系統 7.3.1 節簡單地介紹互動式除錯系統中最主要的功能和機制 7.3.2 節介紹除錯工具與系統的其他部分之間的關聯性
7.3.3 節討論互動式除錯器的使用者介面特性
38
7.3.1 除錯功能和機制 「單元測試功能」(unit test function)
依照執行序列(execution sequencing),來觀察和控制程式的執行流程 除錯系統也可以提供一些追蹤(tracing)和回溯(trace back)的功能。 追蹤功能可以追蹤運作邏輯和資料修正的流程 回溯(trace back)功能可以顯示程式執行的路徑,也可以顯示那些敘述已經修改特定的變數或參數。
39
除錯系統 良好的程式顯示(program display)能力 可以有效地修改和重新編譯器 能夠儲存所有的除錯規範
能夠修改程式中的任何變數和常數,然後重新執行程式 必須定程式的語言種類,並且設定相關的情境(context)
40
除錯器 除錯器必須存取由語言翻譯程式(language translator)所收集的資訊
在不同的語言翻譯程式中,內部符號字典(internal symbol dictionary)的格式也常常會有很大的差異 未來的編譯器和組譯器都會朝向與除錯系統一致的介面。
41
原始碼的顯示 語言翻譯程式可以某種標準方式,提供原始碼或原始程式列表,
翻譯程式可以提供一個模組介面,用以進行瀏覽和顯示的動作,來回應除錯器的要求。
42
處理最佳化程式 最佳化方式會為除錯器帶來一些問題 通常使用者執行在最佳化之前,可以利用除錯系統處理其原始型式的程式
將程式碼的某些區段重新排列。 刪除多餘的運算式 儲存變數的空間 通常使用者執行在最佳化之前,可以利用除錯系統處理其原始型式的程式 需要最佳化編譯器提供相當程度的配合
43
7.3.2 與系統其他部分的關係 互動式除錯器必須隨時可以運用 與系統元件的安全和整體元件維持其一致性 除錯器的優點在於可以控制所顯示的資訊
它必須是執行環境的一部份,同時也是整體系統的一部份。當發生一個錯誤發生時,必須可以立即執行除錯動作 與系統元件的安全和整體元件維持其一致性 除錯器的優點在於可以控制所顯示的資訊
44
7.3.3 使用者介面的標準 儘量使用全螢幕顯示以及視窗系統 各種縮排(indentation)技術有助於劃分選單的各個部份
支援互動的使用方式 指令語言必須有清楚、邏輯和簡單的語法 有線上的輔助功能
Similar presentations