第三節大容量存儲設備
大容量存儲設備(又稱內存)是必不可少的,它們能存儲大量的數據,計算機可迅速地存取和修改這些數據。
一、存儲概念
存儲數據最基本的一級是存字節序列。字節組成較大的元素,稱為字段。一個字段被看作為單獨一段數據(例如,一個數值)可把它放入變量中。在主機和內存設備之間轉送單個字段的效率很低。所以,常把一些字段組成記錄。
一個記錄的格式。描述了組成該記錄的每個字段的類型和順序。記錄的格式可以是數值字段,跟著字符串字段,再跟著第二個數值字段。
文件是一些記錄的集合。在一個特定文件中的所有記錄,必須有相同的格式。文件能使計算機處理要拷貝的、刪除的和傳送的大量數據。某些稈序也可用許多不同的方法管理同一個文件中的個別記錄。文件的各部分表示,它不包括字節級,不同的計算機在這一級上存儲數和字符串是不同的。
二、文件操作
一些程序對文件可完成各種操作。雖然處理如下某些操作不同於這裏所描述的,但程序員在概念上必須認為這裏所介紹的。
①打開在數據能夠加到一個文件上或從一個文件上讀出之前,必須完成打開操作。當一個文件被打開時,必須給出其數據的梠式。這個格式(即樣板),指明每一字段的名稱及其可包含的數據類型。
對於樣板變量留出內存區。樣板變量類似於內存變量,但其用途是存放傳遞給文件或來自文件的數據;再者,建立一個當前記錄。這個當前記錄記住了下個記錄,將從什麼地方讀出或寫到什麼地方去。如何利用當前記錄,將簡略地討論之。
在多用戶計算機係統中,打開文件操作,常常有防止其它用戶使用該文件的作用;當其它用戶企圖打開這個文件時,他們便收到一條錯誤信息。若打開一個不存在的文件,通常將引起建立這個文件。
②寫入寫一個文件將存入新信息。為加入一條新記錄,首先把新信息存入文件樣板裏,然後寫命令把數據從“樣板”中傳1送給文件。該記錄被插入到當前記錄的位置上。
③讀與寫相反,讀使數據從文件傳送到主機中。為讀數據,命令把當前記錄所指出的記錄中存放的信息傳到文件樣板中,然後,在樣板中的數據則可以被引用和使用。、
④關閉當使用文件的程序結束時,文件就被關閉。也就是完成一些善後管理操作,並從內存中刪除記錄“樣板”。在多用戶係統中,其它用戶也即可使用該文件。
三、文件存取方法
存取文件中的數據有兩種方法。其主要差別梟程序員對當前記錄的控製不同。①順序存取方式當打開一個順序存取方式的文件時,僅限於讀或是寫。當進一步的限製,程序員無法控製當前記錄。更確切些說,當打開文件用於讀時,則把文件中的第一個記錄置為當前記錄;而打開文件用於寫時,則把最後一個記錄後邊的文件結束位置,置為當前記錄9無論完成讀操作還是寫操作,當前記錄都被移到置。其作用是一次必須存取一段數據,且不可能跳回到前麵的記錄上。
②隨機存取方式當打開一個隨機存取方式的文件時,可修改其當前記錄。而且同時可完成讀和寫兩種操作。使用隨機存取文件時,需要另外的命令LOCATE。該定位命令改變當前記錄。記錄通常被加上數字標號,即文件中的第一個2錄是記錄1。因此,LOCATE10操作將當前記錄到第十個記錄上。給出了程序設計用的順序和隨機存取文件的一般指令。
四、ASIC和文件
BASIC處理文件的能力完全取決於所用之版本。某產版本根本不支持文件。若能支持文件,則通常是指順序文件。下麵簡述一下BASIC如何支持順序文件。通常,打開一個順序文件時,不使用記彔樣板。取而代之的是,用戶使用形如的語句寫一個文件;並且利用類似於的語句從一個文件中讀。
五、大容量存儲設備的一些例子
大概最簡單的大容量存儲設備是盒式錄音機。因為使宜,所以被用在許多個人計算機上。然而,低速限製了它在非商業方麵的應用;並且僅允許做順序文件用,常常必須一起讀或寫。
磁帶機與盒式磁帶相似,但比盒式磁帶快得多,在一盤上能存儲更多的信息(它比盒式磁帶大得多),並且對文件控製更為靈活。然而,像盒式磁帶一樣,實質上它們也是順序文件必須掃描磁帶,直到找到正確的位置。
軟盤機使用環形的磁介質,信息被記錄在稱為磁道的一些同心圓上。軟盤是隨機存取設備,因其記錄(讀寫)頭能直接移到所要的數據段位置上。
軟盤的老大哥是硬磁盤。硬磁盤使用剛性的片狀磁介質,在要求大存儲量和快速數據傳輸的計算中心都使用硬盤。
六、對大容量存儲的要求
從程序設計的觀點看,不必關心大容量設備的工作機理。根據所用設備的不同,存取方式也將不同。但是,存取方式且選定,設備就“隱藏”在可利用的不同文件操作的後麵。例如,無論要寫到什麼設備上,寫操作通常都是一樣的,但程序員仍必須決定什麼設備將最適合程序的應用。