當前位置:首頁 » 服務存儲 » in模式時存儲器是在寫數據嗎
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

in模式時存儲器是在寫數據嗎

發布時間: 2022-12-28 09:14:21

『壹』 計算機的存儲器有幾類,分別有什麼作用

計算機存儲器指計算機的內部存儲區域,以晶元格式和集成電路形式存在。計算機存儲器應用於錄音機或磁碟。術語「存儲器」通常視為物理存儲器的簡稱,作為保留數據的實際可能晶元。有些計算機也使用虛擬存儲器,即在硬碟上擴展物理存儲器。

存儲器分為兩種基本類型:ROM 和 RAM 。

ROM(只讀存儲器):在 ROM 中,只讀數據是預先記錄的,不能被移動。ROM 不易於丟失,也就是,不管計算機處於開機還是關機狀態,ROM 始終保留其內部內容。大多數個人計算機的 ROM 較小,主要用於存儲一些關鍵性程序,諸如用來啟動計算機的程序。另外,ROM 也用於計算器及外圍設備等,如激光列印機,其字體存儲於 ROM 中。ROM 還存在一些擴展變數,如可編程只讀存儲器(PROM),即採用專用 PROM 編程器在空白晶元上寫入數據。

RAM(隨機存儲器):該存儲器中的內容可以以任意順序存取(讀、寫和移動)。時序存儲器設備正好與其形成對比,如磁帶、唱片等,其存儲介質的機械運動驅使計算機必須以固定順序存取數據。RAM 通常負責計算機中主要的存儲任務,如數據和程序等動態信息的存儲。RAM 的通用格式包括: SRAM(靜態 RAM)和 DRAM(動態 RAM)。

RAM IC 通常組裝為插槽。常見的標准插槽類型包括:SIMM (Single in-line memory mole)插槽和 DIMM (Dual in-line memory mole)插槽。

此外,還存在一些諸如快閃記憶體(Flash memory)、NVRAM 以及 EEPROM 等存儲器類型,它們是結合 RAM 和 ROM 特徵所獲得的產物。

『貳』 計算機的存儲器主要功能是什麼

計算機存儲器的功能:

計算機存儲器根據控制器指定的位置存入和取出信息。有了存儲器,計算機才有記憶功能,才能保證正常工作。具體解釋如下:

內儲存器直接與CPU相連接,儲存容量較小,但速度快,用來存放當前運行程序的指令和數據,並直接與CPU交換信息。

外儲存器是內儲存器的擴充。它儲存容量大,價格低,但儲存速度慢,一般用來存放大量暫時不用的程序,數據和中間結果,需要時,可成批的與內存進行信息交換。外存只能與內存交換信息,不能被計算機系統的其他部件直接訪問

(2)in模式時存儲器是在寫數據嗎擴展閱讀

存儲器分為內存儲器與外存儲器,簡稱內存與外存。內存儲器又常稱為主存儲器(簡稱主存),屬於主機的組成部分;外存儲器又常稱為輔助存儲器(簡稱輔存),屬於外部設備。CPU不能像訪問內存那樣,直接訪問外存,外存要與CPU或I/O設備進行數據傳輸,必須通過內存進行。在80386以上的高檔微機中,還配置了高速緩沖存儲器(cache),這時內存包括主存與高速緩存兩部分。對於低檔微機,主存即為內存。

計算機中,存儲器容量以位元組(Byte,簡寫為B)為基本單位,一個位元組由8個二進制位(bit)組成。存儲容量的表示單位除了位元組以外,還有KB、MB、GB、TB(可分別簡稱為K、M、G、T,例如,128MB可簡稱為128M)。其中:1KB=1024B,1MB=1024KB,1GB=1024MB,1TB=1024GB。

『叄』 在計算機工作時,內存儲器用來存儲器用戶輸入的數據對嗎

不對 硬碟是用來存數據 內存用於緩存數據 內存越大 速度越快

『肆』 in+al,dx指令是cpu從存儲器讀出數據嗎

IN指令和DX指令屬於x86架構的匯編語言中的輸入/輸出(I/O)指令。
IN指令用於從I/O埠讀取數據,其格式為IN AL, DX或IN AX, DX。其中,AL或AX是CPU的寄存器,DX是I/O埠地址。執行IN指令時,CPU會讀取DX指定的I/O埠,並將讀取到的數據存儲在AL或AX寄存器中。
DX指令是x86架構的條件轉移指令,用於根據指定的條件進行跳轉。DX指令不能單獨執行,必須與條件轉移指令一起使用,如JA、JAE、JB等。
綜上所述,IN指令是從I/O埠讀取數據的指令,DX指令是根據條件轉移的指令,與讀取存儲器中的數據無關。

『伍』 在計算機工作時,內存儲器是用來存儲用戶輸入的數據。這句話對么

准確來說是不對的,他不光存儲了用戶數據 還存儲了計算機生成的數據。比如你計算1+2*3 先計算二乘三 那麼結果6是儲存在內存里的 而6不是用戶輸入的

『陸』 C語言各種存儲模式的區別最常用的存儲模式有哪些

各種存儲模式之間有什麼區別?
DOS用一種段地址結構來編址計算機的內存,每一個物理內存位置都有一個可通過段地址一偏移量的方式來訪問的相關地址。為了支持這種段地址結構,大多數C編譯程序都允許你用以下6種存儲模式來創建程序:
-----------------------------------------------------------------------
存儲模式 限制 所用指針
-----------------------------------------------------------------------
Tiny(微) 代碼、數據和棧一64KB Near
Small(小) 代碼一64KB Near
數據和棧一64KB Near
Medium(中) 代碼一1MB Far
數據和棧一64KB Near
Compact(緊縮) 代碼一64KB Near
數據和棧一1MB Far
Large(大) 代碼一1MB Far
數據和棧一1MB Far
Huge*(巨) 代碼一1MB Far
數據和棧一1MB Far
-----------------------------------------------------------------------
*注意:在Huge存儲模式下,靜態數據(如數組)可以超過64KB,這在其它存儲模式下都不行。
Tiny存儲模式的限制很嚴(所有的代碼、數據和棧都被限制在64KB中),它通常用來生成"COM"文件。由於內存地址的「安排」方式的限制,Huge模式會帶來顯著的性能損失,因此它很少被使用。
最常使用的存儲模式有哪些?
最常使用的存儲模式有Small,Medium和Large這幾種。Tiny存儲模式一般只用來生成".COM"文件,在現在的高性能計算機上,它已很少被使用了。Compact存儲模式允許程序有很少的代碼和大量的數據,在今天的商業應用環境中,它同樣也不常用了。由於Huge存儲模式的存儲地址機制導致它的效率較低,所以它也很少被使用。
一般說來,你應該根據程序的大小選用Small,Medium或Large中的一種存儲模式。對一個小的實用程序來說,Small存儲模式可能是最合適的,這種存儲模式允許有64KB的代碼和64KB數據和棧。如果程序有更大一些的數據要求,你可以使用Medium存儲模式,它允許程序有多達1MB的可定址數據空間。對於更大的程序,你應該使用Large存儲模式,它允許程序有1MB的代碼和1MB的數據和棧空間。
如果你在編寫一個Windows程序或者在使用一個32位編譯程序,那麼你最好使用Small存儲模式,因為這樣的環境並不受DOS程序的段地址結構的限制。
應該使用哪種存儲模式?
如果要生成一個「.COM」文件,匭朧褂肨iny存儲模式,即所有的代碼、數據和棧空間都被限制在64KB中。小的實用程序普遍使用這種存儲模式。相對較小的程序也可以使用Small存儲模式,只不過不必把整個程序都限制在64KB中。在Small存儲模式下,有64KB的代碼空間和64KB的數據和棧空間。除了用於小程序外,Small存儲模式還可用在Windows或32位編譯程序這樣的環境中,因為在這些環境中內存定址並不受DOS中16位的限制。
如果一個程序的代碼量相對較大而靜態數據量相對較小,你可以用Medium存儲模式來創建程序。如果程序很大(需要很多模塊,大量的代碼和數據),那麼你應該選用Large存儲模式,這種存儲模式常用在DOS下編寫商用軟體。
與Small,Medium和Large存儲模式相比,Compact和Huge存儲模式要少用得多。Cornpact存儲模式允許程序有大量的靜態數據和相對較少(64KB或更少)的代碼。滿足這種模式的程序很少,常常是一些轉移程序,它們有大量必須存到內存中的靜態轉移表。Huge存儲模式與Large存儲模式基本相同,只是Huge存儲模式允許程序有超過64KB的靜態數據。與Compact存儲模式相似,Huge存儲模式也很少被使用,這主要是因為它會帶來顯著的性能損失。由於Huge存儲模式的執行效率較低,因此你應該避免使用這種模式,除非你確實需要超過64KB的一個數組或其它靜態數據。記住,數組和其它程序結構可通過malloc()和calloc()在程序運行時進行動態分配,它們在本質上並不必須是靜態的。

『柒』 計算機工作時,內存儲器是用來存儲用戶輸入的數據的。這句話對么

是啊,只有
內存
才能和CPU交換數據,其它的不能啊,所以
計算機
工作時,是用內存來存儲當前正在使用的
程序
和數據

『捌』 高分!計算機組成原理的靜態隨機存儲器實驗問題求助!!!!!

不太清楚

『玖』 存儲過程如果參數沒有in和out代表的是什麼

oracle 存儲過程in out inout三種參數模式

oracle過程中定義了in|out|in out3中參數模式,每個參數可以選擇其一
in 是參數的默認模式,這種模式就是在程序運行的時候已經具有值,在程序體中值不會改變。
舉個例子
create or replace procere update_price(
p_proct_id in NUMBER,
p_factor in NUMBER)
AS
.....
你在引用這個過程的時候給參數傳入值
exexute update_price(2,2.5);
這是定義的2個參數就得到了值,in模式下值不能變

out模式定義的參數只能在過程體內部賦值,表示該參數可以將某個值傳遞回調用他的過程
in out 表示高參數可以向該過程中傳遞值,也可以將某個值傳出去
簡單的說in參數就是傳入但存儲過程裡面處理的參數
out參數就是返回值的參數。
in參數就像c++語言里函數一般的參數那樣
而out函數就像c++里函數的引用類型參數一樣
不知道我比喻是否正確,請高手指點
create or replace procere gettest2(stdname in varchar2,p_cursor in out types.mytype)
as
begin
open p_cursor for select * from test where name=stdname;
end;
例如上面的存儲過程
stdname是in參數,傳進去供查詢語句使用
p_cursor是 out參數,返回查詢的結果集

--------------------------------------------------------------------------------------------------------------------

oracle 存儲過程 in out2009-08-11 16:30
創建過程語法:

create [or replace] procere procere_name
[ (argment [ { in| in out }] type,
argment [ { in | out | in out } ] type
{ is | as }
<類型.變數的說明>
( 注: 不用 declare 語句 )
Begin
<執行部分>
exception
<可選的異常處理說明>
end;

l 這里的IN表示向存儲過程傳遞參數,OUT表示從存儲過程返回參數。而IN OUT 表示傳遞參數和返回參數;
l 在存儲過程內的變數類型只能指定變數類型;不能指定長度;
l 在AS或IS 後聲明要用到的變數名稱和變數類型及長度;
l 在AS或IS 後聲明變數不要加declare 語句。

例1.

CREATE OR REPLACE PROCEDURE ModeTest (
p_InParameter IN NUMBER,
p_OutParameter OUT NUMBER,
p_InOutParameter IN OUT NUMBER) IS

v_LocalVariable NUMBER;

BEGIN

v_LocalVariable := p_InParameter; -- Legal

p_InParameter := 7; -- Illegal

p_OutParameter := 7; -- Legal

v_LocalVariable := p_outParameter; -- Illegal

v_LocalVariable := p_InOutParameter; -- Legal

p_InOutParameter := 7; -- Legal
END ModeTest;
/

§16.2.2 使用過程
存儲過程建立完成後,只要通過授權,用戶就可以在SQLPLUS 、Oracle開發工具或第三方開發工具來調用運行。Oracle使用EXECUTE 語句來實現對存儲過程的調用。

EXEC[UTE] procere_name( parameter1, parameter2…);

例:
CREATE PACKAGE emp_data AS
TYPE EmpRecTyp IS RECORD (
emp_id NUMBER(4),
emp_name VARCHAR2(10),
job_title VARCHAR2(9),
dept_name VARCHAR2(14),
dept_loc VARCHAR2(13));
TYPE EmpCurTyp IS REF CURSOR RETURN EmpRecTyp;
PROCEDURE get_staff (
dept_no IN NUMBER,
emp_cv IN OUT EmpCurTyp);
END;
/
CREATE PACKAGE BODY emp_data AS
PROCEDURE get_staff (
dept_no IN NUMBER,
emp_cv IN OUT EmpCurTyp) IS
BEGIN
OPEN emp_cv FOR
SELECT empno, ename, job, dname, loc FROM emp, dept
WHERE emp.deptno = dept_no AND emp.deptno = dept.deptno
ORDER BY empno;
END;
END;
/
COLUMN EMPNO HEADING Number
COLUMN ENAME HEADING Name
COLUMN JOB HEADING JobTitle
COLUMN DNAME HEADING Department
COLUMN LOC HEADING Location
SET AUTOPRINT ON
VARIABLE cv REFCURSOR
EXECUTE emp_data.get_staff(20, :cv)

-----------------------------------
PROMPT

oracle 用 prompt實現列印功能,多用於提示信息。輸入命令prompt tablename1;
標准輸出為tablename1
PROMPT 告訴SQL*Plus 在屏幕上書寫一行文字。你在這里使用了兩個PROMPT命令;每個命令都在屏幕上列印一個空行,這對於垂直間距很有好處。ACCEPT命令是等待用戶輸入一個置換變數的值。ACCEPT命令中可選的PROMPT 子句在用戶輸入數值的同一行中顯示了一條信息。你在PL/SQL 塊的外面放置PROMPT 和 ACCEPT 是正確的:他們是SQL*Plus 命令,不是PL/SQL 。

『拾』 存儲器是怎麼存儲東西的 到現在都不明白存儲器是怎麼存儲的 現在都不知道為什麼

硬碟是現在計算機上最常用的存儲器之一。我們都知道,計算機之所以神奇,是因為它具有高速分析處理數據的能力。而這些數據都以文件的形式存儲在硬碟里。不過,計算機可不像人那麼聰明。在讀取相應的文件時,你必須要給出相應的規則。這就是分區概念。分區從實質上說就是對硬碟的一種格式化。當我們創建分區時,就已經設置好了硬碟的各項物理參數,指定了硬碟主引導記錄(即Master Boot Record,一般簡稱為MBR)和引導記錄備份的存放位置。而對於文件系統以及其他操作系統管理硬碟所需要的信息則是通過以後的高級格式化,即Format命令來實現。

面、磁軌和扇區

硬碟分區後,將會被劃分為面(Side)、磁軌(Track)和扇區(Sector)。需要注意的是,這些只是個虛擬的概念,並不是真正在硬碟上劃軌道。先從面說起,硬碟一般是由一片或幾片圓形薄膜疊加而成。我們所說,每個圓形薄膜都有兩個「面」,這兩個面都是用來存儲數據的。按照面的多少,依次稱為0面、1面、2面……由於每個面都專有一個讀寫磁頭,也常用0頭(head)、1頭……稱之。按照硬碟容量和規格的不同,硬碟面數(或頭數)也不一定相同,少的只有2面,多的可達數十面。各面上磁軌號相同的磁軌合起來,稱為一個柱面(Cylinder)(如圖1)。(圖)

上面我們提到了磁軌的概念。那麼究竟何為磁軌呢?由於磁碟是旋轉的,則連續寫入的數據是排列在一個圓周上的。我們稱這樣的圓周為一個磁軌。(如圖2)如果讀寫磁頭沿著圓形薄膜的半徑方向移動一段距離,以後寫入的數據又排列在另外一個磁軌上。根據硬碟規格的不同,磁軌數可以從幾百到數千不等;一個磁軌上可以容納數KB的數據,而主機讀寫時往往並不需要一次讀寫那麼多,於是,磁軌又被劃分成若干段,每段稱為一個扇區。一個扇區一般存放512位元組的數據。扇區也需要編號,同一磁軌中的扇區,分別稱為1扇區,2扇區……

計算機對硬碟的讀寫,處於效率的考慮,是以扇區為基本單位的。即使計算機只需要硬碟上存儲的某個位元組,也必須一次把這個位元組所在的扇區中的512位元組全部讀入內存,再使用所需的那個位元組。不過,在上文中我們也提到,硬碟上面、磁軌、扇區的劃分表面上是看不到任何痕跡的,雖然磁頭可以根據某個磁軌的應有半徑來對准這個磁軌,但怎樣才能在首尾相連的一圈扇區中找出所需要的某一扇區呢?原來,每個扇區並不僅僅由512個位元組組成的,在這些由計算機存取的數據的前、後兩端,都另有一些特定的數據,這些數據構成了扇區的界限標志,標志中含有扇區的編號和其他信息。計算機就憑借著這些標志來識別扇區

硬碟的數據結構

在上文中,我們談了數據在硬碟中的存儲的一般原理。為了能更深入地了解硬碟,我們還必須對硬碟的數據結構有個簡單的了解。硬碟上的數據按照其不同的特點和作用大致可分為5部分:MBR區、DBR區、FAT區、DIR區和DATA區。我們來分別介紹一下:

1.MBR區

MBR(Main Boot Record 主引導記錄區)�位於整個硬碟的0磁軌0柱面1扇區。不過,在總共512位元組的主引導扇區中,MBR只佔用了其中的446個位元組,另外的64個位元組交給了DPT(Disk Partition Table硬碟分區表)(見表),最後兩個位元組「55,AA」是分區的結束標志。這個整體構成了硬碟的主引導扇區。(圖)

主引導記錄中包含了硬碟的一系列參數和一段引導程序。其中的硬碟引導程序的主要作用是檢查分區表是否正確並且在系統硬體完成自檢以後引導具有激活標志的分區上的操作系統,並將控制權交給啟動程序。MBR是由分區程序(如Fdisk.exe)所產生的,它不依賴任何操作系統,而且硬碟引導程序也是可以改變的,從而實現多系統共存。

下面,我們以一個實例讓大家更直觀地來了解主引導記錄:

例:80 01 01 00 0B FE BF FC 3F 00 00 00 7E 86 BB 00

在這里我們可以看到,最前面的「80」是一個分區的激活標志,表示系統可引導;「01 01 00」表示分區開始的磁頭號為01,開始的扇區號為01,開始的柱面號為00;「0B」表示分區的系統類型是FAT32,其他比較常用的有04(FAT16)、07(NTFS);「FE BF FC」表示分區結束的磁頭號為254,分區結束的扇區號為63、分區結束的柱面號為764;「3F 00 00 00」表示首扇區的相對扇區號為63;「7E 86 BB 00」表示總扇區數為12289622。

2.DBR區

DBR(Dos Boot Record)是操作系統引導記錄區的意思。它通常位於硬碟的0磁軌1柱面1扇區,是操作系統可以直接訪問的第一個扇區,它包括一個引導程序和一個被稱為BPB(Bios Parameter Block)的本分區參數記錄表。引導程序的主要任務是當MBR將系統控制權交給它時,判斷本分區跟目錄前兩個文件是不是操作系統的引導文件(以DOS為例,即是Io.sys和Msdos.sys)。如果確定存在,就把它讀入內存,並把控制權 交給該文件。BPB參數塊記錄著本分區的起始扇區、結束扇區、文件存儲格式、硬碟介質描述符、根目錄大小、FAT個數,分配單元的大小等重要參數。DBR是由高級格式化程序(即Format.com等程序)所產生的。

3.FAT區

在DBR之後的是我們比較熟悉的FAT(File Allocation Table文件分配表)區。在解釋文件分配表的概念之前,我們先來談談簇(Cluster)的概念。文件佔用磁碟空間時,基本單位不是位元組而是簇。一般情況下,軟盤每簇是1個扇區,硬碟每簇的扇區數與硬碟的總容量大小有關,可能是4、8、16、32、64……

同一個文件的數據並不一定完整地存放在磁碟的一個連續的區域內,而往往會分成若干段,像一條鏈子一樣存放。這種存儲方式稱為文件的鏈式存儲。由於硬碟上保存著段與段之間的連接信息(即FAT),操作系統在讀取文件時,總是能夠准確地找到各段的位置並正確讀出。

為了實現文件的鏈式存儲,硬碟上必須准確地記錄哪些簇已經被文件佔用,還必須為每個已經佔用的簇指明存儲後繼內容的下一個簇的簇號。對一個文件的最後一簇,則要指明本簇無後繼簇。這些都是由FAT表來保存的,表中有很多表項,每項記錄一個簇的信息。由於FAT對於文件管理的重要性,所以FAT有一個備份,即在原FAT的後面再建一個同樣的FAT。初形成的FAT中所有項都標明為「未佔用」,但如果磁碟有局部損壞,那麼格式化程序會檢測出損壞的簇,在相應的項中標為「壞簇」,以後存文件時就不會再使用這個簇了。FAT的項數與硬碟上的總簇數相當,每一項佔用的位元組數也要與總簇數相適應,因為其中需要存放簇號。FAT的格式有多種,最為常見的是FAT16和FAT32。

4.DIR區

DIR(Directory)是根目錄區,緊接著第二FAT表(即備份的FAT表)之後,記錄著根目錄下每個文件(目錄)的起始單元,文件的屬性等。定位文件位置時,操作系統根據DIR中的起始單元,結合FAT表就可以知道文件在硬碟中的具體位置和大小了。

5.數據(DATA)區

數據區是真正意義上的數據存儲的地方,位於DIR區之後,占據硬碟上的大部分數據空間。

磁碟的文件系統
經常聽高手們說到FAT16、FAT32、NTFS等名詞,朋友們可能隱約知道這是文件系統的意思。可是,究竟這么多文件系統分別代表什麼含義呢?今天,我們就一起來學習學習:

1.什麼是文件系統?
所謂文件系統,它是操作系統中藉以組織、存儲和命名文件的結構。磁碟或分區和它所包括的文件系統的不同是很重要的,大部分應用程序都基於文件系統進行操作,在不同種文件系統上是不能工作的。

2.文件系統大家族
常用的文件系統有很多,MS-DOS和Windows 3.x使用FAT16文件系統,默認情況下Windows 98也使用FAT16,Windows 98和Me可以同時支持FAT16、FAT32兩種文件系統,Windows NT則支持FAT16、NTFS兩種文件系統,Windows 2000可以支持FAT16、FAT32、NTFS三種文件系統,Linux則可以支持多種文件系統,如FAT16、FAT32、NTFS、Minix、ext、ext2、xiafs、HPFS、VFAT等,不過Linux一般都使用ext2文件系統。下面,筆者就簡要介紹這些文件系統的有關情況:

(1)FAT16
FAT的全稱是「File Allocation Table(文件分配表系統)」,最早於1982年開始應用於MS-DOS中。FAT文件系統主要的優點就是它可以允許多種操作系統訪問,如MS-DOS、Windows 3.x、Windows 9x、Windows NT和OS/2等。這一文件系統在使用時遵循8.3命名規則(即文件名最多為8個字元,擴展名為3個字元)。

(2)VFAT
VFAT是「擴展文件分配表系統」的意思,主要應用於在Windows 95中。它對FAT16文件系統進行擴展,並提供支持長文件名,文件名可長達255個字元,VFAT仍保留有擴展名,而且支持文件日期和時間屬性,為每個文件保留了文件創建日期/時間、文件最近被修改的日期/時間和文件最近被打開的日期/時間這三個日期/時間。

(3)FAT32
FAT32主要應用於Windows 98系統,它可以增強磁碟性能並增加可用磁碟空間。因為與FAT16相比,它的一個簇的大小要比FAT16小很多,所以可以節省磁碟空間。而且它支持2G以上的分區大小。朋友們從附表中可以看出FAT16與FAT32的一不同。

(4)HPFS
高性能文件系統。OS/2的高性能文件系統(HPFS)主要克服了FAT文件系統不適合於高檔操作系統這一缺點,HPFS支持長文件名,比FAT文件系統有更強的糾錯能力。Windows NT也支持HPFS,使得從OS/2到Windows NT的過渡更為容易。HPFS和NTFS有包括長文件名在內的許多相同特性,但使用可靠性較差。

(5)NTFS
NTFS是專用於Windows NT/2000操作系統的高級文件系統,它支持文件系統故障恢復,尤其是大存儲媒體、長文件名。NTFS的主要弱點是它只能被Windows NT/2000所識別,雖然它可以讀取FAT文件系統和HPFS文件系統的文件,但其文件卻不能被FAT文件系統和HPFS文件系統所存取,因此兼容性方面比較成問題。

ext2
這是Linux中使用最多的一種文件系統,因為它是專門為Linux設計,擁有最快的速度和最小的CPU佔用率。ext2既可以用於標準的塊設備(如硬碟),也被應用在軟盤等移動存儲設備上。現在已經有新一代的Linux文件系統如SGI公司的XFS、ReiserFS、ext3文件系統等出現。

小結:雖然上面筆者介紹了6種文件系統,但占統治地位的卻是FAT16/32、NTFS等少數幾種,使用最多的當然就是FAT32啦。只要在「我的電腦」中右擊某個驅動器的屬性,就可以在「常規」選項中(圖)看到所使用的文件系統。

明明白白識別硬碟編號
目前,電子市場上硬碟品牌最讓大家熟悉的無非是IBM、昆騰(Quantum)、希捷(Seagate),邁拓(Maxtor)等「老字型大小」。而這些硬碟型號的編號則各不相同,令人眼花繚亂。其實,這些編號均有一定的規律,表示一些特定?的含義。一般來說,我們可以從其編號來了解硬碟的性能指標,包括介面?類型、轉速、容量等。作為DIY朋友來說,只有自己真正掌握正確識別硬碟編號,在選購硬碟時,就方便得多(以致不被「黑」),至少不會被賣的人說啥是啥。以下舉例說明,供朋友們參考。

一、IBM
IBM是硬碟業的巨頭,其產品幾乎涵蓋了所有硬碟領域。而且IBM還是去年硬碟容量、價格戰的始作蛹者。我們今天能夠用得上經濟上既便宜,而且容量又大的硬碟可都得感謝IBM。
IBM的每一個產品又分為多個系列,它的命名方式為:產品名+系列代號+介面類型+碟片尺寸+轉速+容量。以Deskstar 22GXP的13.5GB硬碟為例,該硬碟的型號為:DJNA-371350,字母D代表Deskstar產品,JN代表Deskstar25GP與22GP系列,A代表ATA介面,3代表3寸碟片,7是7200轉產品,最後四位數字為硬碟容量13.5GB。IBM系列代號(IDE)含義如下:
TT=Deskstar 16GP或14GXP JN=Deskstar 25GP或22GXP RV=Ultrastar 18LZX或36ZX
介面類型含義如下:A=ATA
S與U=Ultra SCSI、Ultra SCSI Wide、Ultra SCSI SCA、增強型SCSI、
增強擴展型SCSI(SCA)
C=Serial Storage Architecture連續存儲體系SCSI L=光纖通道SCSI

二、MAXTOR(邁拓)
MAXTOR是韓國現代電子美國公司的一個獨立子公司,以前該公司的產品也覆蓋了IDE與SCSI兩個方面,但由於SCSI方面的產品缺乏竟爭力而最終放棄了這個高端市場從而主攻IDE硬碟,所以MAXTOR公司應該是如今硬碟廠商中最專一的了。
MAXTOR硬碟編號規則如下:首位+容量+介面類型+磁頭數,MAXTOR?從鑽石四代開始,其首位數字就為9,一直延續到現在,所以大家如今能在電子市場上見到的MAXTOR硬碟首位基本上都為9。另外比較特殊的是MAXTOR編號中有磁頭數這一概念,因為MAXTOR硬碟是大打單碟容量的發起人,所以其硬碟的型號中要將單碟容量從磁頭數中體現出來。單碟容量=2*硬碟總容量/磁頭數。
現以金鑽三代(DiamondMax Plus6800)10.2GB的硬碟為例說明:該硬碟?型號為91024U3,9是首位,1024是容量,U是介面類型UDMA66,3代表該硬碟有3個磁頭,也就是說其中的一個碟片是單面有數據。這個單碟容量就為2*10.2/3=6.8GB。MAXTOR硬碟介面類型字母含義如:
A=PIO模式 D=UDMA33模式 U=UDMA66模式

三、SEAGATE(希捷)
希捷科技公司(Seagate Technology)是世界上最大的磁碟驅動器、磁?盤和讀寫磁頭生產廠家,該公司是一直是IBM、COMPAQ、SONY等業界大戶的硬碟供應商。希捷還保持著業界第一款10000轉硬碟的記錄(捷豹Cheetah系列SCSI)與最大容量(捷豹三代73GB)的記錄,公司的實力由此可見一斑。但?由於希捷一直是以高端應用為主(例如SCSI硬碟),而並不是特別重視低端家用產品的開發,從而導致在DIY一族心目中的地位不如昆騰等硬碟供應商?。好在希捷公司及時注意到了這個問題,不久前投入市場的酷魚(Barracuda)系列就一掃希捷硬碟以往在單碟容量、轉速、噪音、非正常外頻下工作穩?定性、綜合性能上的劣勢。
希捷的硬碟系列從低端到高端的產品名稱分別為:U4系列、Medalist(金牌)系列、U8系列、Medalist Pro(金牌Pro)系列、Barracuda(酷魚)系列。其中Medalist Pro與Barracuda系列是7200轉的產品,其他的是5400轉的產品。硬碟的型號均以ST開頭,現以酷魚10.2GB硬碟為例來說明。該硬碟的型號是:ST310220A,在ST後第一位數字是代表硬碟的尺寸,3就是該硬碟採用3寸碟片,如今其他規格的硬碟已基本上沒有了,所以大家能夠見到?的絕大多數硬碟該位數字均不3,3後面的1022代表的是該硬碟的格式化容量是10.22GB,最後一位數字0是代表7200轉產品。這一點不要混淆與希捷以前的入門級產品Medalist ST38420A混淆。多數希捷的Medalist Pro系列開始,以結尾的產品均代表7200轉硬碟,其它數字結尾(包括1、2)代表5400轉的產品。位於型號最後的字母是硬碟的介面類型。希捷硬碟的介面類型字母含義如下:
A=ATA UDMA33或UDMA66 IDE介面 AG為筆記本電腦專用的ATA介面硬碟。
W為ULTRA Wide SCSI,
其數據傳輸率為40MB每秒 N為ULTRA Narrow SCSI,其數據傳輸率為20MB每秒。
而ST34501W/FC和ST19101N/FC中的FC(Fibre Channel)表示光纖通道,可提供高達每秒100MB的數據傳輸率,並且支持熱插拔。

硬碟及介面標準的發展歷史
一、硬碟的歷史
說起硬碟的歷史,我們不能不首先提到藍色巨人IBM所發揮的重要作用,正是IBM發明了硬碟,並且為硬碟的發展做出了一系列重大貢獻。在發明磁碟系統之前,計算機使用穿孔紙帶、磁帶等來存儲程序與數據,這些存儲方式不僅容量低、速度慢,而且有個大缺陷:它們都是順序存儲,為了讀取後面的數據,必須從頭開始讀,無法實現隨機存取數據。
在1956年9月,IBM向世界展示了第一台商用硬碟IBM 350 RAMAC(Random Access Method of Accounting and Control),這套系統的總容量只有5MB,卻是使用了50個直徑為24英寸的磁碟組成的龐然大物。而在1968年IBM公司又首次提出了「溫徹斯特」Winchester技術。「溫徹斯特」技術的精髓是:「使用密封、固定並高速旋轉的鍍磁碟片,磁頭沿碟片徑向移動,磁頭磁頭懸浮在高速轉動的碟片上方,而不與碟片直接接觸」,這便是現代硬碟的原型。在1973年IBM公司製造出第一台採用「溫徹期特」技術製造的硬碟,從此硬碟技術的發展有了正確的結構基礎。1979年,IBM再次發明了薄膜磁頭,為進一步減小硬碟體積、增大容量、提高讀寫速度提供了可能。70年代末與80年代初是微型計算機的萌芽時期,包括希捷、昆騰、邁拓在內的許多著名硬碟廠商都誕生於這一段時間。1979年,IBM的兩位員工Alan Shugart和Finis Conner決定要開發像5.25英寸軟碟機那樣大小的硬碟驅動器,他們離開IBM後組建了希捷公司,次年,希捷發布了第一款適合於微型計算機使用的硬碟,容量為5MB,體積與軟碟機相仿。
PC時代之前的硬碟系統都具有體積大、容量小、速度慢和價格昂貴的特點,這是因為當時計算機的應用范圍還太小,技術與市場之間是一種相互制約的關系,使得包括存儲業在內的整個計算機產業的發展都受到了限制。 80年代末期IBM對硬碟發展的又一項重大貢獻,即發明了MR(Magneto Resistive)磁頭,這種磁頭在讀取數據時對信號變化相當敏感,使得碟片的存儲密度能夠比以往20MB每英寸提高了數十倍。1991年IBM生產的3.5英寸的硬碟使用了MR磁頭,使硬碟的容量首次達到了1GB,從此硬碟容量開始進入了GB數量級的時代 。1999年9月7日,邁拓公司(Maxtor)_宣布了首塊單碟容量高達10.2GB的ATA硬碟,從而把硬碟的容量引入了一個新里程碑。

二、介面標準的發展
(1)IDE和EIDE的由來
最早的IBM PC並不帶有硬碟,它的BIOS及DOS 1.0操作系統也不支持任何硬碟,因為系統的內存只有16KB,就連軟碟機和DOS都是可選件。後來DOS 2引入了子目錄系統,並添加了對「大容量」存儲設備的支持,於是一些公司開始出售供IBM PC使用的硬碟系統,這些硬碟與一塊控制卡、一個獨立的電源被一起裝在一個外置的盒子里,並通過一條電纜與插在擴展槽中的一塊適配器相連,為了使用這樣的硬碟,必須從軟碟機啟動,並載入一個專用設備驅動程序。
1983年IBM公司推出了PC/XT,雖然XT仍然使用8088 CPU,但配置卻要高得多,加上了一個10MB的內置硬碟,IBM把控制卡的功能集成到一塊介面控制卡上,構成了我們常說的硬碟控制器。其介面控制卡上有一塊ROM晶元,其中存有硬碟讀寫程序,直到基於80286處理器的PC/AT的推出,硬碟介面控製程序才被加入到了主板的BIOS中。
PC/XT和PC/AT機器使用的硬碟被稱為MFM硬碟或ST-506/412硬碟,MFM(Modified Frequency Molation)是指一種編碼方案,而ST-506/412則是希捷開發的一種硬碟介面,ST-506介面不需要任何特殊的電纜及接頭,但是它支持的傳輸速度很低,因此到了1987年左右這種介面就基本上被淘汰了。
邁拓於1983年開發了ESDI(Enhanced Small Drive Interface)介面。這種介面把編解碼器放在了硬碟本身之中,它的理論傳輸速度是ST-506的2~4倍。但由於成本比較高,九十年代後就逐步被淘汰掉了。
IDE(Integrated Drive Electronics)實際上是指把控制器與盤體集成在一起的硬碟驅動器,這樣減少了硬碟介面的電纜數目與長度,數據傳輸的可靠性得到了增強,硬碟製造起來變得更容易,對用戶而言,硬碟安裝起來也更為方便。IDE介面也叫ATA(Advanced Technology Attachment)介面。
ATA介面最初是在1986年由CDC、康柏和西部數據共同開發的,他們決定使用40芯的電纜,最早的IDE硬碟大小為5英寸,容量為40MB。ATA介面從80年代末期開始逐漸取代了其它老式介面。
80年代末期IBM發明了MR(Magneto Resistive)磁阻磁頭,這種磁頭在讀取數據時對信號變化相當敏感,使得碟片的存儲密度能夠比以往的20MB/in2提高數十上百倍。1991年,IBM生產的3.5英寸硬碟0663-E12使用了MR磁頭,容量首次達到了1GB,從此硬碟容量開始進入了GB數量級,直到今天,大多數硬碟仍然採用MR磁頭。
人們在談論硬碟時經常講到PIO模式和DMA模式,它們是什麼呢?目前硬碟與主機進行數據交換的方式有兩種,一種是通過CPU執行I/O埠指令來進行數據的讀寫;另外,一種是不經過CPU的DMA方式。
PIO模式即Programming Input/Output Model。這種模式使用PC I/O埠指令來傳送所有的命令、狀態和數據。由於驅動器中有多個緩沖區,對硬碟的讀寫一般採用I/O串操作指令,這種指令只需一次取指令就可以重復多次地完成I/O操作,因此,達到高的數據傳輸率是可能的。
DMA即Direct Memory Access。它表示數據不經過CPU,而直接在硬碟和內存之間傳送。在多任務操作系統內,如OS/2、Linux、Windows NT等,當磁碟傳輸數據時,CPU可騰出時間來做其它事情,而在DOS/Windows3.X環境里,CPU不得不等待數據傳輸完畢,所以在這種情況下,DMA方式的意義並不大。
DMA方式有兩種類型:第三方DMA(third-party DMA)和第一方DMA(first-party DMA)(或稱匯流排主控DMA,Busmastering DMA)。第三方DMA通過系統主板上的DMA控制器的仲裁來獲得匯流排和傳輸數據。而第一方DMA,則完全由介面卡上的邏輯電路來完成,當然這樣就增加了匯流排主控介面的復雜性和成本。現在,所有較新的晶元組均支持匯流排主控DMA。
(2)SCSI介面
(Small Computer System Interface小型計算機系統介面)是一種與ATA完全不同的介面,它不是專門為硬碟設計的,而是一種匯流排型的系統介面,每個SCSI匯流排上可以連接包括SCSI控制卡在內的8個SCSI設備。SCSI的優勢在於它支持多種設備,傳輸速率比ATA介面快得多但價格也很高,獨立的匯流排使得它對CPU的佔用率很低。 最早的SCSI是於1979年由美國的Shugart公司(Seagate希捷公司的前身)制訂的,90年代初,SCSI發展到了SCSI-2,1995年推出了SCSI-3,其俗稱Ultra SCSI, 1997年推出了Ultra 2 SCSI(Fast-40),其採用了LVD(Low Voltage Differential,低電平微分)傳輸模式,16位的Ultra2SCSI(LVD)介面的最高傳輸速率可達80MB/S,允許介面電纜的最長為12米,大大增加了設備的靈活性。1998年,更高數據傳輸率的Ultra160/m SCSI(Wide下的Fast-80)規格正式公布,其最高數據傳輸率為160MB/s,昆騰推出的Atlas10K和Atlas四代等產品支持Ultra3 SCSI的Ultra160/m傳輸模式。
SCSI硬碟具備有非常優秀的傳輸性能。但由於大多數的主板並不內置SCSI介面,這就使得連接SCSI硬碟必須安裝相應的SCSI卡,目前關於SCSI卡有三個正式標准,SCSI-1,SCSI-2和SCSI-3,以及一些中間版本,要使SCSI硬碟獲得最佳性能就必須保證SCSI卡與SCSI硬碟版本一致(目前較新生產的SCSI硬碟和SCSI卡都是向前兼容的,不一定必須版本一致)。
(3)IEEE1394:IEEE1394又稱為Firewire(火線)或P1394,它是一種高速串列匯流排,現有的IEEE1394標准支持100Mbps、200Mbps和400Mbps的傳輸速率,將來會達到800Mbps、1600Mbps、3200Mbps甚至更高,如此高的速率使得它可以作為硬碟、DVD、CD-ROM等大容量存儲設備的介面。IEEE1394將來有望取代現有的SCSI匯流排和IDE介面,但是由於成本較高和技術上還不夠成熟等原因,目前仍然只有少量使用IEEE1394介面的產品,硬碟就更少了。