『壹』 文件的物理結構有哪3種,分別具備什麼優缺點
一、順序結構
優點:
1、支持順序存取和隨機存取。
2、順序存取速度快。
3、所需的磁碟尋道次數和尋道時間最少。
缺點:
1、需要為每個文件預留若干物理塊以滿足文件增長的部分需要。
2、不利於文件插入和刪除。
二、鏈式結構
優點:
1、提高了磁碟空間利用率,不需要為每個文件預留物理塊。
2、有利於文件插入和刪除。
3、有利於文件動態擴充。
缺點:
1、存取速度慢,不適於隨機存取。
2、當物理塊間的連接指針出錯時,數據丟失。
3、更多的尋道次數和尋道時間。
4、鏈接指針佔用一定的空間,降低了空間利用率。
三、索引結構
優點:
1、不需要為每個文件預留物理塊。
2、既能順序存取,又能隨機存取。
3、滿足了文件動態增長、插入刪除的要求。
缺點:
1、較多的尋道次數和尋道時間。
2、索引表本身帶來了系統開銷。如:內外存空間,存取時間等。
拓展資料:
文件存取方法:
順序存取:順序存取是按照文件的邏輯地址順序存取。
固定長記錄的順序存取是十分簡單的。讀操作總是讀出上一次讀出的文件的下一個記錄,同時,自動讓文件記錄讀指針推進,以指向下一次要讀出的記錄位置。如果文件是可讀可寫的。再設置一個文件記錄指針,它總指向下一次要寫入記錄的存放位置,執行寫操作時,將一個記錄寫到文件 末端。允許對這種文件進行前跳或後退N(整數)個記錄的操作。順序存取主要用於磁帶文件,但也適用於磁碟上的順序文件。
可變長記錄的順序文件,每個記錄的長度信息存放於記錄前面一個單元中,它的存取操作分兩步進行。讀出時,根據讀指針值先讀出存放記錄長度的單元 。然後,得到當前記錄長後再把當前記錄一起寫到指針指向的記錄位置,同時,調整寫指針值 。
由於順序文件是順序存取的,可採用成組和分解操作來加速文件的輸入輸出。
直接存取(隨機存取法):
很多應用場合要求以任意次序直接讀寫某個記錄。例如,航空訂票系統,把特定航班的所有信息用航班號作標識,存放在某物理塊中,用戶預訂某航班時,需要直接將該航班的信息取出。直接存取方法便適合於這類應用,它通常用於磁碟文件。
為了實現直接存取,一個文件可以看作由順序編號的物理塊組成的,這些塊常常劃成等長,作為定位和存取的一個最小單位,如一塊為1024位元組、4096位元組,視系統和應用而定。於是用戶可以請求讀塊22、然後,寫塊48,再讀塊9等等。直接存取文件對讀或寫塊的次序沒有限制。用戶提供給操作系統的是相對塊號,它是相對於文件開始位置的一個位移量,而絕對塊號則由系統換算得到。
索引存取:
第三種類型的存取是基於索引文件的索引存取方法。由於文件中的記錄不按它在文件中的位置,而按它的記錄鍵來編址,所以,用戶提供給操作系統記錄鍵後就可查找到所需記錄。通常記錄按記錄鍵的某種順序存放,例如,按代表健的字母先後次序來排序。對於這種文件,除可採用按鍵存取外,也可以採用順序存取或直接存取的方法。信息塊的地址都可以通過查找記錄鍵而換算出。實際的系統中,大都採用多級索引,以加速記錄查找過程。
參考資料:網路:文件存取法
『貳』 急!!操作系統的判斷題目
1.操作系統的所有程序都必須常駐內存.╳
2. 進程獲得處理機而運行是通過申請而得到的. ╳
3. 通過任何手段都無法實現計算機系統資源之間的互換. ╳
4. 進程式控制制塊中的所有信息必須常駐內存. ╳
5. 一旦出現死鎖, 所有進程都不能運行. ╳
6. 所有進程都掛起時, 系統陷入死鎖. ╳
7. 優先數是進程調度的重要依據, 一旦確定不能改變. ╳
8. 同一文件系統中不允許文件同名, 否則會引起混亂. ╳
9. 用戶程序有時也可以在核心態下運行. ╳
10. 虛擬存儲系統可以在每一台計算機上實現. ╳
11. 進程在運行中, 可以自行修改自己的進程式控制制塊. ╳
12. 進程申請CPU得不到滿足時, 其狀態變為等待態. ╳
13. 在虛存系統中, 只要磁碟空間無限大, 作業就能擁有任意大的編址空間. ╳
14. 在內存為M的分時系統中, 當注冊的用戶有N個時,每個用戶擁有M/N的內存空間.
15. 特殊文件是指其用途由用戶特殊規定的文件. ╳
16. 由於P、V操作描述同步、互斥等問題的能力不足, 所以有必要引入其它的通訊原語或機制, 如send, receive或Monitor等. ╳
17. 大多數虛擬系統採用OPT(優化)淘汰演算法是因為它確實可以得到最小的缺頁率. ╳ 18. 實時系統中的作業周轉時間有嚴格的限制. ╳
19. 文件的索引表全部存放在文件控制塊中. ╳
20. 列印機是一類典型的塊設備. ╳
21. 當一個進程從等待態變成就緒態, 則一定有一拿山者個進程從就緒態變成運行態. ╳
22. 執行系統調用時可以被中斷. √
23. 在作業調度時, 採用最高響應比優先的作業調度演算法可以得到最短的作業平均周轉時間. ╳
24. 在請求頁式存儲管理中, 頁面淘汰所花費的時間不屬於系統開銷. ╳
25. 進程優先數是進程調度的重要依據, 必須根據進程運行情況動態改變. ╳ 26. 流式文件是指無結構的文件. √
27. 參與死鎖的所有進程都佔有資源. ╳
28. 頁式存儲管理中, 用戶應將自己的程序劃分成若干相等的頁. ╳
29. 引入當前目錄是為了減少啟動磁碟的次數. √
30. 文件目錄必須常駐內存. ╳
31. 固定頭磁碟存儲器的存取時間包括搜查定位時間和旋轉延遲時間. ╳
32. 在文件系統中, 打開文件是指創建一個文件控制塊. ╳
33. 存儲保護的目的是限制內存的分配. ╳
34. 原語和系統調用的主要區別在於兩者的實現方法不同. ╳
35. 清內存指令只能在管態下執行. √
36. 在大型多道程序設計系統中, 為充分利用外部設備, 應使運行的若干程序都是I/O型的. √
37. 在頁式虛擬存儲系統中, 頁面長度是根據程序長度動態地分配的. ╳ 38. 如果信號量S的當前值為-5, 則表示系統中共有5個等待進程. ╳
39. 磁碟上物理結構為鏈接結構的文件消薯只能順序存取. √
40. 系統處於不安全狀態不一唯衫定是死鎖狀態. √
41. 有m個進程的操作系統出現死鎖時, 死鎖進程的個數為1<k≤m. √
42. 進程狀態的轉換是由操作系統完成的, 對用戶是透明的. √
43. 優先數是進程調度的重要依據, 優先數大的進程首先被調度運行. ╳
44. 文件系統的主要目的是存儲系統文檔. ╳
45. 對文件進行讀寫前,要先打開文件. √
46. 所謂最近最少使用(LRU)頁面調度演算法是指將駐留在內存中使用次數最少的頁面淘汰掉. ╳
47. 由於現代操作系統提供了程序共享的功能,所以要求被共享的程序必須是可再入程序. √
48. 參與死鎖的進程至少有兩個已經佔有資源. √
49. 在頁式虛擬存儲系統中,頁面長度固定並且是硬體的設計特性. √
50. 不可搶占式動態優先數法一定會引起進程長時間得不到運行. ╳
51. 設置中斷屏蔽指令可以在目態下執行. ╳
『叄』 什麼是文件系統的物理屬性
1. 文件和文件系統
(1) 文件的概念
文件是存儲在外存上的具有標識名的一組相關信息集合,它具有文件類型、長度、物理位置、存取控制和建立時間等屬性。文件的三個基本特徵是:
文件的內容是一組信息的集合,可以是源程序、二進制代碼、文本文檔、數據、表格、聲音和圖象等。
文件具有保存性,存放在某種存貯介質上,長期保存,多次使用。
文件是按名存取的,每個文件都具有唯一的標識名。
(2) 文件系統
文件系統包含兩方面的含義,一方麵包括負責管理文件的一組系統軟體,另一方面也包括被管理的對象,即文件。
文件系統的主要目標是提高外存空間的利用率,它要解決的主要問題有:完成文件存儲空間的管理,實現文件名到物理地址的轉換,實現文件和目錄的操作,提供文件共享能力和安全措施,提供友好的用戶介面。
(3) 文件的分類
按用途分類——系統文件、庫文件、用戶文件、文檔文件
按文件中的數據形式分類——源文件、目標文件、可執行文件
按存取控制屬性分類——只執行文件、只讀文件、讀寫文件
按文件邏輯結構分類——有結構的記錄式文件、無結構的字元流式文件
按文件的物理結構分類——順序文件、鏈接文件、索引文件
按信息流向分類——輸入文件、輸出文件、輸入/輸出文件
2. 文件的邏輯結構
從用戶觀點出發,所觀察到的文件組織形式,是用戶可直接處理的數據及其結構,獨立於物理特性,又稱文件組織。
3. 文件的物理結構
根據外部存儲設備的不同,文件被劃分為若干個大小相等的物理塊,它是存放文件信息或分配存儲空間的基本單位,也是文件系統與主存之間傳輸或交換信息(讀寫)的基本單位。物理塊的大小一般是固定的,由存儲設備和操作系統確定。一個物理塊可以存放一個或多個邏輯記錄,或者多個物理塊存放一個邏輯記錄。
(1) 順序文件(連續文件)
按照邏輯文件中的記錄順序,依次把邏輯記錄存儲到連續的物理塊中而形成的文件。記錄的邏輯順序與佔用的物理塊順序一致,管理簡單,特別適合順序存取,但不便於文件的擴充。
(2) 鏈接文件
鏈接文件的物理塊可以不連續,也不必順序排列,但每個物理塊中設置一個指針,指向下一個物理塊的地址。解決了存儲器的碎片問題,有利於文件擴充,但存取速度較慢。
(3) 索引文件
索引文件是另一種對文件存儲不進行連續分配的方式。系統為每個文件建立一張指示邏輯記錄和物理塊之間的對應關系的表,稱為索引表,每個記錄佔一個索引項。
4. 文件的存取方法
(1) 順序存取——按邏輯地址順序存取
(2) 隨機存取——直接存取
文件的存取密切依賴於文件的物理結構,也依賴於存放文件的存儲設備的特性。
『肆』 oracle資料庫的物理存儲結構有那些,它們各自的作用
http://hi..com/blue_greed/blog/item/dcea21ca97bf7782c8176816.html
去這里看看~~
數據結構在計算機中的表示(映像)稱為數據的物理(存儲)結構。它包括數據元素的表示和關系的表示。
物理結構,即Oracle資料庫使用的操作系統文件結構。對於資料庫物理結構文件,不同的oracle版本,不同的操作系統平台上有不同的存儲目錄結構
資料庫的物理結構文件按其作用可以分為三類:
數據文件
日誌文件
控制文件
一、數據文件
數據文件用來存儲資料庫的數據,如表、索引等。讀取數據時,系統首先從資料庫文件中讀取數據,並存儲到SGA的數據緩沖區中。
二、重做日誌文件
重做日誌文件記錄對資料庫的所有修改信息。它是三類文件中最復雜的一類文件,也是保證資料庫安全與資料庫備份與恢復有直接關系的文件。
三、控制文件
控制文件是一個二進制文件,用來描述資料庫的物理結構,一個資料庫只需要一個控制文件,控制文件的內容包括:
資料庫名及資料庫唯一標識
數據文件和日誌文件標識
資料庫恢復所需的同步信息,即檢查點號
『伍』 操作系統-文件系統
人們對信息有存儲的需求,早期計算機信息在保存在紙帶上,存和讀都不方便,且容量很低,而存儲信息的需求未能得到滿足,到了磁碟存儲器的出現,對程序和數據等信息的管理的發展才得到質的飛躍。出現文件系統是需要把信息以一種單元,即文件的形式,存儲在磁碟或其它外部存儲介質上,導致了文件系統的出現。
文件系統是操作系統中統一管理信息資源的一種軟體。它管理文件的存儲、檢索、更新、提供安全可靠的共享和保護手段,並且方便用戶使用。從用戶的角度看,文件系統負責為用戶建立文件、讀寫文件、修改文件、復制文件和撤銷文件等,還能對文件按名存取。
文件是一組帶標識的、在邏輯上有完整意義的信息項的序列,這里的標識就是文件名,」信息項「構成了文件的內容。
外存是相對內存而言,主要用來存儲信息,其特點是斷電後仍可保存信息,容量大,速度較慢,成本較低等
外存儲設備通常由驅動部分和存儲介質兩部分組成,存儲介質又常被卷。
存儲介質有:磁帶、磁碟、光碟、快閃記憶體
其中磁帶是順序存儲,只能讀了前面磁帶的內容才能讀後面,存取都一樣,不能跳著讀取,因此磁帶適合存儲不經常變化的內容,比如放歌。
磁碟支持隨機讀取,磁碟由帶有讀寫磁頭的機械臂和磁碟組成,磁碟像光碟,上面有磁性材料。系統對磁碟初始化時,會劃分出一些同心圓,稱為磁軌,信息只能存儲在磁軌上,磁軌分會被分成多個弧段,稱為扇區,每個磁軌有4-32個扇區。使用時,驅動器的馬達帶去磁碟高速勻速旋轉,磁頭一直停留在盤面表面上方並可以在不同磁軌移動,當找到目標磁軌時,碰頭不動,磁碟依然轉動,這時經過磁頭的信息就被讀出來可寫進去。
光碟是激光作用下材料變化的非磁記錄介質。
快閃記憶體是電荷擦除,支持隨機存取,沒有機械運動部件,壽命和可靠性高。
文件可以從不同的維度來進行分類:
按用途的方式分類:
按文件組織形式分類:
文件邏輯結構就是用戶所看到的文件組織形式,文件邏輯結構是經過抽象的結構,所描述的是文件中信息組織形式。按邏輯結構可以把文件劃分成三類:無結構的字元流式文件(由位元組組成)、定長記錄文件和不定長記錄文件(由記錄組成);
文件的物理結構是指文件存儲在外儲設備上的結構,有三種存儲結構:順序存儲、鏈式存儲、索引存儲;
順序存儲:文件存在連續的空間上,只要知道到起始地址和長度就可以讀取文件。
優點:支持隨機存取、
缺點:不支持動態擴充,容易產生碎片。
鏈式存儲:文件存在不連續的物理塊中,文件控制塊保存第一個物理塊的指針,之後每個物理塊都有一個指針指向下一個物理塊地址,如FAT文件系統
優點:可以動態擴充,提高磁碟利用空間;修改添加快。
缺點:
1.可靠性低。若其中某個物理塊出錯會導致後面全部塊讀取不到。
2.存取速度慢,不適於隨機存取文件,需要從首個物理塊一直讀取到物理塊;
索引存儲:使用一張表來存儲索引,每個索引指向邏輯文件的信息塊。
優點:可以動態擴充,支持隨機存取;
缺點:較多的尋道次數和尋道時間;索引表本身增加了存儲空間的開銷。
文件目錄主要是用途是為了管理和索引文件,其結構簡單說是一張表,表中存儲著文件名、文件控制塊、物理地址,通過文件名可以快速的讀取到對應的文件。
一級目錄是一張線性表,優點是:結構簡單、實現簡單;缺點:無法解決不同用戶的文件名相同;文件多時查找慢。
二級目錄是分為主目錄和用戶目錄,主目錄給出所有用戶目錄所在物理位置; 而用戶目錄則給出所有文件的FCB;優點:不同用戶文件可以重名、查找速度比一級目錄快、能實現文件共享
多級目錄(樹形目錄)除了最低一級物理塊裝有文件信息外,其它每一級的目錄存儲的都是下一級的目錄或文件說明信息,多級目錄存在唯一的概目錄。優點是層次清楚、解決文件重名問題、查找速度快。
目錄是指文件路徑。
目錄項是是文件控制塊以一條記錄的形式存儲在目錄文件中。
目錄文件是多個文件控制塊集中在一起形成的文件。
參考:《操作系統》機械工業出版社 2017年版
『陸』 操作系統對文件管理中文件在磁碟上是如何組織的
文件的邏輯組織 文件的邏輯組織通常分為兩種形式,即有結構文件(記錄文件)和無結構文件(字元流文件)。1)有結構文件又稱作記錄式文件,它在邏輯上可被看成一組連續記錄的集合,即文件是由若干個相關的記錄組成。每個記錄是一組相關的數據集合,用於描述一個對象某個方面的屬性。記錄式文件按其記錄的長度是否相同又可分為:定長記錄文件和變長記錄文件兩種。(1)定長記錄文件:指文件中所有記錄的長度都相同。文件的長度可用記錄的數目來表示。定長記錄處理方便,開銷小,被廣泛用於數據處理中。(2)變長記錄文件:指文件中各記錄的長度不相同。在處理之前每個記錄的長度是已知的。2)無結構文件無結構文件是指文件內部不再劃分記錄,它是由一組相關信息組成的有序字元流,即流式文件,其長度直接按位元組計算。如大量的源程序、可執行程序、庫函數等採用的文件形式是無結構文件形式。在UNIX系統中,所有的普通文件都被看做是流式文件,系統不對文件進行格式處理。 ●常用的記錄式結構有:連續結構、多重結構、轉置結構和順序結構。 ●常用的存取方法有順序存取法、隨機存取法(直接存取法)和按鍵存取法。 文件的物理組織 ●常用的文件物理結構有連續文件、串聯文件和索引文件。 1)連續文件連續文件(又稱做順序文件)是基於磁帶設備的最簡單的物理文件結構,它是把一個邏輯上連續的文件信息存放在連續編號的物理塊(或物理記錄)中。連續文件的優點是在順序存取時速度較快,常用於存放系統文件,如操作系統文件、編譯程序文件和其它由系蠢巧行統提供的實用程序文件,因為這類文件往往被從頭至尾依次存取。但帶嘩連續文件也存在如下缺點:
(1)要求建立文件時就確定它的長度,依此來分配相應的存儲空間,這往往很難實現。
(2)不便於文件的動態擴充。
(3)可能出現外部碎片,就是在存儲介質上存在很多空閑塊,但它們都不連續,無法被連續的文件使用,從而造成浪費。 2)串聯文件為克服連續文件的缺點,可把一個邏輯上連續的文件分散存放在不同的物理塊中,這些物理塊不要求連續,也不必規則排列。為了使系統能找到下一個邏輯塊所在的物理塊,可在各物理塊中設立一個指針(稱為連接字),它指示該文件的下一個物理塊。串連文件克服了連續文件的缺點,但它又帶來新的問題:
(1)一般僅適於對信息的順序訪問,而不利於對文件的隨機存取。
(2)每個物理塊上增加一個連接字,為信息管理添加了一些麻煩。 FAT格式通過把文件分配表(FAT,File Allocation Table )放在一個內存表格中的方式加以克服串聯文件的缺點。 3)索引文件 索引文件是實現非連續分配的另一種方案:系統為每個文件建立一個索引表。其中的表項指出存放該文件的各寬岩個物理塊號,而整個索引表由文件說明項指出。這種結構除了具備串連文件的優點之外,還克服了它的缺點。它可以方便地進行隨機存取。但是這種組織形式需要增加索引表帶來的空間開銷。如果這些表格僅放在盤上,那麼在存取文件時首先得取出索引表,然後才能查表、得到物理塊號。這樣就至少增加了一次訪盤操作,從而降低了存取文件的速度,加重了 I/O負擔。一種改進辦法是同時把索引表部分或全部地放人內存。這是以內存空間為代價來換取存取速度的改善。 樹型目錄結構樹型目錄結構可能是目錄結構中,考的比較多的,考的也簡單。
『柒』 資料庫名詞解釋
資料庫的概念:
資料庫(Database)是按照數據結構來組織、存儲和管理數據的倉庫,它產生於距今六十多年前,隨著信息技術和市場的發展,特別是二十世紀九十年代以後,
數據管理不再僅僅是存儲和管理數據,而轉變成用戶所需要的各種數據管理的方式。資料庫有很多種類型,從最簡單的存儲有各種數據的表格到能夠進行海量數據存儲的大型資料庫系統都在各個方面得到了廣泛的應用。
在信息化社會,充分有效地管理和利用各類信息資源,是進行科學研究和決策管理的前提條件。資料庫技術是管理信息系統、辦公自動化系統、決策支持系統等各類信息系統的核心部分,是進行科學研究和決策管理的重要技術手段。
資料庫的定義:
定義1:資料庫(Database)是按照數據結構來組織、存儲和管理數據的建立在計算機存儲設備上的倉庫。
簡單來說是本身可視為電子化的文件櫃——存儲電子文件的處所,用戶可以對文件中的數據進行新增、截取、更新、刪除等操作。
在經濟管理的日常工作中,常常需要把某些相關的數據放進這樣的「倉庫」,並根據管理的需要進行相應的處理。
例如,企業或事業單位的人事部門常常要把本單位職工的基本情況(職工號、姓名、年齡、性別、籍貫、工資、簡歷等)存放在表中,這張表就可以看成是一個資料庫。有了這個"數據倉庫"我們就可以根據需要隨時查詢某職工的基本情況,也可以查詢工資在某個范圍內的職工人數等等。這些工作如果都能在計算機上自動進行,那我們的人事管理就可以達到極高的水平。此外,在財務管理、倉庫管理、生產管理中也需要建立眾多的這種"資料庫",使其可以利用計算機實現財務、倉庫、生產的自動化管理。
定義2:
嚴格來說,資料庫是長期儲存在計算機內、有組織的、可共享的數據集合。資料庫中的數據指的是以一定的數據模型組織、描述和儲存在一起、具有盡可能小的冗餘度、較高的數據獨立性和易擴展性的特點並可在一定范圍內為多個用戶共享。
這種數據集合具有如下特點:盡可能不重復,以最優方式為某個特定組織的多種應核困用服務,其數據結構獨立於使用它的應用程序,對數據的增、刪、改、查由統一軟體進行管理和控制。從發展的歷史看,資料庫是數據管理的高級階段,它是由文件管理系統發展起來的。[1][2]
資料庫的處理系統:
資料庫是一個單位或是一個應用領域的通用數據處理系統,它存儲的是屬於企業和事業部門、團體改洞念和個人的有關數據的集合。資料庫中的數據是從全局觀點出發建立的,按一定的數據模型進行組織、描述和存儲。其結構基於數據間的自然聯系,從而可提供一切必要的存取路徑,且數據不再針對某一應用,而是面向全組織,具有整體的結構化特徵。
數據顫悶庫中的數據是為眾多用戶所共享其信息而建立的,已經擺脫了具體程序的限制和制約。不同的用戶可以按各自的用法使用資料庫中的數據;多個用戶可以同時共享資料庫中的數據資源,即不同的用戶可以同時存取資料庫中的同一個數據。數據共享性不僅滿足了各用戶對信息內容的要求,同時也滿足了各用戶之間信息通信的要求。
資料庫的基本結構:
資料庫的基本結構分三個層次,反映了觀察資料庫的三種不同角度。
以內模式為框架所組成的資料庫叫做物理資料庫;以概念模式為框架所組成的數據叫概念資料庫;以外模式為框架所組成的資料庫叫用戶資料庫。
⑴物理數據層。
它是資料庫的最內層,是物理存貯設備上實際存儲的數據的集合。這些數據是原始數據,是用戶加工的對象,由內部模式描述的指令操作處理的位串、字元和字組成。
⑵概念數據層。
它是資料庫的中間一層,是資料庫的整體邏輯表示。指出了每個數據的邏輯定義及數據間的邏輯聯系,是存貯記錄的集合。它所涉及的是資料庫所有對象的邏輯關系,而不是它們的物理情況,是資料庫管理員概念下的資料庫。
⑶用戶數據層。
它是用戶所看到和使用的資料庫,表示了一個或一些特定用戶使用的數據集合,即邏輯記錄的集合。
資料庫不同層次之間的聯系是通過映射進行轉換的。
資料庫的主要特點:
⑴實現數據共享
數據共享包含所有用戶可同時存取資料庫中的數據,也包括用戶可以用各種方式通過介面使用資料庫,並提供數據共享。
⑵減少數據的冗餘度
同文件系統相比,由於資料庫實現了數據共享,從而避免了用戶各自建立應用文件。減少了大量重復數據,減少了數據冗餘,維護了數據的一致性。
⑶數據的獨立性
數據的獨立性包括邏輯獨立性(資料庫中資料庫的邏輯結構和應用程序相互獨立)和物理獨立性(數據物理結構的變化不影響數據的邏輯結構)。
⑷數據實現集中控制
文件管理方式中,數據處於一種分散的狀態,不同的用戶或同一用戶在不同處理中其文件之間毫無關系。利用資料庫可對數據進行集中控制和管理,並通過數據模型表示各種數據的組織以及數據間的聯系。
⑸數據一致性和可維護性,以確保數據的安全性和可靠性
主要包括:①安全性控制:以防止數據丟失、錯誤更新和越權使用;②完整性控制:保證數據的正確性、有效性和相容性;③並發控制:使在同一時間周期內,允許對數據實現多路存取,又能防止用戶之間的不正常交互作用。
⑹故障恢復
由資料庫管理系統提供一套方法,可及時發現故障和修復故障,從而防止數據被破壞。資料庫系統能盡快恢復資料庫系統運行時出現的故障,可能是物理上或是邏輯上的錯誤。比如對系統的誤操作造成的數據錯誤等。
資料庫的數據種類:
資料庫通常分為層次式資料庫、網路式資料庫和關系式資料庫三種。而不同的資料庫是按不同的數據結構來聯系和組織的。
1.數據結構模型
⑴數據結構
所謂數據結構是指數據的組織形式或數據之間的聯系。
如果用D表示數據,用R表示數據對象之間存在的關系集合,則將DS=(D,R)稱為數據結構。
例如,設有一個電話號碼簿,它記錄了n個人的名字和相應的電話號碼。為了方便地查找某人的電話號碼,將人名和號碼按字典順序排列,並在名字的後面跟隨著對應的電話號碼。這樣,若要查找某人的電話號碼(假定他的名字的第一個字母是Y),那麼只須查找以Y開頭的那些名字就可以了。該例中,數據的集合D就是人名和電話號碼,它們之間的聯系R就是按字典順序的排列,其相應的數據結構就是DS=(D,R),即一個數組。
⑵數據結構類型
數據結構又分為數據的邏輯結構和數據的物理結構。
數據的邏輯結構是從邏輯的角度(即數據間的聯系和組織方式)來觀察數據,分析數據,與數據的存儲位置無關;數據的物理結構是指數據在計算機中存放的結構,即數據的邏輯結構在計算機中的實現形式,所以物理結構也被稱為存儲結構。
這里只研究數據的邏輯結構,並將反映和實現數據聯系的方法稱為數據模型。
比較流行的數據模型有三種,即按圖論理論建立的層次結構模型和網狀結構模型以及按關系理論建立的關系結構模型。
2.層次、網狀和關系資料庫系統
⑴層次結構模型
層次結構模型實質上是一種有根結點的定向有序樹(在數學中"樹"被定義為一個無回的連通圖)。下圖是一個高等學校的組織結構圖。這個組織結構圖像一棵樹,校部就是樹根(稱為根結點),各系、專業、教師、學生等為枝點(稱為結點),樹根與枝點之間的聯系稱為邊,樹根與邊之比為1:N,即樹根只有一個,樹枝有N個。
按照層次模型建立的資料庫系統稱為層次模型資料庫系統。IMS(InformationManagementSystem)是其典型代表。
⑵網狀結構模型
按照網狀數據結構建立的資料庫系統稱為網狀資料庫系統,其典型代表是DBTG(DatabaseTaskGroup)。用數學方法可將網狀數據結構轉化為層次數據結構。
⑶關系結構模型
關系式數據結構把一些復雜的數據結構歸結為簡單的二元關系(即二維表格形式)。例如某單位的職工關系就是一個二元關系。
由關系數據結構組成的資料庫系統被稱為關系資料庫系統。
在關系資料庫中,對數據的操作幾乎全部建立在一個或多個關系表格上,通過對這些關系表格的分類、合並、連接或選取等運算來實現數據的管理。
dBASEⅡ就是這類資料庫管理系統的典型代表。對於一個實際的應用問題(如人事管理問題),有時需要多個關系才能實現。用dBASEⅡ建立起來的一個關系稱為一個資料庫(或稱資料庫文件),而把對應多個關系建立起來的多個資料庫稱為資料庫系統。dBASEⅡ的另一個重要功能是通過建立命令文件來實現對資料庫的使用和管理,對於一個資料庫系統相應的命令序列文件,稱為該資料庫的應用系統。
因此,可以概括地說,一個關系稱為一個資料庫,若干個資料庫可以構成一個資料庫系統。資料庫系統可以派生出各種不同類型的輔助文件和建立它的應用系統。
資料庫的發展簡史:
1資料庫的技術發展
使用計算機後,隨著數據處理量的增長,產生了數據管理技術。數據管理技術的發展與計算機硬體(主要是外部存儲器)系統軟體及計算機應用的范圍有著密切的聯系。數據管理技術的發展經歷了以下四個階段:人工管理階段、文件系統階段、資料庫階段和高級資料庫技術階段。
2數據管理的誕生
資料庫的歷史可以追溯到五十年前,那時的數據管理非常簡單。通過大量的分類、比較和表格繪制的機器運行數百萬穿孔卡片來進行數據的處理,其運行結果在紙上列印出來或者製成新的穿孔卡片。而數據管理就是對所有這些穿孔卡片進行物理的儲存和處理。然而,1950年雷明頓蘭德公司(RemingtonRandInc)的一種叫做UnivacI的計算機推出了一種一秒鍾可以輸入數百條記錄的磁帶驅動器,從而引發了數據管理的革命。1956年IBM生產出第一個磁碟驅動器——theModel305RAMAC。此驅動器有50個碟片,每個碟片直徑是2英尺,可以儲存5MB的數據。使用磁碟最大的好處是可以隨機存取數據,而穿孔卡片和磁帶只能順序存取數據。
1951:Univac系統使用磁帶和穿孔卡片作為數據存儲。
資料庫系統的萌芽出現於二十世紀60年代。當時計算機開始廣泛地應用於數據管理,對數據的共享提出了越來越高的要求。傳統的文件系統已經不能滿足人們的需要,能夠統一管理和共享數據的資料庫管理系統(DBMS)應運而生。數據模型是資料庫系統的核心和基礎,各種DBMS軟體都是基於某種數據模型的。所以通常也按照數據模型的特點將傳統資料庫系統分成網狀資料庫、層次資料庫和關系資料庫三類。
最早出現的網狀DBMS,是美國通用電氣公司Bachman等人在1961年開發的IDS(IntegratedDataStore)。1964年通用電氣公司(GeneralElectricCo.)的CharlesBachman成功地開發出世界上第一個網狀DBMS也即第一個資料庫管理系統——集成數據存儲(IntegratedDataStoreIDS),奠定了網狀資料庫的基礎,並在當時得到了廣泛的發行和應用。IDS具有數據模式和日誌的特徵,但它只能在GE主機上運行,並且資料庫只有一個文件,資料庫所有的表必須通過手工編碼生成。之後,通用電氣公司一個客戶——BFGoodrichChemical公司最終不得不重寫了整個系統,並將重寫後的系統命名為集成數據管理系統(IDMS)。
網狀資料庫模型對於層次和非層次結構的事物都能比較自然的模擬,在關系資料庫出現之前網狀DBMS要比層次DBMS用得普遍。在資料庫發展史上,網狀資料庫佔有重要地位。
層次型DBMS是緊隨網路型資料庫而出現的,最著名最典型的層次資料庫系統是IBM公司在1968年開發的IMS(InformationManagementSystem),一種適合其主機的層次資料庫。這是IBM公司研製的最早的大型資料庫系統程序產品。從60年代末產生起,如今已經發展到IMSV6,提供群集、N路數據共享、消息隊列共享等先進特性的支持。這個具有30年歷史的資料庫產品在如今的WWW應用連接、商務智能應用中扮演著新的角色。
1973年Cullinane公司(也就是後來的Cullinet軟體公司),開始出售Goodrich公司的IDMS改進版本,並且逐漸成為當時世界上最大的軟體公司。
資料庫的關系由來:
網狀資料庫和層次資料庫已經很好地解決了數據的集中和共享問題,但是在數據獨立性和抽象級別上仍有很大欠缺。用戶在對這兩種資料庫進行存取時,仍然需要明確數據的存儲結構,指出存取路徑。而後來出現的關系資料庫較好地解決了這些問題。
1970年,IBM的研究員E.F.Codd博士在刊物《CommunicationoftheACM》上發表了一篇名為「」的論文,提出了關系模型的概念,奠定了關系模型的理論基礎。盡管之前在1968年Childs已經提出了面向集合的模型,然而這篇論文被普遍認為是資料庫系統歷史上具有劃時代意義的里程碑。Codd的心願是為資料庫建立一個優美的數據模型。後來Codd又陸續發表多篇文章,論述了範式理論和衡量關系系統的12條標准,用數學理論奠定了關系資料庫的基礎。關系模型有嚴格的數學基礎,抽象級別比較高,而且簡單清晰,便於理解和使用。但是當時也有人認為關系模型是理想化的數據模型,用來實現DBMS是不現實的,尤其擔心關系資料庫的性能難以接受,更有人視其為當時正在進行中的網狀資料庫規范化工作的嚴重威脅。為了促進對問題的理解,1974年ACM牽頭組織了一次研討會,會上開展了一場分別以Codd和Bachman為首的支持和反對關系資料庫兩派之間的辯論。這次著名的辯論推動了關系資料庫的發展,使其最終成為現代資料庫產品的主流。
1969年EdgarF.「Ted」Codd發明了關系資料庫。
1970年關系模型建立之後,IBM公司在SanJose實驗室增加了更多的研究人員研究這個項目,這個項目就是著名的SystemR。其目標是論證一個全功能關系DBMS的可行性。該項目結束於1979年,完成了第一個實現SQL的DBMS。然而IBM對IMS的承諾阻止了SystemR的投產,一直到1980年SystemR才作為一個產品正式推向市場。IBM產品化步伐緩慢的三個原因:IBM重視信譽,重視質量,盡量減少故障;IBM是個大公司,官僚體系龐大,IBM內部已經有層次資料庫產品,相關人員不積極,甚至反對。
然而同時,1973年加州大學伯克利分校的MichaelStonebraker和EugeneWong利用SystemR已發布的信息開始開發自己的關系資料庫系統Ingres。他們開發的Ingres項目最後由Oracle公司、Ingres公司以及矽谷的其他廠商所商品化。後來,SystemR和Ingres系統雙雙獲得ACM的1988年「軟體系統獎」。
1976年霍尼韋爾公司(Honeywell)開發了第一個商用關系資料庫系統——MulticsRelationalDataStore。關系型資料庫系統以關系代數為堅實的理論基礎,經過幾十年的發展和實際應用,技術越來越成熟和完善。其代表產品有Oracle、IBM公司的DB2、微軟公司的MSSQLServer以及Informix、ADABASD等等。
資料庫的發展階段:
資料庫發展階段大致劃分為如下的幾個階段:人工管理階段、文件系統階段、資料庫系統階段、高級資料庫階段。
人工管理階段
20世紀50年代中期之前,計算機的軟硬體均不完善。硬體存儲設備只有磁帶、卡片和紙帶,軟體方面還沒有操作系統,當時的計算機主要用於科學計算。這個階段由於還沒有軟體系統對數據進行管理,程序員在程序中不僅要規定數據的邏輯結構,還要設計其物理結構,包括存儲結構、存取方法、輸入輸出方式等。當數據的物理組織或存儲設備改變時,用戶程序就必須重新編制。由於數據的組織面向應用,不同的計算程序之間不能共享數據,使得不同的應用之間存在大量的重復數據,很難維護應用程序之間數據的一致性。
這一階段的主要特徵可歸納為如下幾點:
(1)計算機中沒有支持數據管理的軟體,計算機系統不提供對用戶數據的管理功能,應用程序只包含自己要用到的全部數據。用戶編製程序,必須全面考慮好相關的數據,包括數據的定義、存儲結構以即存取方法等。程序和數據是一個不可分割的整體。數據脫離了程序極具無任何存在的價值,數據無獨立性。
(2)數據不能共享。不同的程序均有各自的數據,這些數據對不同的程序通常是不相同的,不可共享;即使不同的程序使用了相同的一組數據,這些數據也不能共享,程序中仍然需要各自加入這組數據,哪個部分都不能省略。基於這種數據的不可共享性,必然導致程序與程序之間存在大量的重復數據,浪費存儲空間。
(3)不能單獨保存數據。在程序中要規定數據的邏輯結構和物理結構,數據與程序不獨立。基於數據與程序是一個整體,數據只為本程序所使用,數據只有與相應的程序一起保存才有價值,否則毫無用處。所以,所有程序的數據不單獨保存。數據處理的方式是批處理。
文件系統階段:
這一階段的主要標志是計算機中有了專門管理資料庫的軟體——操作系統(文件管理)。
上世紀50年代中期到60年代中期,由於計算機大容量直接存儲設備如硬碟、磁鼓的出現,
推動了軟體技術的發展,軟體的領域出現了操作系統和高級軟體,操作系統中的文件系統是專門管理外存的數據管理軟體,操作系統為用戶使用文件提供了友好界面。操作系統的出現標志著數據管理步入一個新的階段。在文件系統階段,數據以文件為單位存儲在外存,且由操作系統統一管理,文件是操作系統管理的重要資源。
文件系統階段的數據管理具有一下幾個特點:
優點
(1)數據以「文件」形式可長期保存在外部存儲器的磁碟上。由於計算機的應用轉向信息管理,因此對文件要進行大量的查詢、修改和插入等操作。
(2)數據的邏輯結構與物理結構有了區別,程序和數據分離,使數據與程序有了一定的獨立性,但比較簡單。數據的邏輯結構是指呈現在用戶面前的數據結構形式。數據的物理結構是指數據在計算機存儲設備上的實際存儲結構。程度與數據之間具有「設備獨立性」,即程序只需用文件名就可與數據打交道,不必關心數據的物理位置。由操作系統的文件系統提供存取方法(讀/寫)。
(3)文件組織已多樣化。有索引文件、鏈接文件和直接存取文件等。但文件之間相互獨立、缺乏聯系。數據之間的聯系需要通過程序去構造。
(4)數據不再屬於某個特定的程序,可以重復使用,即數據面向應用。但是文件結構的設計仍是基於特定的用途,程序基於特定的物理結構和存取方法,因此程度與數據結構之間的依賴關系並未根本改變。
(5)用戶的程序與數據可分別存放在外存儲器上,各個應用程序可以共享一組數據,實現了以文件為單位的數據共享文件系統。
(6)對數據的操作以記錄為單位。這是由於文件中只存儲數據,不存儲文件記錄的結構描述信息。文件的建立、存取、查詢、插入、刪除、修改等操作,都要用程序來實現。
(7)數據處理方式有批處理,也有聯機實時處理。
缺點
文件系統對計算機數據管理能力的提高雖然起了很大的作用,但隨著數據管理規模的擴大,數據量急劇增加,文價系統顯露出一些缺陷,問題表現在:
(1)數據文件是為了滿足特定業務領域某一部門的專門需要而設計,數據和程序相互依賴,數據缺乏足夠的獨立性。
(2)數據沒有集中管理的機制,其安全性和完整性無法保障,數據維護業務仍然由應用程序來承擔;
(3)數據的組織仍然是面向程序,數據與程序的依賴性強,數據的邏輯結構不能方便地修改和擴充,數據邏輯結構的每一點微小改變都會影響到應用程序;而且文件之間的缺乏聯系,因而它們不能反映現實世界中事物之間的聯系,加上操作系統不負責維護文件之間的聯系,信息造成每個應用程序都有相對應的文件。如果文件之間有內容上的聯系,那也只能由應用程序去處理,有可能同樣的數據在多個文件中重復儲存。這兩者造成了大量的數據冗餘。
(4)對現有數據文件不易擴充,不易移植,難以通過增、刪數據項來適應新的應用要求。
資料庫系統階段:
20世紀60年代後期,隨著計算機在數據管理領域的普遍應用,人們對數據管理技術提出了更高的要求:希望面向企業或部門,以數據為中心組織數據,減少數據的冗餘,提供更高的數據共享能力,同時要求程序和數據具有較高的獨立性,當數據的邏輯結構改變時,不涉及數據的物理結構,也不影響應用程序,以降低應用程序研製與維護的費用。資料庫技術正是在這樣一個應用需求的基礎上發展起來的。
概括起來,資料庫系統階段的數據管理具有以下幾個特點:
(1)採用數據模型表示復雜的數據結構。數據模型不僅描述數據本身的特徵,還要描述數據之間的聯系,這種聯系通過所有存取路徑。通過所有存儲路徑表示自然的數據聯系是資料庫與傳統文件的根本區別。這樣,數據不再面向特定的某個或多個應用,而是面對整個應用系統。如面向企業或部門,以數據為中心組織數據,形成綜合性的資料庫,為各應用共享。
(2)由於面對整個應用系統使得,數據冗餘小,易修改、易擴充,實現了數據貢獻。不同的應用程序根據處理要求,從資料庫中獲取需要的數據,這樣就減少了數據的重復存儲,也便於增加新的數據結構,便於維護數據的一致性。
(3)對數據進行統一管理和控制,提供了數據的安全性、完整性、以及並發控制。
(4)程序和數據有較高的獨立性。數據的邏輯結構與物理結構之間的差別可以很大,用戶以簡單的邏輯結構操作數據而無須考慮數據的物理結構。
(5)具有良好的用戶介面,用戶可方便地開發和使用資料庫。
從文件系統發展到資料庫系統,這在信息領域中具有里程碑的意義。在文件系統階段,人們在信息處理中關注的中心問題是系統功能的設計,因此程序設計佔主導地位;而在資料庫方式下,數據開始占據了中心位置,數據的結構設計成為信息系統首先關心的問題,而應用程序則以既定的數據結構為基礎進行設計。
資料庫發展趨勢:
隨著信息管理內容的不斷擴展,出現了豐富多樣的數據模型(層次模型,網狀模型,關系模型,面向對象模型,半結構化模型等),新技術也層出不窮(數據流,Web數據管理,數據挖掘等)。每隔幾年,國際上一些資深的資料庫專家就會聚集一堂,探討資料庫研究現狀,存在的問題和未來需要關注的新技術焦點。過去已有的幾個類似報告包括:1989年-TheLagunaBeachParticipants;1990年DatabaseSystems:AchievementsandOpportunities;1991年W.H.Inmon發表的《構建數據倉庫》;1995年Database。
常見資料庫廠商:
1.SQLServer
只能在windows上運行,沒有絲毫的開放性,操作系統的系統的穩定對資料庫是十分重要的。Windows9X系列產品是偏重於桌面應用,NTserver只適合中小型企業。而且wi
『捌』 頁儲存管理中,已知一個邏輯地址長度為16位,頁面大小為4096B,地址為2F6AH,怎麼知道這個地址的頁號啊
例3 若在一分頁存儲管理系統中,某作業的頁表如下所示。已知頁面大小為1024位元組,試將邏輯地址1011,2148,4000,5012轉化為相應的物理地址。
頁號
物理塊號
0
2
1
3
2
1
3
6
【分析】 頁式存儲管理的地址結構是一維的,即邏輯地址(或物理地址)只用一個數值即可表示。若給定邏輯地址A,頁面的大小為L,則頁號p和頁內地址d可按照下式求得:
p=int [A/L] d=A mod L
其中,int是取整函數(取數值的整數部分),mod是取余函數(取數值的余數部分)。
下圖顯示了頁式管理系統的地址轉換機構。
頁表的作用是實現從頁號到物理塊號的地址映射。以邏輯地址的頁號檢索頁表,得到該頁的物理塊號;同時將頁內地址d直接送入物理地址寄存器的塊內地址欄位中。這樣物理塊號和塊內地址拼接成了實際訪問內存的地址,從而完成了從邏輯地址到物理地址的轉換。
所以物理地址的計算公式為:
物理地址=塊的大小(即頁的大小L)*塊號f+頁內地址d
解 本題中,為了描述方便,設頁號為p,頁內位移為d,則:
(1)對於邏輯地址1011,p=int(1011/1024)=0,d=1011 mod 1024=1011。查頁表第0頁在第2塊,所以物理地址為1024*2+1011=3059。
(2)對於邏輯地址2148,p=int(2148/1024)=2,d=2148 mod 1024=100。查頁表第2頁在第1塊,所以物理地址為1024+100=1124。
(3)對於邏輯地址4000,p=int(4000/1024)=3,d=4000 mod 1024=928。查頁表第3頁在第6塊,所以物理地址為1024*6+928=7072。
(4)對於邏輯地址5012,p=int(5012/1024)=4,d=5012 mod 1024=916。因頁號超過頁表長度,該邏輯地址非法。