Если выделить одно занятие, которое отнимает у системного администратора больше всего времени, то это управление хранилищем. Кажется, что на дисках всегда не хватает места, со временем они не справляются с нагрузкой, или неожиданно выходят из строя. Поэтому, чтобы быть успешным системным администратором, очень важно хорошо разбираться в дисковых хранилищах.
Прежде чем заниматься управлением хранилищем, необходимо понять, как хранятся данные на аппаратном уровне. И если у вас не будет никакого представления о том, как работает устройство хранения, вы можете оказаться в ситуации, когда у вас возникнет проблема, связанная с хранилищем, но из-за недостатка знаний вы не сможете понять, что происходит. Если же изучите принципы нижележащей аппаратной части, вы сможете гораздо легче определить, правильно ли работает в вашем компьютере подсистема хранения.
В подавляющем большинстве всех устройств хранения используется вращающийся носитель некоторого рода и поддерживается произвольный доступ к данным этого носителя. Это значит, что практически во всех устройствах хранения присутствуют в некотором виде следующие компоненты:
Пластины диска
Устройство чтения/записи
Механизм доступа
Эти компоненты подробно рассматриваются в следующих разделах.
Вращающиеся носители, применяемые практически во всех устройствах хранения, представляют собой одну или несколько круглых и плоских пластин. Пластины могут быть изготовлены из самых разных материалов, например, алюминия, стекла или поликарбоната.
Поверхность пластин обрабатывается так, чтобы на них можно было хранить данные. Характер этой обработки зависит от используемой технологии хранения данных. Наиболее распространённые технологии хранения данных основаны на свойствах магнетизма, в таких случаях пластины покрываются составом, имеющим хорошие магнитные характеристики.
Ещё одна распространённая технология хранения данных основана на оптическом принципе, и в этом случае пластины покрываются материалами, способными менять оптические свойства, что позволяет хранить данные в оптическом виде [1].
Вне зависимости от используемой технологии хранения данных, дисковые пластины вращаются, благодаря чему их поверхность перемещается мимо другого компонента — устройства чтения/записи.
Устройство чтения/записи — это компонент, принимающий биты и байты, с которыми работает компьютер, и придающий им магнитную или оптическую форму, необходимую для взаимодействия с материалом, покрывающим поверхность пластин диска.
Иногда реализовать условия, в которых должны работать такие устройства, очень сложно. Например, в хранилище, использующем магнитный принцип, устройства чтения/записи (их также называют головками) должны находиться очень близко к поверхности пластины. Однако, если головка соприкоснётся с поверхностью пластины, в результате возникшего трения серьёзно пострадает и головка, и пластина. Поэтому поверхности головки и пластины тщательно полируются и головка «парит» над поверхностью диска на высоте меньше толщины человеческого волоса, благодаря давлению воздуха, возникающему при вращении пластин. Вот почему магнитные диски очень чувствительны к ударам, резким изменениям температуры и загрязнению воздуха.
С оптическими головками связаны несколько другие сложности, чем с магнитными — узел головки должен находиться на одном и том же расстоянии от поверхности пластины. В противном случае линзы, фокусирующиеся на пластине, не смогут получить достаточно резкое изображение.
В любом случае, головки могут сохранить данные только на очень маленькой площади поверхности. А так пластины вращаются, поверхность хранения принимает форму очень тонкой окружности.
Если бы устройства хранения работали именно так, больше 99% поверхности пластины пропадало бы впустую. Можно было бы установить над пластиной дополнительные головки, но чтобы поверхность пластины использовалась полностью, потребовалось бы больше тысячи головок. Поэтому необходим какой-то способ перемещения головки над поверхностью пластины.
Если разместить головку на рычаге, способном перемещаться над поверхностью пластины, это позволит использовать пластину для хранения данных в полной мере. Однако это механизм доступа должен уметь:
двигаться очень быстро
двигаться очень точно.
Механизм доступа должен двигаться как можно быстрее, так как время, потраченное на перемещение головки из одного положение, потрачено впустую. Это объясняется тем, что пока перемещение механизма доступа не закончится, писать или читать данные нельзя [2].
Механизм доступа должен двигаться с очень большой точностью, потому что, как говорилось ранее, поверхность, с которой работают головки, очень мала. Таким образом, чтобы эффективно использовать ёмкость пластины, необходимо двигать головки так, чтобы данные, записываемые в новом месте, не стирали данные, записанные рядом. Поэтому мы можем мысленно разделить поверхность пластины на тысячу и более концентрических «колец» или дорожек. Перемещение механизма доступа от одной дорожки к другой часто называется позиционированием, и время, которое требуется для такого перемещения, называется временем позиционирования.
В дисках с несколькими пластинами (или одной пластиной, обе поверхности которой используются для хранения данных), механизмы каждой поверхности объединяются вместе, что позволяет одновременно читать одну дорожку на всех поверхностях. Если визуально представить дорожки каждой поверхности и связать их механизмом доступа к данной дорожке, получится, что они находятся одна над другой, и образуют цилиндр, поэтому, набор дорожек, доступных в определённом положении механизма доступа, называется цилиндром.
[1] | В некоторых оптических устройствах, а именно в приводах CD-ROM, используется несколько другой подход к хранению, и эти различия отмечаются в тексте главы. |
[2] | В некоторых оптических устройствах (например, в приводах CD-ROM), механизм доступа двигается постоянно, поэтому узел головок описывает над поверхностью пластины спираль. Это объясняется отличиями в использовании носителей, и отражает то, что CD-ROM первоначально предназначались для хранения и воспроизведения музыки, при котором чаще выполняется продолжительное чтение, чем поиск нужного блока данных. |