-
創建表
鎖定
- 中文名
- 創建表
- 外文名
- create table
- 學 科
- 計算機
- 定 義
- 根據系統需要創建一個表
- 有關術語
- 表
- 領 域
- 計算機系統
創建表簡介
在數據庫中,表(TABLE)是數據庫中用來存儲數據的對象,是有結構的數據的集合,是整個數據庫系統的基礎。在操作系統中,創建表是指在存儲管理中,系統會為每個進程建立一張映射表。創建表主要是為了實現虛擬地址和實地址之間的轉換,即地址變換和檢查存儲空間的使用情況。例如,在基本分頁存儲管理方式中,創建表是頁表;在基本分段存儲管理方式中,創建表是段表。
創建表地址變換
地址變換能夠讓操作系統在給任務分配內存時具有靈活性,並且因為我們可以讓某些物理地址不被任何邏輯地址所映射,所以在地址變換過程中同時也提供了內存保護功能。
計算機中的物理內存是字節的線性數組,每字節具有一個唯一的物理地址;程序中的地址是由兩部分構成的邏輯地址。這種邏輯地址並不能直接用於訪問物理內存,而需要使用地址變換機制將它變換或映射到物理內存地址上。內存管理機制即用於將這種邏輯地址轉換成物理內存地址。段表中地址變換過程如下:從控制寄存器讀取段表始址,找到段表;段號+段表始址 得到段描述子地址;從段描述子讀取頁表始址,找到頁表;頁號+頁表始址 得到頁描述子地址;從頁描述子讀取物理塊號;物理塊號+頁內位移量 得到物理地址。
創建表頁表
在分頁系統中,允許將進程的各個頁離散地存儲在內存不同的物理塊中,但系統應能保證進程的正確運行,即能在內存中找到每個頁面所對應的物理塊。為此,系統又為每個進程建立了一張頁面映像表,簡稱頁表。在進程地址空間內的所有頁(0~n),依次在頁表中有一頁表項,其中記錄了相應頁在內存中對應的物理塊號,見圖 4-12 的中間部分。在配置了頁表後,進程執行時,通過查找該表,即可找到每頁在內存中的物理塊號。可見,頁表的作用是實現從頁號到物理塊號的地址映射。即使在簡單的分頁系統中,也常在頁表的表項中設置一存取控制字段,用於對該存儲塊中的內容加以保護。當存取控制字段僅有一位時,可用來規定該存儲塊中的內容是允許讀/寫,還是隻讀;若存取控制字段為二位,則可規定為讀/寫、只讀和只執行等存取方式。如果有一進程試圖去寫一個只允許讀的存儲塊時,將引起操作系統的一次中斷。如果要利用分頁系統去實現虛擬存儲器,則還須增設一數據項
[2]
。
創建表段表
在分段式存儲管理系統中,則是為每個分段分配一個連續的分區,而進程中的各個段可以離散地移入內存中不同的分區中。為使程序能正常運行,亦即,能從物理內存中找出每個邏輯段所對應的位置,應像分頁系統那樣,在系統中為每個進程建立一張段映射表,簡稱“段表” 。 每個段在表中佔有一個表項, 其中記錄了該段在內存中的起始地址(又稱為 “基址” )和段的長度,如圖 4-17 所示。段表可以存放在一組寄存器中,這樣有利於提高地址轉換速度,但更常見的是將段表放在內存中。在配置了段表後,執行中的進程可通過查找段表找到每個段所對應的內存區。可見,段表是用於實現從邏輯段到物理內存區的映射。
創建表文件分配表
是DOS用於記錄磁盤中各文 件存放位置的一種工具。一個文件 通常以簇為單位存放在磁盤中。文 件的FAT中含有若干表項,每一 表項都記錄了其後繼簇的位置,這 樣,只要從文件目錄表中找到一個 文件的首簇的地址,順着FAT各 個表項所形成的鏈進行跟蹤,就可 讀出整個的文件。FAT是提供在 磁盤上找到一個文件的惟一手段, 也是病毒最愛潛伏的地方,DOS 生成並保持兩份FAT,以防止其 中一份遭到破壞。
創建表文件存儲空間中的表
創建表空閒表
空閒表法屬於連續分配方式,它與內存的動態分配方式雷同,它為每個文件分配一塊連續的存儲空間,即系統也為外存上的所有空閒區建立一張空閒表,每個空閒區對應於一個空閒表項,其中包括表項序號、該空閒區的第一個盤塊號、該區的空閒盤塊數等信息。再將所有空閒區按其起始盤塊號遞增的次序排列。
創建表位示圖
位示圖是利用二進制的一位來表示磁盤中一個盤塊的使用情況。當其值為“0”時,表示對應的盤塊空閒為“1”時,表示已分配。有的系統把“0”作為盤塊已分配的標誌,把“1”作為空閒標誌。(它們在本質上是相同的,都是用一位的兩種狀態來標誌空閒和已分配兩種情況。)磁盤上的所有盤塊都有一個二進制位與之對應,這樣,由所有盤塊所對應的位構成一個集合,稱為位示圖。通常可用 m × n 個位數來構成位示圖,並使 m × n 等於磁盤的總塊數。