Структура жесткого диска. Логическая структура жесткого диска Логическая структура и принцип работы жесткого диска

Обычно пользователи имеют в своем компьютере один встроенный накопитель. При первой установке операционной системы производится разбивка его на определенное количество разделов. Каждый логический том отвечает за хранение определенной информации. Кроме этого он может быть форматирован в разные файловые системы и в одну из двух структур. Далее мы бы хотели максимально детально описать программную структуру жесткого диска.

Что касается физических параметров — HDD состоит из нескольких частей, объединенных в одну систему. Если вы хотите получить развернутую информацию по этой теме, рекомендуем обратиться к отдельному нашему материалу по следующей ссылке, а мы же переходим к разбору программной составляющей.

Во время разбивки жесткого диска на разделы по умолчанию для системного тома устанавливается буква C , а для второго — D . Буквы A и B пропускаются, поскольку так обозначаются дискеты разных форматов. При отсутствии второго тома жесткого диска буквой D будет обозначаться DVD-привод.

Пользователь сам разбивает HDD на разделы, присваивая им любые доступные буквы. О том, как создать такую разбивку вручную, читайте в другой нашей статье по следующей ссылке.

Структуры MBR и GPT

С томами и разделами все предельно просто, однако присутствуют еще и структуры. Более старым логическим образцом называется MBR (Master Boot Record), а ему на замену пришел усовершенствованный GPT (GUID Partition Table). Давайте остановимся на каждой структуре и рассмотрим их детально.

Диски со структурой MBR постепенно вытесняются GPT, но все еще популярны и используются на многих компьютерах. Дело в том, что Master Boot Record — это первый сектор HDD объемом 512 байт, он зарезервирован и никогда не перезаписывается. Отвечает этот участок за запуск ОС. Удобна такая структура тем, что позволяет без проблем разделять физический накопитель на части. Принцип запуска диска с MBR происходит так:

Теперь, когда произошло обращение к разделам диска, нужно определить активный участок, с которого и будет загружаться ОС. Первый байт в этом образце считывания определяет нужный раздел для старта. Следующие выбирают номер головки для начала загрузки, номер цилиндра и сектора, а также количество секторов в томе. Порядок считывания показан на следующей картинке.

За координаты расположения крайней записи раздела рассматриваемой технологии отвечает технология CHS (Cylinder Head Sector). Она считывает номер цилиндра, головки и секторы. Нумерация упомянутых частей начинается с 0 , а секторы с 1 . Именно путем считывания всех этих координат и определяется логический раздел жесткого диска.

Недостаток такой системы заключается в ограниченности адресации объема данных. То есть во время первой версии CHS раздел мог иметь максимум 8 ГБ памяти, чего в скором времени, конечно же, перестало хватать. На замену пришла адресация LBA (Logical Block Addressing), в которой была переработана система нумерации. Теперь поддерживаются диски объемом до 2 ТБ. LBA была еще доработана, но изменения коснулись только GPT.

С первым и последующими секторами мы успешно разобрались. Что касается последнего, то он также зарезервирован, называется AA55 и отвечает за проверку MBR на целостность и наличие необходимой информации.

Технология MBR обладала рядом недостатков и ограничений, которые не могли обеспечить работу с большим количеством данных. Исправлять ее или изменять было бессмысленно, поэтому вместе с выходом UEFI пользователи узнали о новой структуре GPT. Она была создана с учетом постоянного увеличения объема накопителей и изменений в работе ПК, поэтому на текущее время это самое передовое решение. Отличается от MBR она такими параметрами:

  • Отсутствие координат CHS, поддерживается работа только с доработанной версией LBA;
  • GPT хранит на накопителе две свои копии — одна в начале диска, а другая в конце. Такое решение позволит реанимировать сектор через хранящуюся копию в случае повреждения;
  • Переработано устройство структуры, о чем мы поговорим далее;
  • Проверка корректности заголовка происходит с помощью UEFI c использованием контрольной суммы.

Теперь хотелось бы детальнее рассказать о принципе работы этой структуры. Как уже было сказано выше, используется здесь технология LBA, что позволит без проблем работать с дисками любых объемов, а в будущем расширить диапазон действия, если потребуется.

Стоит отметить, что сектор MBR в GPT тоже присутствует, он является первым и имеет размер в один бит. Необходим он для корректной работы HDD со старыми комплектующими, а также не позволяет программам, которым неизвестен GPT, разрушить структуру. Поэтому этот сектор называется защитным. Далее располагается сектор размером в 32, 48 или 64 бита, отвечающий за разметку на разделы, называется он первичным GPT-заголовком. После этих двух секторов идет считывание содержимого, вторая схема томов, а замыкает все это копия GPT. Полная структура представлена на скриншоте ниже.

На этом общая информация, которая может быть интересной обычному пользователю, заканчивается. Дальше — это тонкости работы каждого сектора, и эти данные уже никак не касаются рядового юзера. Что касается выбора GPT или MBR — вы можете ознакомиться с другой нашей статьей, где обсуждается выбор структуры под Windows 7.

Еще хочется добавить, что GPT — более совершенный вариант, и в будущем в любом случае придется переходить на работу с носителями такой структуры.

Файловые системы и форматирование

Говоря о логической структуре HDD, нельзя не упомянуть о доступных файловых системах. Конечно, их существует много, но остановиться мы бы хотели на разновидностях для двух ОС, с которым чаще всего работают обычные пользователи. Если компьютер не может определить файловую систему, то жесткий диск приобретает формат RAW и именно в нем отображается в ОС. Доступно ручное исправление этой проблемы. Мы предлагаем ознакомиться с деталями выполнения этой задачи далее.

  1. FAT32 . Компания Microsoft начала выпуск файловых систем с FAT, в будущем эта технология претерпела множество изменений, и последней версией на данный момент является FAT32. Ее особенность заключается в том, что она не предназначена для обработки и хранения больших файлов, а также на нее будет довольно проблематично установить тяжелые программы. Однако FAT32 универсальна, и при создании внешнего жесткого диска она используется для того, чтобы сохраненные файлы можно было считать с любого телевизора или проигрывателя.
  2. NTFS . Майкрософт представила NTFS, чтобы полностью заменить FAT32. Сейчас эта файловая система поддерживается всеми версиями Windows, начиная от XP, также отлично работает на Linux, однако на Mac OS можно только считать информацию, записать ничего не получится. Выделяется NTFS тем, что не имеет ограничений на размер записываемых файлов, обладает расширенной поддержкой разных форматов, возможностью сжатия логических разделов и легко восстанавливается при различных повреждениях. Все остальные файловые системы в большем роде подходят для небольших съемных носителей и достаточно редко применяются в жестких дисках, поэтому мы не будем их рассматривать в рамках этой статьи.

С файловыми системами Windows мы разобрались. Хотелось бы обратить внимание еще на поддерживаемые типы в ОС Linux, поскольку она также является популярной среди пользователей. Линукс поддерживает работу со всеми файловыми системами Виндовс, однако саму операционку рекомендуется устанавливать на специально разработанную для этого ФС. Отметить стоит такие разновидности:

  1. Extfs стала самой первой файловой системой для Linux. Она имеет свои ограничения, например, максимальный размер файла не может превышать 2 ГБ, а его имя должно находиться в диапазоне от 1 до 255 символов.
  2. Ext3 и Ext4 . Мы пропустили предыдущие две версии Ext, поскольку сейчас они совсем неактуальны. Расскажем лишь о более-менее современных версиях. Особенность этой ФС заключается в поддержке объектов размером до одного терабайта, хотя в при работе на старом ядре Ext3 не поддерживала элементы размером более 2 ГБ. Еще одной особенностью можно назвать поддержку считывания программного обеспечения, написанного под Windows. Следом вышла новая ФС Ext4, которая позволила хранить файлы объемом до 16 ТБ.
  3. Главным конкурентом Ext4 считается XFS . Ее преимущество заключается в особом алгоритме записи, он называется «Отложенное выделение места» . Когда данные отправляются на запись, они сначала помещаются в оперативную память и ждут очереди на сохранение в дисковом пространстве. Перемещение на HDD осуществляется только тогда, когда ОЗУ заканчивается или занимается другими процессами. Такая последовательность позволяет сгруппировать мелкие задачи в крупные и уменьшить фрагментацию носителя.

Что касается выбора файловой системы под установку ОС, обычному пользователю лучше выбрать рекомендуемый вариант при инсталляции. Обычно это Etx4 или XFS. Продвинутые юзеры уже задействуют ФС под свои нужды, применяя ее различные типы для выполнения поставленных задач.

Изменяется файловая система после форматирования накопителя, поэтому это достаточно важный процесс, позволяющий не только удалить файлы, но и исправить возникшие неполадки с совместимостью или чтением. Мы предлагаем вам прочесть специальный материал, в котором максимально детально расписана правильная процедура форматирования HDD.

Кроме этого файловая система объединяет группы секторов в кластеры. Каждый тип делает это по-разному и умеет работать только с определенным количеством единиц информации. Кластеры отличаются по размеру, маленькие подходят для работы с легкими файлами, а большие имеют преимущество — менее подвержены фрагментации.

Фрагментация появляется из-за постоянной перезаписи данных. Со временем разбитые на блоки файлы сохраняются в совершенно разные части диска и требуется производить ручную дефрагментацию, чтобы выполнить перераспределение их местоположения и повысить скорость работы HDD.

Информации по поводу логической структуры рассматриваемого оборудования присутствует еще немалое количество, взять те же форматы файлов и процесс их записи в секторы. Однако сегодня мы постарались максимально просто рассказать о самых важных вещах, которые будет полезно знать любому пользователю ПК, желающему изучить мир комплектующих.

Здравствуйте уважаемые читатели, недавно я писал статью про , новые и старые, а так же помог выбрать подходящую для вас. Но осталось много непонятных понятий, для полного понятия статьи такие как сектор , кластер , вообще и в этой статье я постараюсь вам разъяснить что это такое. А так же о новом секторе большего объема, дает ли он производительность или же опять провал изобретения? Даже если вы знаете это все, не поленитесь прочтите вдруг узнаете что-то новое и вообще оцените мой труд 🙂

Какая же структура жесткого диска

Структура жесткого диска на внешний взгляд достаточна проста, только углубившись можно столкнутся с какими-нибудь трудностями. Но не пугайте начнем с самого начала.

Жесткий диск как и другие магнитные накопители хранят память в дорожкообразной структуре. Следовательно магнитный диск разбит на кольца разного диаметра начиная с внешнего края. Кольца называемые дорожками состоят из кластеров и секторов . Количество дорожек и секторов определяется форматов диска . А формат диска задается при его изготовлении, так что этот параметр изменить нельзя т.е. если размер сектора при изготовлении 512 байт, то с этим ничего уже не поделать. Дорожка разбивается на равные секторы которые обычно занимают 512 байт (о новых чуть ниже). Как раз процесс разбития диска на секторы, называется форматированием . И уже в кластерах хранится информация.

Сектор — это минимальная единица хранения информации на дисковых носителях. Стандартный размер кластера обычно был 512 байт, но сейчас уже существует новый размер в 4 кб, который тоже имеет ряд интересных своих свойств , о которых мы поговорим чуть ниже.

В секторе записывается его заголовок (prefix portion), где хранится начало и конец сектора , а в конце - заключение (suffix portion), в котором содержится контрольная сумма (checksum), нужная для проверки целостности данных. При форматировании в секторе записывается их номера и служебная информация позволяющая определить начало и конец сектора. А так же то что помогает определить форматированную или не отформатированную область диска. По этому из-за служебной информации емкость диска после форматирования немного меньше. На самом деле хоть и говорят что размер сектора 512 байт, но это только объем информации, а сам размер его составляет 571 байт.

К ластер — это единица хранения данных на диске в объединенная в один или несколько секторов. Например если диск имеет сектор размером в 512 байт, то кластер размером в 512 байт содержит один сектор. А если кластер имеет размер 2 КБ, то он имеет четыре сектора. Размер кластера зависит от определенных условий, о который я уже писал .

Размер кластера узнать очень просто, для этого достаточно создать текстовый файл и напишите в нем любое слово или даже поставьте одну букву или цифру сохраните и выберите свойство этого файла. В пункте размер на диске будет ваш размер кластера. Главное чтобы файл весил менее 512 байт. Она буква обычно весит 1 байт.

Вся информация хранится в системном хранилище и хранилище данных .

Системная область диска состоит из

  1. Загрузочная запись (MBR) , состоящая из системного загрузчика и информационный блок определяющих формат диска.
  2. о которой я уже писал.
  3. Корневой каталог , где находится информация о каждом файле (время создания, изменения, размер и т.д.).

Физическая структура жестких дисков

Состоит из нескольких магнитных дисков и каждый диск разбит на большое количество дорожек с каждой стороны. Основной оценкой жесткого диска является его поверхностная плотность записи определяется по формуле Мбит/дюйм2 и Гбит/дюйм2. В настоящее время плотность дисков достигает 740 Гбит/дюйм2. Специалисты IHS предполагают к 2016 году достичь плотности 1800 Гбит на 1 кв. дюйм!

Для достижения более большей поверхностной плотности необходимо чтобы расстояние между головкой и диском было минимальное.

Диск покрыт тонким слоем вещества независимо от его материала, которое не дает размагничиваться от воздействия внешнего магнитного поля.

Существует два типа слоя:

1. оксидный

2. тонкопленочный.

Оксидный слой образуется в результате разбрызгивания оксида железа в полимерном растворе. Ну если это не интересно, процесс образования можно пропустить 🙂 А кому интересно продолжим. Получается химическая смесь которая растекается от центра к внешнему краю жесткого диска. Потом диск полируется, затем наносится следующий чистого полимера слой и потом окончательно шлифуется. Чтобы добиться большего объема жесткого диска необходимо чтобы слой был более гладким и тонким. По этому сейчас используют следующий способ.

Тонкопленочный слой более тонкий, прочный и качество намного выше. Благодаря этому способу удалось уменьшить зазор между дисками и следовательно достичь больших объемов.

Этот способ получают путем электролиза. Это тоже самое как при шлифовки хромированной детали. Подложку жесткого диска погружают в ванну с химическим раствором в следствии чего она покрывается несколькими слоями металлической пленки размером в 3 микродюйма. Сначала в камере химические вещества преобразуются в газообразное состояние, а потом накладываются на подложку. Сначала на алюминиевый диск наносится слой фосфорита никеля, а потом магнитный кобальтовый сплав. Этот способ дает наименьшую величину между головкой и поверхностью дисков всего 0,025 мкм, а раньше 0,076 мкм.

Привод диска

И самый главной деталью в жестком диске является привод головки. Они бывают:

1. C шаговым двигателем

2. C подвижной катушкой.

О них я рассказывать не буду, если интересно можете прочитать , но скажу что с шаговым двигателем приводы самые надежные.

Новый размер сектора в 4 кб, к чему готовится?

Вот мы и подошли к самой интересной теме сегодняшнего дня. Как вы уже поняли что такое сектор , это минимальная единица для хранения информации, но т.к. для настоящего времени 512 байт стало совсем мало, новые технологии продвинули размер в 4 кб. Создатели нового сектора его IDEMA (Международная ассоциация производителей жестких дисков) дали имя Advanced Format (новый формат).

Теперь давайте разберем конкретные причины перехода и какие трудности могут возникнуть с новым сектором (плюсы и минусы его) .

Главная причиной его перехода возникла из-за больших емкостей жесткого диска , для таких объемов размер в 512 байт становится ограничением в создании больших объемов и эффективности исправления ошибок.

Малые сектора занимают меньшую площадь жесткого диска, что создает повышение плотности диска. Из-за этого возникают проблемы в исправлении ошибок и в следствии изнашивается поверхность диска.

В секторах в 512 байт, максимальный объем исправления ошибок составляет 50 байт. Возникают трудности в исправлении и чтобы более эффективно происходил процесс исправления появился новый объем 4 кб.

Благодаря новому объему достигается большая плотность жесткого диска, что должно дать увеличение объемов жестких дисков.

Надежность в исправлении ошибок благодаря тому, что код исправления ошибок увеличен до 100 байт (в отличии от старого 50 байт) и надежность возросла до 97 %.

Н овый формат достиг уменьшение ширины дорожки до 70-80 нм , понизить себестоимость и следовательно снизить стоимость для покупателя. Повысился объем области хранения данных диска, улучшилась производительность (снизить время чтения/записи и доступа, снизился шум, нагрев, механический износ).

Какие трудности нас могут ожидать?

Трудность может ожидать в неподготовленности программного обеспечения, в следствии чего новый сектор может не улучшить характеристики, а наоборот ухудшить! Advanced Format поддерживается начиная с Microsoft Vista с последними обновлениями и более поздними версиями Windows, а также последними выпусками Linux и Mac OS X.

А происходит это из-за того, что программные кластеры не соответствуют друг другу (происходит сдвиг), а так же это касается физических секторов на диске, в следствии чего один кластер перекрывает два сектора, в следствии удваевается число операций чтений/записи, что в конечном случае приводит не только к замедлению работы, но и к большому износу жесткого диска .

Для решения этой ситуации компания Western Digital придумала специальную утилиту WD Align System Utility , благодаря которой производится сдвиг содержимого диска на 1 сектор. А так же специальная, технология Seagate SmartAlign , в дисках Seagate, позволяет использовать технологию нового сектора без специальной утилиты. Western Digital также позволяет сместить блоки переключателем на диске, но возможно проблем с количеством свободных блоков.

Можно так же применять специальные утилиты производителе например одна из них: Paragon Alignment Tool , которые позволяют смещать блоки и не давать падать быстродействию, а наоборот повышать.

Вывод здесь один, наши современные технологии идут все вперед и вперед, новый размер сектора действительно способен повысить быстродействие жесткого диска и системы в целом, но для достижения производительности необходимо внимательно подходить к этой технологии. Перед тем как её применять убедитесь в своем программном обеспечении о наличии поддержки нового формата , чтобы у вас не было трудностей в работе и чтобы Advanced Format принес вам только радость и комфорт! 🙂

Начнем с первой – разбивки единого пространства жесткого диска на более мелкие кусочки. Это только для нас, пользователей, жесткий диск выглядит существом монолитным, единым и неделимым. Хотя даже с физической точки зрения это не так: информационное пространство нашего винчестера размещено на нескольких физических пластинах? Теперь оказывается, что и на логическом уровне дисков на одном винчестере может быть несколько! Прежде всего, диск можно разбить на несколько разделов. Например, на два – основной и дополнительный. Главная программа, необходимая для работы компьютера (операционная система), должна обязательно проживать в основном разделе (на практике на компьютер можно установить НЕСКОЛЬКО операционных систем). Но самое интересное начинается дальше: в каждом разделе мы можем создать еще несколько логических дисков! При этом для нас, пользователей, да и для компьютера они будут выглядеть как отдельные устройства, каждое из которых будет носить собственное имя. Бывает и наоборот – благодаря технологии RAID вы можете объединить в один логический диск несколько физических « винчестеров» . Дома этот способ используется редко, а вот на мощных серверах, занятых, к примеру, обработкой видео или в компьютерах-« библиотеках» , такие « супердиски» встречаются сплошь и рядом.

В большинстве случаев при установке на компьютер нового жесткого диска на нем создается всего один раздел и, соответственно, один логический диск. Но многие пользователи считают, что для правильной организации работы разумнее сделать иначе. Например, если у вас в системе установлен винчестер большой емкости (от 100–200 Гб), его можно разбить хотя бы на два раздела. Первый, объемом около 25–30 Гб, можно отвести только под операционную систему и прикладные программы. А второй, больший раздел, отдать на откуп документам, фотографиям, коллекции музыки или фильмов. Зачем это нужно? Очень просто: в том случае, если с « системным» разделом что-то случится, ваши документы останутся в неприкосновенности в своей « резервации» .

Несколько логических дисков пригодятся вам и в том случае, если вы захотите установить на компьютер сразу несколько операционных систем (например, Windows и Linux). Правда, такими трюками занимается, по статистике, менее одного процента пользователей.

Итак, жесткий диск разбивается на разделы, в разделах, в свою очередь, создаются логические диски... Понятно, что у каждого такого диска должно быть имя – это удобнее и пользователю, и самому компьютеру.

Именами дисков служат буквы, например:

¦ А: – дискета;

¦ С: – жесткий диск;

¦ D: – второй жесткий диск или, при его отсутствии, дисковод DVD...

Кстати, когда вы подключаете к компьютеру сменные накопители, например, флэш-брелок или внешний винчестер – компьютер тут же выделяет им свою собственную букву А когда вы отключите устройство и удалите диск из системы, – буква освободится. Так что, теоретически, в компьютере можно спокойно создать хоть два десятка « логических дисков » – хватило бы букв. Хотя и здесь важно не переусердствовать – какой толк от десятка « виртуальных » дисков по нескольку гигабайт каждый!

Для разбивки жесткого диска на разделы мы можем использовать как стандартные программы, так и отдельные утилиты типа Partition Magic от компании Symantec.

Кластеры и секторы

Итак, мы разбили диск на разделы и логические диски (или создали один раздел и диск – не важно). Так сказать, разбили поле на участки. Но наша работа еще не закончена: после разбивки нам предстоит выполнить операцию форматирования, логической разметки всего пространства винчестера. Такое форматирование – это все равно что вспашка, превращающая бесформенное пространство в готовое для посева поле, украшенное аккуратными бороздами.

Впрочем, « борозды» уже проложили до нас: на физическом уровне жесткий диск уже разбит на дорожки, которые в свою очередь делятся на секторы. Сектор – это минимальный физический объем диска, который может быть занят данными: как правило, его объем составляет 512 байт. Это совсем немного – представьте, что вам понадобится дробить большой файл на кусочки по 512 байт, да еще и запоминать местонахождение каждого такого зернышка! Именно поэтому при логической разметке жесткого диска на нем создаются более крупные логические участки – кластеры , объединяющие несколько секторов. Число секторов в кластере, а стало быть, и его размер, зависят от объема жесткого диска и выбранного типа файловой системы.

Вот, к примеру, таблица размеров кластеров для файловой системы NTFS :

Размер кластера влияет и на объем, занимаемый вашими файлами, и на скорость работы всей системы. Ведь в кластер, частично занятый каким-либо файлом, нельзя поместить больше ничего. Допустим, ваш файл располагается в 10 кластерах размером 1024 Мб, причем в последнем – десятом кластере он занимает всего десять байт.

Что происходит с оставшимся свободным килобайтом? Ничего. Он просто пропадает для вас. Такие не пригодные ни к чему остатки называют «хвостами» . А в « хвосты» нередко уходит довольно значительный объем – до нескольких сотен мегабайт!

Если для вас важнее объем, размер кластера должен быть как можно меньше. Но и уменьшать его до бесконечности тоже нельзя: чем меньше размер кластера, тем больше фрагментация данных на вашем компьютере (что в свою очередь приводит к снижению скорости обмена данными с жестким диском). Последний этап подготовки жесткого диска к работе – создание таблицы размещения файлов (FAT), своеобразного оглавления, в котором будут перечислены все ваши файлы и папки, а также их физические адреса на вашем жестком диске. Впрочем, о файлах и папках – « контейнерах» , в которых хранится вся информация на вашем компьютере, – стоит рассказать поподробнее.

Как хранится информация?

Теперь, если вас спросят, как хранится информация на вашем компьютере, вы можете ответить так:

¦ Где именно? – на дорожках и секторах жесткого диска (или, на логическом уровне – в виде кластеров на логических дисках).

¦ Как именно? – в виде логических нулей и единиц (битов), а также их групп (байтов).

Все это правильно... Но все равно непонятно. Компьютеру так, может, и проще, ведь ему абсолютно безразлично, чем именно мы забиваем винчестер – документами ли, музыкой или картинками. Для него все это – информация, которую нужно лишь разбить на определенные кусочки – и в любой момент знать, где именно находится тот или иной кусочек. Но нам, пользователям, придется иметь дело не с битами и байтами. И уж тем более – не с кластерами и секторами. Нам же интересно другое деление информации – логическое. Содержательное. Следовательно, нам нужно принять новую единицу, новую точку отсчета. Такими единицами и станут для нас файл и папка.

Файлы

Файл (File) в переводе с английского – лист, на котором может быть записана некая информация. Неважно, что это – код программы или созданный вами текст. Важно другое – каждый такой листок является чем-то логически завершенным, законченным.

Файл может хранить в себе любую информацию – текст, графическую информацию, программный код и так далее (хотя бывают и некие комбинированные файлы, включающие, к примеру, картинку, текст и элемент программы). Главное, чтобы мы, пользователи, всегда могли отличить один « кусочек информации» от другого и знали, как именно нам работать с каждым типом файлов.

Как это делается? Очень просто: каждый файл, подобно человеку, имеет собственное « имя» и « фамилию» (ее называют « типом» файла).

Имя файла чаще всего может быть выбрано произвольно самим пользователем. Скажем, вы создали файл-документ с текстом своего договора с фирмой – его можно назвать « Договор» , « Документ 4155» или вообще « Апрельские тезисы» . Раньше, в эпоху DOS, имена файлов могли состоять максимум из восьми букв латинского алфавита – сегодня их может быть до 256 и никаких языковых ограничений не осталось. Работая с русской версией Windows, мы можем давать нашим документам-файлам русские имена, а китайцы, к примеру, могут с легкостью использовать свои иероглифы. Другой вопрос, что такой документ не всегда можно открыть на других компьютерах – « американская» Windows может не понять китайское имя, ну а наша, российская версия частенько спотыкается на западноевропейских символах.

Тип файла показывает, какого рода начинка хранится в каждом информационном « контейнере» – рисунок ли это, текст или программа.

О типе файла рассказывает его расширение – часть имени из трех (редко – из четырех) букв, отделенное от основной части названия точкой. Например, файл, в котором хранится эта книга, называется Compbook.doc.

В компьютерном мире существует бесчисленное множество расширений – запомнить все просто нереально.

Однако основных расширений не так уж много:

¦ ехе – обозначает « исполняемый» файл, хранящий в себе программу. Например, winword.exe;

¦ com – другой тип программного файла. Обычно файлы.com соответствуют небольшим (до сотни килобайт) программкам. Часто встречались в эпоху DOS, однако сегодня практически сошли со сцены;

¦ bat – так называемый пакетный файл, предназначенный для последовательного запуска нескольких программ (или команд). По сути дела, это обычный текстовый файл, в котором набраны названия программных файлов, которые вы хотите выполнить в необходимом вам порядке. Пример – файл autoexec.bat, автоматически выполняющийся в момент загрузки компьютера;

¦ cfg – конфигурационный файл, в котором программа указывает параметры своей работы;

¦ dll – так называемая динамически подключающаяся библиотека данных, к которой могут обратиться по мере надобности сразу несколько программ;

¦ hlp – файл справки, в котором хранятся « подсказки» , а иногда и полное руководство по той или иной программе;

¦ txt , doc текстовые файлы;

¦ htm , html – гипертекстовый документ Интернета;

¦ xls – электронная таблица;

¦ dat – файл данных;

¦ wav , mp3 – звук в цифровом формате;

¦ bmp , jpg – графическая информация, картинки;

¦ arj , zip , rar , 7z – файлы архивов, то есть сжатой с помощью специальных программ «архиваторов» информации. В одном архивном файле на самом деле может храниться множество файлов. И так далее.

Работая в Windows, вы чаще всего будете видеть не расширение файла, а соответствующий ему графический значок. Например, лист с текстом и буквой W покажет, что перед вами – документ, созданный в программе Microsoft Word. Это, конечно, удобно – но только не забывайте, что значки могут меняться в зависимости от того, к какой именно программе привязан тот или иной тип файла. К тому же одним значком могут обозначаться файлы сразу нескольких типов. Расширение же во всех случаях остается неизменным. Есть у файла и еще один признак, называемый атрибутом . Однако, в отличие от имени и расширения (а в Windows – значка определенного типа) его-то пользователь как раз и не видит. Зато великолепно видит и понимает компьютер.

Вот лишь некоторые из этих атрибутов:

Скрытый (Hidden). Файлы с этими атрибутами обычно не видны пользователю. Для перестраховки – как правило, файлы эти весьма важные для функционирования системы. Хотя опытному юзеру не составит труда настроить программу просмотра файлов (файловый менеджер) таким образом, что все скрытые файлы будут видны как на ладони.

Только для чтения (Read-Only). А вот эти файлы всегда открыты любопытному взору... Но и только. Изменить их содержание нельзя – по крайней мере, без специальной команды пользователя, дабы последний был полностью уверен в том, что именно он делает.

Системный (System). Этим атрибутом, как особым знаком отличия, отмечены самые важные файлы в операционной системе, отвечающие за загрузку компьютера. Их повреждение или удаление всегда влечет за собой самые тяжкие последствия, поэтому щедрый компьютер, не скупясь, « награждает» их заодно и двумя предыдущими атрибутами – « только для чтения» и « скрытый» .

Архивный (Archive). Этот атрибут устанавливается обычно во время работы с файлом, при его изменении. По окончании сеанса работы он, как правило, снимается.

Папки

Если мы сравнили файлы с листиками, то почему бы нам не продолжить аналогию дальше? Где же те деревья, на которых растут такие полезные листики? Сравнение с деревом тут не случайно. Ведь расположение файлов на жестком диске и называется именно древовидной структурой. Есть листья. Они растут на веточках. Веточки в свою очередь растут на ветках. Ветки... Ну, скажем, на сучьях. А уж сучья... И так до бесконечности. Понятно, что держать совершенно разные файлы в одной куче нельзя. Их надо упорядочивать. Каждому сверчку – свой шесток, каждой семье – отдельную квартиру... Ну и так далее.

Файлы объединены в особые структуры – папки . Или – каталоги . Или – директории . Или – фолдеры . Совершенно непонятно, зачем понадобилось создавать такую кучу терминов для одного-единственного предмета. Папка – самый поздний термин и, на мой взгляд, самый удачный. Именно в папке лежат листочки-файлы. Папка, которую в любой момент можно открыть и отыскать нужный листок. Папка, в которую, кстати говоря, можно вложить другую папку...

Обычно каждый программный пакет, установленный на вашем компьютере, занимает свою, отдельную папку. Однако бывает и так, что программа, словно хитрая птица-кукушка, раскидывает свои файлы по многим папкам. Особенно это любят делать программные пакеты, работающие под операционной системой Windows.

Как отличить папку от файла? Не так уж и сложно. Во-первых, папки не имеют расширения и обозначаются в Windows особыми значками – как раз в виде открывающейся папки. Во-вторых, в отношении папки нельзя применить операции редактирования. Переименовать, перенести, удалить – пожалуйста. И, конечно же, папку можно открыть, чтобы посмотреть, что в ней находится. Для этого достаточно просто щелкнуть по ней дважды левой кнопкой мыши.

Ну а теперь разберемся, как выглядит логический адрес любого файла или папки на нашем жестком диске. Первый элемент этого адреса – имя диска. Состоит оно из одной буквы, двоеточия и обратной косой черты, называемой на компьютерном жаргоне бэк-слэш :

А:\ С:\ D:\ Е:\

Диском А: чаще всего называется дисковод и, пока вы не вставите в него дискету, этого диска у вас как бы и не будет. И бог с ним: и без него дисков хватает.

Диск С: – главный жесткий диск вашего компьютера (либо логический диск в основном разделе). Именно с этого диска производится загрузка системы, именно на нем « живет» большинство ваших программ и документов.

Если в вашей системе больше одного жесткого диска или единственный жесткий диск разбит на несколько разделов, эти разделы будут носить имена, соответствующие следующим буквам латинского алфавита. А последняя буква-имя обычно обозначает дисковод CD-ROM.

C:\WINDOWS.

Ну а третий элемент адреса – имя самого файла. Например, адрес

C:\WINDOWS\regedit.exe

соответствует программе для редактирования системного реестра Windows, которая находится на диске C:\ в папке Windows.

Файловая система

Что ж, теперь мы с вами поняли, как компьютеру удобнее хранить данные и в каком виде предпочитаем видеть их мы. Осталось за кадром лишь одно – каким же образом секторы и кластеры, забитые под завязку битами и байтами, превращаются в удобные для нас файлы и папки! Мистика, волшебство? Ничуть. Просто, рассказывая о логической структуре жесткого диска, мы намеренно пропустили очень важный этап – создание файловой системы . А именно она позволяет окончательно упорядочить данные на нашем жестком диске и в любой момент извлекать из этой информационной кладовой нужный кусочек.

Когда мы записываем на винчестер файлы и папки, компьютер разбивает их на привычные ему кластеры и раскидывает по всему пространству жесткого диска. Файл, конечно же, в одном кластере не помещается. Проживает он сразу в нескольких, причем совершенно не обязательно, что кластеры эти будут жить рядышком, как горошины в стручке. Чаще случается наоборот: файл хранится на диске в раздробленном виде – « голова» в одном участке диска, « ноги» в другом... Чтобы не заблудиться в собственных « закромах» , компьютер создает в самом начале жесткого диска специальный « путеводитель» по его содержанию – FAT, таблицу размещения файлов. Именно в FAT хранятся все сведения о том, какие именно кластеры занимает тот или иной файл или папка, а также – их заголовки. С одной стороны, это удобно: при таком способе размещения компьютер не должен лихорадочно искать на жестком диске кусок именно такого размера, который подходит для конкретного файла. Пиши куда вздумается! Да и удалять файлы и папки становится проще – не нужно стирать содержимое принадлежащих им кластеров, достаточно просто объявить их свободными, изменив пару байт в FAT. Да и у пользователя остается возможность быстро их восстановить с помощью все той же пары байт...

Таблица размещения файлов – это часть файловой системы, ответственной за хранение данных на нашем компьютере. Файловая система создается на жестком диске на заключительном этапе форматирования, и именно от нее зависят такие важные параметры, как размер кластера, количество (или вид) символов в имени файла, возможности работы с папками и многое другое – вплоть до максимального размера жесткого диска...

Существует несколько стандартных файловых систем, привязанных к конкретным операционным системам.

Например, древняя DOS и первые версии Windows использовали 16-разрядную файловую систему FAT16, в которой отсутствовала поддержка длинных имен, а объем логического диска не мог превышать 4 Гб (65536 кластеров по 64 кб). В частности, именно этот фактор заставлял владельцев винчестеров большой емкости « разбивать» его на несколько разделов – иначе работать с диском было невозможно.

Для Windows 95 была создана новая модификация файловой системы – 32-битная FAT32, которая позволяла использовать так полюбившиеся нам длинные имена. Уменьшился максимальный размер кластера – до 16 кб (стандартный же размер составлял 4 кб). А главное, увеличился максимальный размер жесткого диска – до 4 Тб! Впрочем, довольно скоро выяснилось, что и FAT32 работает небезупречно: несмотря на декларированную поддержку до 4 Тб дисковой памяти, стандартные утилиты позволяли создавать логические разделы объемом лишь до 32 Гб. К тому же размер файла в FAT32 не мог превышать 4 Гб, что крайне осложняло работу любителям цифрового видео (ведь оцифрованный фильм может занять на диске сотни гигабайт!). Так что задуматься о смене файловой системы пришлось довольно скоро, хотя и сегодня FAT32 используется, например, при создании DVD-дисков. А семь лет назад мир потихоньку начал переходить на файловую систему нового типа – NTFS , количественные изменения в который были куда менее интересны, чем качественные. Да, благодаря NTFS удалось снять ограничения на объем файла – теперь он может занимать хоть весь жесткий диск целиком – а максимальный размер дискового раздела увеличился до 12 Тб. Однако куда интереснее были новые возможности: помимо привычных логических дисков фиксированного размера NTFS позволяет создавать еще и динамические жесткие диски, поддерживает шифрование и защиту паролем отдельных разделов и папок.

Главное качество новой системы – надежность хранения данных: если « уронить » жесткий диск с FAT32 было легче легкого, то под защитой NTFS ваши данные будут чувствовать себя гораздо увереннее. NTFS ведет свой собственный журнал операций, который позволяет защитить данные в случае сбоя.

Попробуйте внезапно выключить компьютер при копировании или удалении файла в FAT32 – и, скорее всего, вы поплатитесь за такую вольность потерей данных. Ведь изменения в таблице размещения файлов не будут сохранены, и ваш документ превратится в кучу « потерянных кластеров» . Поэтому FAT всегда хранится в 2-х экземплярах! NTFS же вносит изменения в таблицу лишь тогда, когда операция успешно завершена, а « журнал» помогает застраховать файлы от преждевременной кончины.

Увы – ради надежности приходится жертвовать совместимостью:

Если жесткие диски, отформатированные в FAT16 и FAT32, способны увидеть практически все версии Windows (а также операционные системы семейства Linux), то при использовании NTFS вы намертво привязаны к линейке Windows 2000 -ХР -Vista .

Если на вашем компьютере уместилось две операционные системы – старая Windows ME и новая Windows ХР (с файловой системой NTFS), – то содержимое « икспишного» раздела или целого диска останется невидимым для ME. Более того – вы теряете возможность работать с диском, загружаясь в режиме « командной строки» с компакт-диска или « загрузочной» дискеты – для DOS файловая система NTFS тоже как бы не существует.

Наконец, если преобразовать файловую систему FAT32 в NTFS не составит никакого труда даже с помощью штатных программ Windows, причем с полным сохранением всей информации, то выполнить обратное преобразование в большинстве случаев просто невозможно без форматирования диска. И, как следствие, утраты всей информации...

Конечно, существуют специальные программы для работы с разделами и файловыми системами – например Partition Magic, которая умеет конвертировать диск NTFS в FAT32 без потери информации. Но их использование сопряжено с немалыми трудностями – в особенности для новичков... И все же, несмотря на все недостатки, использование NTFS сегодня дает куда больше преимуществ, чем неудобств. Поэтому уверенно отвечайте «Да!» на вопрос о переводе в NTFS – и окончательно прощайтесь с прошлым.

Программы и их виды

Работая с компьютером, большинство людей не создает нужные программы самостоятельно, а лишь пользуется уже готовыми разработками. Потому и называются они пользователями. Впрочем, быть пользователем тоже непросто. Ведь необходимо уметь не только обращаться с несколькими распространенными программными пакетами, но и ориентироваться в « программном море» – для того, чтобы в случае нужды легко и быстро найти нужную программу и научиться с ней работать. Перечислить их все? Но это почти невозможно: существуют сотни тысяч, если не миллионы разнообразных программ, и каждый день к ним прибавляется еще около сотни! Так стоит ли пытаться объять необъятное? Поэтому попытаемся разбить весь массив созданных в мире программ на несколько основных групп.

Виды программ по назначению

Как известно, каждая программа отвечает за свой, конкретный участок работы. Одни помогают создавать текст или графику, другие – наводить порядок на жестком диске, третьи – работать в сети Интернет... Порой кажется, что сколько программ – столько может быть и их категорий. И отчасти это действительно так. Однако при некотором усердии можно попытаться свести всё программное изобилие к нескольким основным разделам. Побалуемся классификаторством и мы, создав небольшую « периодическую таблицу программ» в духе Менделеева.

Первую и самую обширную группу программ, с которыми нам придется иметь дело, составляют Системные программы.

Системные – значит, необходимые для обеспечения нормальной работы компьютера, его обслуживания и настройки. К таким программам относится в первую очередь операционная система. И ряд вспомогательных небольших программ – утилит.

Операционная система – это первый и главный посредник между компьютерным « железом» и всеми остальными программами, душа и сердце компьютера. Нет операционной системы – и ваш компьютер будет не в состоянии воспринять ни одну команду – даже загрузиться не сможет.

Утилиты . Этот класс объединяет громадное количество полезных программок, предназначенных для обслуживания вашего компьютера. К выбору утилит надо подходить особенно тщательно, дабы не слишком переусердствовать. Но и пропускать что-нибудь действительно полезное не стоит – правильно подобранная утилита может существенно облегчить вам жизнь. Сюда же можно включить и тесты – программы для тестирования как программного обеспечения, так и аппаратных ресурсов ПК.

Конечно, несправедливо, что самое большое количество программ создано для обслуживания потребностей компьютера, а не его хозяина – человека...

Прикладные программы. Наиболее важные для нас программы, так сказать, созидательные, рабочие инструменты, предназначенные для создания и обработки информации.

Пользователь, в отличие от компьютера, – существо необычайно прихотливое. Поэтому и типов прикладных программ куда больше, чем системных. Назовем лишь некоторые из них:

Офисные программы . Задача этих программ – создание и редактирование документов, будь то текст, электронная таблица, изображение или их совокупность. Иногда такие программы называют по старинке « редакторами» (хотя настоящим редактором остается человек, а программа – лишь его рабочий инструмент). Сегодня отдельных программ этого класса на рынке почти не осталось – куда чаще продаются « полные наборы» , включающие все, что вам нужно. Самый популярный офисный пакет Microsoft Office состоит из текстового редактора Microsoft Word, электронной таблицы Microsoft Excel, программы для подготовки презентаций Microsoft PowerPoint, программы управления базами данных Microsoft Access и ряда вспомогательных программ поменьше.

Особняком стоят финансовые и бухгалтерские программы . Домашняя бухгалтерия сегодня пока что не стала у нас модной, но это только вопрос времени! На Западе программы планирования расходов, учета семейных финансов и расчета налогов всегда были в числе самых популярных. В этой же группе – электронные таблицы и вспомогательные финансовые утилиты.

Мультимедийные программы. « Медиа» в переводе означает – « носитель» , « вестник» , а в современном толковании – вид информации. Стало быть, « мультимедиа» – это совокупность всех видов информации. Сам этот термин появился на свет в эпоху, когда использование каких-либо информационных средств, помимо « голого» текста, было для компьютера в диковинку. Строго говоря, « мультимедийными» можно называть лишь те программы, которые умеют работать с несколькими видами информации. Но таких программ в природе не много... И так уж повелось, что « мультимедийными» сегодня называют и графические, и звуковые, и видеопрограммы... словом – те, которые работают с видом информации, отличным от текстового.

Программы для обработки и создания изображений . Это – уже вполне профессиональные программы, ставить которые на ваш компьютер стоит лишь в одном случае – если вы хотя бы умеете рисовать. Если нет, то даже такая мощная программа, как редактор векторной графики (рисунков) CorelDraw, вам не поможет. То же самое относится и к программам для обработки фотоизображений – например Adobe Photoshop. Конечно, с их помощью можно соорудить великолепный фотомонтаж или поиздеваться над фотографией обожаемой женушки... Но, опять-таки, является ли это для вас жизненно необходимым?

Программы для работы со звуком. Минимальный комплект программ для обработки и проигрывания звуков и музыки уже включен в комплект вашей операционной системы. Несколько дополнительных программ (например, проигрывателей, или « плейеров» ) не помешают. А серьезные, профессиональные пакеты для обработки звуков (Sound Forge, CoolEdit) оставьте профессионалам.

Проигрыватели (плейеры) и программы просмотра (вьюверы) в отличие от редакторов не позволяют редактировать текстовый документ, звуковой файл или видео. Их задача скромнее – например, проиграть музыкальную композицию или вывести на экран картинку.

Редакторы трехмерной графики и анимации . Благодаря « Парку Юрского периода» и прочим напичканным спецэффектами фильмам, эти программы стали у нас удивительно популярны (хотя на Западе те же 3D Studio MAX или SoftImage – сугубо профессиональные программы стоимостью в десятки тысяч долларов).

Профессиональные программы. Весьма условная группа. Вообще-то к профессиональным, узкоспециализированным программам можно отнести программу любой группы – это зависит только от ее « навороченности» , востребованности сравнительно небольшим кругом людей и, как следствие, высокой цены. Объединяет эти программы одно – для домашнего офиса и для повседневного употребления они непригодны. А необходимы они специалистам, которые знают, зачем им, собственно, эта программа нужна. Можно, конечно, и дома в 3D-Studio поиграться, но дело это неблагодарное. Конечно, помимо того, что описано здесь, существует еще море « специализированных» программ, но обо всех написать, увы, невозможно.

Инструменты программирования . Суперсложные системы программирования, профессиональные компиляторы и многое другое. Для программистов это – инструмент номер один, а вот домашнему пользователю чаще всего они не нужны. Хотя многие современные системы программирования настолько просты и « визуальны» , что позволяют создавать приложения, конструируя их из готовых блоков.

Системы автоматизированного проектирования (CAD). Эти программы (например, AutoCAD) тоже частенько ставят на домашние машины – по незнанию, видимо, ибо рисование профессиональных блок-схем занятие трудное и на игру не похожее.

Математические и научные программы – вотчина ученых и продвинутых инженеров.

Коммерческий статус программ

Помимо тематического деления программ существует еще одна классификация. Связана она со способом распространения программы и теми условиями, приняв которые, потребитель получает возможность оной воспользоваться. Ну и, разумеется, с ее стоимостью... То, что программы бывают платные и бесплатные, знает каждый пользователь. Но мало кто догадывается, сколько именно модификаций « платного» и « бесплатного» напридумывали хитрые авторы программ!

Бесплатное программное обеспечение (freeware). Первоначально по принципу freeware распространялись небольшие утилиты или бесплатные дополнения к известным коммерческим пакетам. Однако сегодня по принципу freeware иногда распространяются и довольно серьезные пакеты известных производителей, включая Microsoft.

К freeware программам иногда относят и приложения, распространяющиеся по принципу OpenSource (открытых исходников) – например, операционную систему Linux и приложения для нее. Однако это не совсем верно: постулаты OpenSource подразумевают возможность изменения кода программы самим пользователем (на что идут далеко не все авторы freeware-программ). А распространение таких продуктов не обязательно должно быть бесплатным – так, в мире существует множество « коммерческих» версий той же Linux. Однако чаще всего freeware и OpenSource идут рука об руку.

Условно-бесплатное программное обеспечение (shareware). Самая массовая группа программ, в которую входят практически все утилиты, а часто – и весьма серьезные, умелые программные пакеты. Как правило, shareware-программы распространяются в виде полнофункциональных версий, ограниченных либо по времени работы, либо по количеству запусков. По истечении отведенного вам на тестирование срока (как правило – от 15 до 45 дней) программа либо просто перестает запускаться, либо утрачивает часть своих функций, превращаясь в менее функциональную freeware-версию. В самом благоприятном для вас случае программа полностью сохраняет работоспособность, однако время от времени надоедает вам настоятельными призывами заплатить – так поступает, например, популярный файловый менеджер Windows Commander.

Если вы все-таки решитесь приобрести программу и перечислите на счет автора некую сумму, то в обмен вы получите специальный цифровой код (ключ), который необходимо ввести в специальное регистрационное окошко программы. В качестве варианта может быть выслан специальный « ключевой » файл, который необходимо скопировать в папку с установленной программой.

«Рекламно-оплачиваемые» программы (adware). Расцвет этого вида программ пришелся на конец 90-х годов – сегодня их популярность значительно снизилась. Принцип adware подразумевает, что платит за программу не пользователь, а рекламодатель, которому взамен дается пространство для размещения информации о своих продуктах – в виде баннеров или всплывающих окошек. А пользователи вынуждены эту рекламу смотреть, а иногда – еще и щелкают по особо понравившимся картинкам, отправляясь прямиком на сайт фирмы-рекламодателя... Отдача от этих путешествий не слишком велика, однако и пара клиентов может принести, например, интернет-магазину сотни долларов прибыли, 10– 15 из которых он с охотой выплатит программисту.

К сожалению, создатели программ часто злоупотребляли этой возможностью, внедряя в свои продукты шпионские модули и даже вирусы, так что сегодня adware программы практически поставлены вне закона.

Коммерческое программное обеспечение (commercialware). За эти программы всегда надо платить, и чаще всего – довольно значительные суммы. Сюда относятся все крупные программные пакеты известных производителей и ряд утилит. Программы этого типа можно приобрести в красивых коробках или без оных в любом компьютерном супермаркете. Однако сегодня все чаще и чаще программные продукты продаются через сеть Интернет. Купить их можно либо на сайтах производителей программ, либо – в больших интернет-магазинах программного обеспечения. Получить товар вы можете двумя способами. Большие программы в виде тех самых красочных коробок с компакт-диском или документацией доставляются вам на дом курьерской службой или по почте, а мелкие программы вы можете скопировать прямо с сайта Интернет. При этом, как и в случае с shareware-программами, вы получаете урезанную (Demo ) или ограниченную по времени работы (Trial ) версию. Trial, как и shareware-программу, можно превратить в полнофункциональный вариант с помощью регистрации, а вот с демоверсией такой фокус не пройдет, поскольку в ней некоторые функции отсутствуют изначально. Например, в текстовом или графическом редакторе вы не сможете сохранить внесенные вами изменения.

OEM-версии . Специальные варианты обычных коммерческих программ, поставляющиеся по сниженной цене вместе с готовыми компьютерами. Например, стоимость Windows в OEM-поставке может быть в несколько раз дешевле « коробочной» версии.

«Условно-платные» программы (donation ware). Автор такой программы намекает, что, в принципе, он не отказался бы от пары-другой монет за свое детище, но платить он никого не принуждает и функциональность программы не ограничивает. Появится желание – заплатите, не появится... Ну что ж, на нет и суда нет! Понятно, что таких « альтруистов наполовину» среди программистов немного. А честных плательщиков среди пользователей – и того меньше.

«Открыточные» версии (cardware). Весьма экзотический вид программ, в качестве вознаграждения за пользование которыми вас просят отправить автору красивую почтовую открытку.

Версии программ

Программы, как известно, пишут живые люди. А люди имеют привычку ошибаться. А в программах ошибки встречаются, пожалуй, чаще, чем во всех остальных видах человеческой деятельности вместе взятых. Причин для этого много, но основная – сложность современных компьютеров: ни один человек не может отследить все команды, выполняемые компьютером при работе программы, – уж очень там много всего задействовано. Я даже не говорю о диком разнообразии всевозможных железок, настроек и установленных программ, с которым встречается творение любого программиста, вышедшее « в свет» . Ну и, разумеется, про ошибки самого программиста – как в алгоритме, так и в его реализации – тоже забывать не стоит...

Для того чтобы понять, откуда берутся ошибки реализации, можно взять типичный пример – деление на ноль. Допустим, вы решили написать программу, которая будет считать среднюю скорость роста человека (не знаю зачем, но допустим). Пользователь вводит дату своего рождения и свой рост, а программа вычитает из сегодняшнего числа дату рождения, подсчитывает ваш возраст в днях и делит рост на число ваших дней. Такая программа будет прекрасно работать для вас и ваших родственников, но если вы ее « выпустите в люди» , то обязательно найдется кто-то, кто в качестве дня рождения введет сегодняшнее число. И готово – возраст ноль дней, попытка деления на ноль и программа вылетает с ошибкой. Разумеется, это самый простой пример. В реальной жизни все сложнее и зависит не только от данных, вводимых пользователем (которые можно, а точнее, нужно проверять перед использованием в программе), но и от установленных системных файлов, драйверов и кучи других вещей, предсказать которые невозможно, а их влияние на работоспособность программы – совсем не очевидно. Как правило, ошибки « первого типа» вычисляются и исправляются очень легко, в течение 10 минут. « Второй тип» – сложнее, но он затрагивает относительно небольшое число пользователей. Обычно исправление подобных ошибок приводит к изменению второй или третьей цифры в номере версии (или же, автор вообще не меняет версию, а просто выкладывает обновленный файл).

Если вы видите, что вместо версии 2.1 появилась, скажем, 2.11, то имеет смысл заглянуть на сайт программы и посмотреть, не появилось ли там описание изменений, чтобы понять, нужно оно вам или нет. Ну а если программа небольшая, то можно просто скачать обновленную версию...

Другая штука – это внесение новых функций в программу. Ведь после выхода программы автор получает какое-то количество писем от пользователей с просьбами добавить или изменить что-то в программе, советами по ее совершенствованию и тому подобное. Если много людей просят что-то одно, то автор часто прислушивается к их мнению и дописывает соответствующую функцию. Кроме того, он и сам может придумать что-то новое и интересное и встроить в программу. Обычно подобные изменения приводят к увеличению второй цифры в номере версии, то есть вместо 1.1 появляется 1.2.

Такие обновления в большинстве случаев документируются и их описание помещается в файл history.txt или WhatsNew.txt. К такой версии стоит приглядеться повнимательнее – есть большая вероятность того, что там появилось что-то такое, чего вам не хватало...

Обнаруженные ошибки или неоптимальные куски в алгоритме программы, как правило, оказываются самыми неприятными для автора, так как они требуют переписывания больших кусков кода или даже всей программы « с нуля» . В то же время их исправление приносит наибольшую пользу тем, кто этой программой пользуется – значительно увеличиваются возможности программы, скорость ее работы, часто меняется внешний вид, появляется много новых функций... С другой стороны, при этом может измениться формат хранения данных, что потребует каких-то специальных действий при переходе на новую версию; может измениться название программы, ее цена и какие-то другие вещи, которые потребуют от пользователя внимательного изучения документации (что, в общем-то, никогда не мешает). Подобные « глобальные» изменения обычно приводят к увеличению первой цифры версии программы, то есть из 1.х она превращается в 2.0.

К сожалению, правила изменения версий нигде не описаны и не формализованы; то, что я описал – это усредненное описание. Многие авторы в качестве номера версии используют дату выхода программы. Кто-то не использует « минорные » версии вообще, увеличивая номер на единицу при любом самом маленьком обновлении. Кто-то меняет программу, не меняя версии. Иногда встречаются случаи, когда версия меняется, но отсутствует какое-либо упоминание о сделанных изменениях. Все в руках авторов...

Альфа (Alpha) – самая первая версия программы, черновой набросок. Статус « альфы» гарантирует вам, что скачанная программа установится и даже запустится, однако ее дальнейшие действия непредсказуемы. Чаще всего « альфа-версия» напичкана ошибками, как сдобная булочка изюмом, многие из ее возможностей и функций просто не работают. Вот почему пользоваться « альфой» могут лишь самые нетерпеливые и отчаянные экспериментаторы, выполняя таким образом роль тестеров. Остальным же стоит дождаться появления более стабильной и надежной версии – « беты» .

Бета (Beta) – уже вполне пригодный к употреблению продукт. Грубые ошибки убраны, базовые задачи программа выполняет успешно. Остались лишь маленькие недоделки, которые могут исчезнуть уже в следующих « бетах» . В статусе « беты» многие программы пребывают большую часть жизни, вспомним хотя бы проигрыватель WinAmp, почтовую программу The Bat! и ряд других программ, « бетовость» которых не мешает пользоваться ими миллионам пользователей.

После того как ошибки, обнаруженные в альфа– и бета-версиях программы, исправлены, а функции добавлены, наступает очередь RC (Release Candidate) – кандидат на окончательную версию. Эта программа уже считается стабильной и используется для выявления наиболее скрытых ошибок – такую программу, практически без опаски, могут скачивать и устанавливать даже те пользователи, которые слабо разбираются в компьютерах. А так как таких – большинство, то увеличивается число пользователей, что означает увеличение числа « тестеров» . Ошибки в RC-версиях вычисляются довольно редко, так что при переходе в « основную» версию программа практически не меняется.

Наконец, после всех мучений и доделок на свет появляется релиз (Release) – полностью готовая, окончательная версия программы.

Начальный сектор диска имеет главную корневую запись, которая грузится в память и выполняется. Последняя часть этого сектора имеет таблицу разделов — 4 элементную таблицу с 16-байтовыми элементами. Такой таблицей руководит программа FDISK. При загрузке ROM-BIOS загружает этот сектор с записью про таблицу. Это делается для того, что бы определить активный раздел. Затем считывается корректный корневой сектор в память и выполняется.
Таблица 1 — Структура главной корневой записи и таблицы разделов

Таблица 2 — Структура описателя раздела

Код раздела предназначен для определения и положения на диске расширенного и основного разделов. После обнаружения раздела его размер и координаты можно прочитать из определенных полей. Если в поле кода раздела 0 , то описатель можно считать пустым, и будет определенно, что на диске нет никакого раздела.
Таблица 3 — Коды разделов ОС Microsoft

Код Вид раздела Размер Тип FAT ОС
01h Основной 0-15 Мбайт FAT12 MS-DOS 2.0
04h Основной 16-32 Мбайт FAT16 MS-DOS 3.0
05h Расширенный 0-2 Гбайт MS-DOS 3.3
06h Основной 32 Мбайт — 2 Гбайт FAT16 MS-DOS 4.0
0Bh Основной 512 Мбайт — 2 Гбайт FAT32 OSR2
0Ch Расширенный 512 Мбайт — 2 Гбайт FAT32 OSR2
0Eh Основной 32 Мбайт — 2 Гбайт FAT16 Windows 95
0Fh Расширенный 0 — 2 Гбайт Windows 95

За ОС других фирм зарезервированы следующие коды:

  • 02h — раздел СР/М
  • 03h — раздел Xenis
  • 07h — раздел OS/2 (HPFS)

Номера цилиндра и сектора занимают 10 и 6 бит:

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
c c c c c c c c c c s s s s s s

Они запакованы так, что, когда загружается СХ 16-битовым значением, оно готово для вызова прерывания INT 13h для чтения определенной порции диска. После чтения главной записи загрузки в область памяти sect_buf функция:

CMP byte ptr sect_buf , 80h

проверит, активен ли первый раздел. А следующий алгоритм загрузит СХ для вызова INT 13h для чтения корневого сектора раздела №1.

MOV CX, sect_buf

Параметры относительного сектора по смещению 08h в каждом разделе равен головке, сектору и цилиндру начального адреса раздела. Относительный номер сектора прирастает сначала по каждому сектору на головке, затем по каждой головке и наконец по каждому цилиндру. Формула:

отн_сек = (#Цил * сек_на_цил * головок) + (#Гол * сек_на_цил) + (#Сек -1)

Разделы стартуют с четного номера цилиндра, за исключением первого раздела.

Структура корневого сектора

Формат корневого сектора дискеты или раздела жесткого диска показан на рис.1.

Рисунок — 1

Таблица параметров жесткого диска

Такая 16-байтовая структура располагается по адресу вектора прерывания INT 41h (4-байтовый адрес в 0:0104). Характеристики для второго жесткого диска (если он существует) располагаются по адрес вектора INT 46h.
Таблица 5 — Формат таблицы жесткого диска

Смещение Длина Содержимое
00h 2 Число цилиндров
02h 1 Число головок
03h 2 Не используется (всегда 0)
05h 2 Номер начального цилиндра предкомпенсации
07h 1 Максимальная длина блока коррекции ошибок ECC
08h 1 айт контроля:
биты 0-2 — не используются (всегда 0);
бит 3 — установлен, если число головок больше 8;
бит 4 — не используется (всегда 0);
бит 5 — установлен, если изготовитель разместил карту дефектов на цилиндре с номером «максимальный рабочий цилиндр + 1»;
бит 6 — запрет повторного контроля ECC;
бит 7 — запрет контроля ECC
09h 1 Не используется (всегда 0)
0Ah 1 Не используется (всегда 0)
0Bh 1 Не используется (всегда 0)
0Ch 2 Номер цилиндра зоны парковки
0Eh 1 Число секторов на дорожке
0Fh 1 Резерв

Таблица распределения файлов (FAT)

Размер файла может меняться со временем. Если предположить хранения файла только в смежных секторах, то при увеличении размера файла ОС должна полностью переписать его в другое место диска. Для упрощения задачи, в современных ОС реализованы таблицы распределения файлов (File Allocation Table — FAT), которые разрешают хранить файл в виде нескольких раздельных участков.

В FAT область данных логического диска поделена на участки одинакового размера — . Число секторов в кластере кратное 2 N и может принимать значения от 1 до 64. В каталоге файлов для каждого файла имеется номер начального элемента в таблице FAT, равен первому кластеру в цепочке файла. Пример показан на рис.2. Из рисунка видно:

  • MYFILE.TXT занимает 10 кластеров. Первый кластер это — 08, а последний 1Вh. Цепочка кластеров — 08h, 09h, 0Ah, 0Bh, 15h, 16h, 17h, 19h, 1Ah, 1Bh. Каждый компонент цепочки указывает на следующий компонент цепочки, это показано в табл.6.
  • Кластер 18h помечен как дефектный, и не входит в цепочку
  • Кластеры 06h, 07h, 0Ch-14h и 1Ch-1Fh пусты и доступны для других цепочек

Таблица 6 — Значение элементов FAT

FAT начинается с логичного сектора 1 в разделе DOS. Впринципи нужно прочитать корневой сектор DX=0, и взять смещение 0Eh. Там уже узнаем количество корневых и резервных секторов которые стоят перед FAT. Чтобы прочитать любой компонент FAT по цепочке, нужно прочитать всю FAT и получить из оглавления начальный номер кластера, и в случае FAT12:

  • умножить номер кластера на 3
  • разделить результат на 2
  • прочитать из FAT 16-разрядное слово, используя в качестве адреса результат предыдущего круга
  • Если номер элемента четный, но нужно выполнить AND над словом и маской 0FFFh. Если же нечетный, то сдвинуть значение вправо на 4 бита.

Первый серийный жесткий диск емкостью 16 кбайт был выпущен компанией IBM еще в 1973 р., и содержал 30 магнитных цилиндров по 30 дорожек на каждом. Острые на язык разработчики уловили схожесть этих цифр с маркой "30/30", которая соответствует названию оружия - "винчестеру". - это накопитель информации на жестких магнитных дисках. Основным элементом накопителей на жестких магнитных дисках (HDD - Hard Disk Drive) является несколько жестких алюминиевых или стеклянных пластин круглой формы - дисков. Поверхность такого диска покрывается тонким слоем вещества, которая способна сохранять остаточную намагниченность после воздействия на нее внешнего магнитного поля. Этот слой называется рабочим или магнитным и на нем сохраняются записанные данные. Накопитель состоит из таких элементов.
  • Дисков с вращающимся приводом, которые смонтированы на общей вертикальной оси.
  • Головки чтения/записи информации с собственным приводом.
Основной критерий качества - поверхностная плотность записи . Современный показатель - 60-80 Гбайт/пластину.

Любой винчестер состоит из трех основных блоков. Итак, рассмотрим, каковы составляющие структуры жесткого диска . Первый блок - собственно, само хранилище информации - одна или несколько стеклянных (или металлических) дисков. Структура диска выглядит так: магнитная поверхность каждого диска разделена на концентрические "дорожки (track) ", которые, в свою очередь, делятся на отрезки - секторы . Наряду с дорожками, которые имеют свой номер, и секторами, существуют цилиндры. Цилиндр - это совокупность всех совпадающих друг с другом дорожек по вертикали по всем рабочим поверхностям. Таким образом, чтобы узнать, какое количество цилиндров содержит жесткий диск, необходимо просто умножить число дорожек на суммарное число рабочих поверхностей. При низкоуровневом форматировании диска, которое исполняется на заводе-производителе, сначала и в конце каждого сектора создаются области, которые содержат информацию об их номерах и другое (служебная информация). Размер сектора составляет величину 571 байт, из которых 512 байт отведено под полезные для пользователя данные, другие - под заголовок (header) или префикс, по которому определяется начало и номер сектора и окончание (trailer) или суффикс, где записывается контрольная сумма, необходимая для проверки сохранности диска.
Второй блок - механика жесткого диска, которая отвечает за вращение массива "блинов" и точное позиционирование системы считывающих головок. Каждой рабочей поверхности жесткого диска соответствует одна считывающая головка, причем размещаются они по-вертикали точным столбиком. А значит, в любой момент времени все головки находятся на дорожках с одинаковым номером. То есть, работают в пределах одного цилиндра. Третий блок включает электронную начинку - микросхемы, отвечающие за обработку данных, коррекцию возможных ошибок и управления механической частью, а также микросхемы кэш-памяти. Кластер (cluster) - это наименьшая область диска, которая выделяется для файла или его части. Каждый файл занимает на диске пространство, которое равняется целому числу кластеров. Как правило, кластер состоит из нескольких секторов. Для жестких дисков размер кластера определяется при форматировании и зависит от версии операционной системы и размера диска. Но дисковое пространство занимается неэффективно. Например, необходимо сохранить файл в 500 байт. Зная, что каждый файл может занимать пространство на целом числе кластеров, то в этом случае будет занят один кластер. Файл будет записан с потерей дискового пространства.

Качественные характеристики жесткого диска

Время поиска сектора . Время поиска сектора (latency time) - это среднее время, необходимое для того, чтобы искомый сектор оказался под головкой после ее выведения на дорожку. Среднее время поиска равняется половине периода вращения диска и рассчитывается по формуле: Среднее время поиска = 1/(число оборотов двигателя в секунду*2) То есть при частоте вращения 7200 об/хв. время поиска составляет величину 4,17 мс. Скорость чтения данных и спецификация . Средний показатель скорости чтения данных - около 40-45 Мбайт/с. Считается, что контроллер на материнской плате спецификации UDMA/33 обязан обеспечивать скорость чтения данных не менее 33 Мбайт/с. А современные спецификации, например, UDMA/100 и UDMA/133 должны гарантировать не менее 100 и 133 Мбайт/с. Скорость передачи данных определяет объемы данных, которые могут быть переданы из накопителя в компьютер и назад за определенные промежутки времени. Скорость передачи данных определяется двумя факторами:
  • Способом подключения накопителей, то есть производительностью интерфейса.
  • Скоростью считывания данных головками.
Скорость считывания данных (ее называют внутренней скоростью обмена данными и измеряют в Мбайт/с) можно определить по формуле: Скорость считывания данных = количество секторов на дорожке * 512* * частота вращения дисков / 1000000. Частота вращения дисков измеряется в об/с, 512 - количество байт данных в секторе. Среднее время поиска . Среднее время поиска (Average seek time) - среднестатистическое время, в течение которого головки смещаются из одного цилиндра на другой. Этот показатель зависит от конструкции привода головок и составляет величину до 10 мс. Среднее время доступа . Определяется как сумма среднего времени поиска и времени задержки и характеризует среднестатистическое время, необходимое для получения доступа к данным, записанным на произвольном секторе. Скорость вращения диска . Показатель, напрямую связанный со скоростью доступа и скоростью чтения данных. Существуют параметры 5400 об/хв., 7200 об/хв. (IDE); 10000 об/хв., 15000 об/хв. (SCSI). Жесткие диски подключаются к материнской плате при помощи специальных шлейфов-кабелей.

Таблица размещения файлов

Таблица размещения файлов - это область на диске, куда заносятся номера кластеров, которые занимаются файлами. Сюда не входят кластеры, которые содержат служебную информацию (загрузочные секторы, сама таблица размещения файлов и данные корневого каталога). В операционных системах производства Microsoft популярна файловая система FAT (File Location Table). На каждом логическом диске может быть создана отдельная файловая система. Таким образом, на одном жестком диске могут существовать файловые системы нескольких типов.

Популярные файловые системы

FAT . Эта файловая система используется в операционных системах MS DOS, Windows 3.x/9.x/2000, ME, XP, OS/2. HPFS . Название этой файловой системы пошло от High Реrfomаnce File System, что значит высокопродуктивная файловая система. Поддерживается операционными системами OS/2, Windows NT. NTFS . Название этой файловой системы пошло от Windows NT File System, что значит файловая система Windows NT/2000, поддерживается операционными системами Windows NT/2000, ХР.

Логические диски

Известно, что компьютер присваивает всем дискам, независимо от их конструкции логические имена А:, В:, С:. Имена А:, В: по умолчанию присваиваются накопителям на гибких дисках. Системному логическому диску, тому, на котором записана операционная система, присваивается имя С:. Пространство жесткого диска можно разбить на разделы и логические диски. Операционные системы работают с логическими дисками, а не с физическими. Преимущества развития винчестеров на несколько логических дисков:
  • Уменьшаются потери дискового пространства.
  • Упрощается структуризация данных.
  • Упрощается процесс дефрагментации диска, проверки на вирусы, и т. д.
На одном диске можно сохранять рабочие программы, на другом - документацию и архивы, игры (инсталляционные файлы). В случае сбоя в работе потеря информации минимизируется. Если вы не знаете
Понравилась статья? Поделиться с друзьями: