summaryrefslogtreecommitdiff
path: root/sag-0.6.1-www/sag-0.6.1.html/x747.html
diff options
context:
space:
mode:
Diffstat (limited to 'sag-0.6.1-www/sag-0.6.1.html/x747.html')
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x747.html406
1 files changed, 406 insertions, 0 deletions
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x747.html b/sag-0.6.1-www/sag-0.6.1.html/x747.html
new file mode 100644
index 0000000..1efe4a4
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x747.html
@@ -0,0 +1,406 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Hard disks</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Using Disks and Other Storage Media"
+HREF="c701.html"><LINK
+REL="PREVIOUS"
+TITLE="Using Disks and Other Storage Media"
+HREF="c701.html"><LINK
+REL="NEXT"
+TITLE="Floppies"
+HREF="x787.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="c701.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 4. Using Disks and Other Storage Media</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x787.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN747"
+>Hard disks</A
+></H1
+><P
+>This subsection introduces terminology related to hard
+ disks. If you already know the terms and concepts, you can skip
+ this subsection.</P
+><P
+>See <A
+HREF="x747.html#HD-SCHEMATIC"
+>Figure 4-1</A
+> for a schematic picture
+ of the important parts in a hard disk. A hard disk consists of
+ one or more circular <I
+CLASS="GLOSSTERM"
+>platters</I
+>,
+
+ <A
+NAME="AEN753"
+HREF="#FTN.AEN753"
+>[1]</A
+>
+
+ of which either or both <I
+CLASS="GLOSSTERM"
+>surfaces</I
+> are coated
+ with a magnetic substance used for recording the data. For each
+ surface, there is a <I
+CLASS="GLOSSTERM"
+>read-write head</I
+> that
+ examines or alters the recorded data. The platters rotate on
+ a common axis; a typical rotation speed is 3600 rotations per
+ minute, although high-performance hard disks have higher speeds.
+ The heads move along the radius of the platters; this movement
+ combined with the rotation of the platters allows the head to
+ access all parts of the surfaces.</P
+><P
+>The processor (CPU) and the actual disk communicate through
+ a <I
+CLASS="GLOSSTERM"
+>disk controller</I
+>. This relieves the rest of the computer
+ from knowing how to use the drive, since the controllers for
+ different types of disks can be made to use the same interface
+ towards the rest of the computer. Therefore, the computer can
+ say just ``hey disk, gimme what I want'', instead of a long and
+ complex series of electric signals to move the head to the proper
+ location and waiting for the correct position to come under
+ the head and doing all the other unpleasant stuff necessary.
+ (In reality, the interface to the controller is still complex,
+ but much less so than it would otherwise be.) The controller
+ can also do some other stuff, such as caching, or automatic bad
+ sector replacement.</P
+><P
+>The above is usually all one needs to understand about the
+ hardware. There is also a bunch of other stuff, such as the
+ motor that rotates the platters and moves the heads, and the
+ electronics that control the operation of the mechanical
+ parts, but that is mostly not relevant for understanding the
+ working principle of a hard disk.</P
+><P
+>The surfaces are usually divided into concentric rings,
+ called <I
+CLASS="GLOSSTERM"
+>tracks</I
+>, and these in turn are
+ divided into <I
+CLASS="GLOSSTERM"
+>sectors</I
+>. This division
+ is used to specify locations on the hard disk and to allocate
+ disk space to files. To find a given place on the hard disk,
+ one might say ``surface 3, track 5, sector 7''. Usually the
+ number of sectors is the same for all tracks, but some hard disks
+ put more sectors in outer tracks (all sectors are of the same
+ physical size, so more of them fit in the longer outer tracks).
+ Typically, a sector will hold 512 bytes of data. The disk itself
+ can't handle smaller amounts of data than one sector.</P
+><DIV
+CLASS="FIGURE"
+><P
+><B
+><A
+NAME="HD-SCHEMATIC"
+>Figure 4-1. A schematic picture of a hard disk.</A
+></B
+></P
+><P
+><IMG
+SRC="hd-schematic.gif"></P
+></DIV
+><P
+>Each surface is divided into tracks (and sectors) in
+ the same way. This means that when the head for one surface
+ is on a track, the heads for the other surfaces are also on
+ the corresponding tracks. All the corresponding tracks taken
+ together are called a <I
+CLASS="GLOSSTERM"
+>cylinder</I
+>. It takes
+ time to move the heads from one track (cylinder) to another,
+ so by placing the data that is often accessed together (say, a
+ file) so that it is within one cylinder, it is not necessary to
+ move the heads to read all of it. This improves performance.
+ It is not always possible to place files like this; files
+ that are stored in several places on the disk are called
+ <I
+CLASS="GLOSSTERM"
+>fragmented</I
+>.</P
+><P
+>The number of surfaces (or heads, which is the same thing),
+ cylinders, and sectors vary a lot; the specification of the
+ number of each is called the <I
+CLASS="GLOSSTERM"
+>geometry</I
+> of a hard disk. The
+ geometry is usually stored in a special, battery-powered memory
+ location called the <I
+CLASS="GLOSSTERM"
+>CMOS RAM</I
+>, from where the operating
+ system can fetch it during bootup or driver initialization.</P
+><P
+>Unfortunately, the BIOS
+
+ <A
+NAME="AEN773"
+HREF="#FTN.AEN773"
+>[2]</A
+>
+
+ has a design limitation, which makes it
+ impossible to specify a track number that is larger than 1024 in
+ the CMOS RAM,
+ which is too little for a large hard disk. To overcome this,
+ the hard disk controller lies about the geometry, and
+ <I
+CLASS="GLOSSTERM"
+>translates the addresses</I
+> given by the computer into something
+ that fits reality. For example, a hard disk might have 8 heads,
+ 2048 tracks, and 35 sectors per track.
+
+ <A
+NAME="AEN776"
+HREF="#FTN.AEN776"
+>[3]</A
+>
+
+ Its controller could lie to the computer and claim that it
+ has 16 heads, 1024 tracks, and 35 sectors per track, thus not
+ exceeding the limit on tracks, and translates the address that
+ the computer gives it by halving the head number, and doubling
+ the track number. The math can be more complicated in reality,
+ because the numbers are not as nice as here (but again, the
+ details are not relevant for understanding the principle).
+ This translation distorts the operating system's view of how
+ the disk is organized, thus making it impractical to use the
+ all-data-on-one-cylinder trick to boost performance.</P
+><P
+>The translation is only a problem for IDE disks. SCSI disks
+ use a sequential sector number (i.e., the controller translates
+ a sequential sector number to a head, cylinder, and sector
+ triplet), and a completely different method for the CPU to talk
+ with the controller, so they are insulated from the problem.
+ Note, however, that the computer might not know the real geometry
+ of an SCSI disk either.</P
+><P
+>Since Linux often will not know the real geometry of a disk,
+ its filesystems don't even try to keep files within a single
+ cylinder. Instead, it tries to assign sequentially numbered
+ sectors to files, which almost always gives similar performance.
+ The issue is further complicated by on-controller caches, and
+ automatic prefetches done by the controller.</P
+><P
+>Each hard disk is represented by a separate device
+ file. There can (usually) be only two or four IDE hard
+ disks. These are known as <TT
+CLASS="FILENAME"
+>/dev/hda</TT
+>,
+ <TT
+CLASS="FILENAME"
+>/dev/hdb</TT
+>, <TT
+CLASS="FILENAME"
+>/dev/hdc</TT
+>,
+ and <TT
+CLASS="FILENAME"
+>/dev/hdd</TT
+>, respectively. SCSI
+ hard disks are known as <TT
+CLASS="FILENAME"
+>/dev/sda</TT
+>,
+ <TT
+CLASS="FILENAME"
+>/dev/sdb</TT
+>, and so on. Similar naming
+ conventions exist for other hard disk types; see XXX (device
+ list) for more information. Note that the device files for
+ the hard disks give access to the entire disk, with no regard
+ to partitions (which will be discussed below), and it's easy to
+ mess up the partitions or the data in them if you aren't careful.
+ The disks' device files are usually used only to get access to the
+ master boot record (which will also be discussed below).</P
+></DIV
+><H3
+>Notes</H3
+><TABLE
+BORDER="0"
+CLASS="FOOTNOTES"
+WIDTH="100%"
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN753"
+HREF="x747.html#AEN753"
+>[1]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+>The platters are made of a hard
+ substance, e.g., aluminium, which gives the hard disk
+ its name.</P
+></TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN773"
+HREF="x747.html#AEN773"
+>[2]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+>The BIOS is some built-in software stored on
+ ROM chips. It takes care, among other things, of the
+ initial stages of booting.</P
+></TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN776"
+HREF="x747.html#AEN776"
+>[3]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+>The numbers are completely
+ imaginary.</P
+></TD
+></TR
+></TABLE
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="c701.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x787.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Using Disks and Other Storage Media</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c701.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Floppies</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file