当前位置:首页 » 服务存储 » 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接口的产品,硬盘就更少了。