43
Архитектура компьютера Архитектура компьютера - это описание его организации и принципов функционирования его структурных элементов. Включает основные устройства ЭВМ и структуру связей между ними. В зависимости от вида перерабатываемой информации вычислительные машины подразделяют на два основных класса: аналоговые и цифровые. Аналоговый компьютер – это вычислительная машина, оперирующая информацией, представленной в виде непрерывных изменений некоторых физических величин. При этом в качестве физических переменных выступают сила тока электрической цепи, угол поворота вала, скорость и ускорение движения тела и т.п. Используя тот факт, что многие явления в природе математически описываются одними и теми же уравнениями, аналоговые вычислительные машины позволяют с помощью одного физического процесса моделировать различные другие процессы. Цифровой компьютер – это вычислительная машина, оперирующая информацией, представленной в дискретном виде. В настоящее время разработаны методы численного решения многих видов уравнений, что дало возможность решать на цифровых вычислительных машинах различные уравнения и задачи с помощью набора простых арифметических и логических операций. Поэтому если аналоговые вычислительные машины обычно предназначены для решения определенного класса задач, т.е. являются специализированными, то цифровой компьютер, как правило, универсальное вычислительное средство. Наибольшее распространение получили электронные вычислительные машины Поколения компьютеров – история развития вычислительной техники Можно выделить общие тенденции развития компьютеров: 1. Увеличение количества элементов на единицу площади. 2. Уменьшение размеров. 3. Увеличение скорости работы. 4. Снижение стоимости. 5. Развитие программных средств, с одной стороны, и упрощение, стандартизация аппаратных – с другой. Нулевое поколение. Механические вычислители

Архитектура компьютераbook-9.narod.ru/theory-2/arch_pc.doc  · Web viewАрхитектура компьютера - это описание его организации

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Архитектура компьютераbook-9.narod.ru/theory-2/arch_pc.doc  · Web viewАрхитектура компьютера - это описание его организации

Архитектура компьютера

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

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

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

Поколения компьютеров – история развития вычислительной техники

Можно выделить общие тенденции развития компьютеров:

1. Увеличение количества элементов на единицу площади.2. Уменьшение размеров.3. Увеличение скорости работы.4. Снижение стоимости.5. Развитие программных средств, с одной стороны, и упрощение, стандартизация

аппаратных – с другой.

Нулевое поколение. Механические вычислители

Аналитическая машина Бэббиджа

Обзор начинают со счетной машины Блеза Паскаля, которую он сконструировал в 1642 г. Эта машина могла выполнять лишь операции сложения и вычитания. В 70-х годах того же века Готфрид Вильгельм Лейбниц построил машину, умеющую выполнять операции не только сложения и вычитания, но и умножения и деления.

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

Page 2: Архитектура компьютераbook-9.narod.ru/theory-2/arch_pc.doc  · Web viewАрхитектура компьютера - это описание его организации

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

Первое поколение. Компьютеры на электронных лампах (194х-1955)

Быстродействие: несколько десятков тысяч операций в секунду.

Компьютеры первого поколения: Eniac, Edvac, Edsac, МЭСМ и др.

Особенности:

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

Второе поколение. Компьютеры на транзисторах (1955-1965)

Быстродействие: сотни тысяч операций в секунду.По сравнению с электронными лампами использование транзисторов позволило

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

Первый компьютер на транзисторах TX стал прототипом для компьютеров ветки PDP фирмы DEC, которые можно считать родоначальниками компьютерной промышленности, т.к. появилось явление массовой продажи машин. DEC выпускает первый миникомпьютер (размером со шкаф).

Компьютер 6600 фирмы CDC, который разработал Сеймур Крей, имел преимущество над другими компьютерами того времени - быстродействие, которое достигалось за счет параллельного выполнения команд.

Третье поколение. Компьютеры на интегральных схемах (1965-1980)

Быстродействие: миллионы операций в секунду.Интегральная схема представляет собой электронную схему, вытравленную на

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

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

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

Page 3: Архитектура компьютераbook-9.narod.ru/theory-2/arch_pc.doc  · Web viewАрхитектура компьютера - это описание его организации

Четвертое поколение. Компьютеры на больших (и сверхбольших) интегральных схемах (1980-…)

Быстродействие: сотни миллионов операций в секунду.Появилась возможность размещать на одном кристалле не одну интегральную схему,

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

В конце 70-х – начале 80-х популярностью пользовался компьютера Apple, разработанный Стивом Джобсом и Стивом Возняком. Позднее в массовое производство был запущен персональный компьютер IBM PC на процессоре Intel.

Позднее появились суперскалярные процессоры, способные выполнять множество команд одновременно, а также 64-разрядные компьютеры.

Типы компьютеров.

Обычно компьютеры классифицируют по производительности и способу использования.

Персональные компьютеры (ПК)

Различают стационарные и портативные (ноутбуки).Для персональных компьютеров обязательно наличие монитора и ряда других периферийных устройств. В блоке ПК находятся материнская (системная) плата, процессор, различная память (ОЗУ, жесткий диск), устройства ввода-вывода, интерфейсы периферийных устройств и др.

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

Игровые компьютеры

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

В качестве примера игрового компьютера можно привести Sony PlayStation и Xbox.

Карманные компьютеры (КПК, планшеты, смартфоны)

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

Микроконтроллеры

Page 4: Архитектура компьютераbook-9.narod.ru/theory-2/arch_pc.doc  · Web viewАрхитектура компьютера - это описание его организации

Микроконтроллеры устанавливаются на различные бытовые и технические устройства (сотовые телефоны, стиральные машины, принтеры, телевизоры, автомобили и др.). Они предоставляют человеку возможность управления устройством.

Микроконтроллер, несмотря на свои размеры, является полноценным вычислительным устройством, т.к. имеет память, процессор и средства ввода-вывода.

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

Микроконтроллеры производятся большими партиями.

Серверы

Серверы отличаются от ПК лишь своей мощностью (серверы мощнее) и необязательностью присутствия монитора и др. периферийных устройств. Используются в сетях.

У серверов обычно увеличены объемы памяти (ОЗУ и жесткий диск) и установлены высокоскоростные сетевые интерфейсы.

Мейнфреймы

Мейнфреймы представляют собой большие компьютеры, производящие централизованную обработку данных больших объемов. Пользователи получают доступ через терминалы (клавиатура+монитор) и/или ПК, в основном предназначенные для ввода и вывода информации. Количество подключаемых терминалов обычно составляет несколько сотен. Мейнфреймы характеризуются высокой надежностью. Мейнфреймы достаточно дорого стоят. Используются в больших организациях (банки, аэропорты, правительственные учреждения).

Суперкомпьютеры

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

Рабочие станции

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

История персональных компьютеров

С 1975 г. в США было начато серийное производство персональных компьютеров (ПК). ПК появился на базе мини- и микро ЭВМ для обеспечения персональных вычислений, т.е. для работы специалиста в той или иной предметной области на своем рабочем месте. С 1981 г. стали выпускаться персональные ЭВМ, имеющие блочно-модульную конструкцию.

Широкое распространение мини-ЭВМ в начале 1970-х гг. определялось необходимостью приблизить компьютер к пользователю. Мини-ЭВМ устанавливались на предприятиях и в организациях, где использование больших ЭВМ было экономически невыгодным.

Так как технической основой ПК служит микропроцессор, то именно их развитие определило смену поколений персональных ЭВМ:

Page 5: Архитектура компьютераbook-9.narod.ru/theory-2/arch_pc.doc  · Web viewАрхитектура компьютера - это описание его организации

1. 8-разрядный микропроцессор (1975 – 1980 гг.);2. 16-разрядный (1981 – 1985 гг.);3. 32-разрядный (1986 – 1992 гг.);4. 64-разрядный (1993 г. – по настоящее время).

Важную роль в развитии ПК сыграло появление компьютера IBM PC, произведенного корпорацией IBM (США) на базе микропроцессора Intel-8086 в 1981 г. Этот персональный компьютер занял ведущее место на рынке себе подобных. Его основное преимущество – так называемая открытая архитектура, благодаря которой пользователи могут расширять возможности приобретенной ЭВМ, добавляя различные периферийные устройства и модернизируя компьютер. В дальнейшем другие фирмы начали создавать свои ПК, но компьютер IBM PC стал неким стандартом в классе персональных компьютеров. В наши дни более 85% всех продаваемых ПЭВМ базируется на архитектуре IBM PC.

Принципы фон Неймана (Архитектура фон Неймана)

В 1946 году Д. фон Нейман, Г. Голдстайн и А. Беркс в своей совместной статье изложили новые принципы построения и функционирования ЭВМ. Впоследствии на основе этих принципов производились первые два поколения компьютеров. В более поздних поколениях происходили некоторые изменения, хотя принципы Неймана актуальны и сегодня.

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

Принципы фон Неймана1. Использование двоичной системы счисления в вычислительных машинах.

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

2. Программное управление ЭВМ. Работа ЭВМ контролируется программой, состоящей из набора команд. Команды выполняются последовательно друг за другом. Созданием машины с хранимой в памяти программой было положено начало тому, что мы сегодня называем программированием.

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

4. Ячейки памяти ЭВМ имеют адреса, которые последовательно пронумерованы. В любой момент можно обратиться к любой ячейке памяти по ее адресу. Этот принцип открыл возможность использовать переменные в программировании.

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

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

Для сравнения, программа компьютера ENIAC (где не было хранимой в памяти программы) определялась специальными перемычками на панели. Чтобы

Page 6: Архитектура компьютераbook-9.narod.ru/theory-2/arch_pc.doc  · Web viewАрхитектура компьютера - это описание его организации

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

Как работает машина фон Неймана

Машина фон Неймана состоит из запоминающего устройства (памяти) - ЗУ, арифметико-логического устройства - АЛУ, устройства управления – УУ, а также устройств ввода и вывода.

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

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

Page 7: Архитектура компьютераbook-9.narod.ru/theory-2/arch_pc.doc  · Web viewАрхитектура компьютера - это описание его организации

Арифметико-логическое устройство выполняет указанные командами операции над указанными данными.

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

УУ управляет всеми частями компьютера. От управляющего устройства на другие устройства поступают сигналы «что делать», а от других устройств УУ получает информацию об их состоянии.

Управляющее устройство содержит специальный регистр (ячейку), который называется «счетчик команд». После загрузки программы и данных в память в счетчик команд записывается адрес первой команды программы. УУ считывает из памяти содержимое ячейки памяти, адрес которой находится в счетчике команд, и помещает его в специальное устройство — «Регистр команд». УУ определяет операцию команды, «отмечает» в памяти данные, адреса которых указаны в команде, и контролирует выполнение команды. Операцию выполняет АЛУ или аппаратные средства компьютера.

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

В современных компьютерах функции УУ и АЛУ выполняет одно устройство, называемое центральным процессором.

Устройство процессора и его назначение

Ключевыми компонентами процессора являются арифметико-логическое устройство (АЛУ), регистры и устройство управления. АЛУ выполнят основные математические и логические операции. Все вычисления производятся в двоичной системе счисления. От устройства управления зависит согласованность работы частей самого процессора и его связь с другими (внешними для него) устройствами. В регистрах временно хранятся текущая команда, исходные, промежуточные и конечные данные (результат вычислений АЛУ). Разрядность всех регистров одинакова.

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

Page 8: Архитектура компьютераbook-9.narod.ru/theory-2/arch_pc.doc  · Web viewАрхитектура компьютера - это описание его организации

История развития процессора.

Первым этапом, затронувшим период с 1940-х по конец 1950-х годов, было создание процессоров с использованием электромеханических реле, ферритовых сердечников (устройств памяти) и вакуумных ламп. Они устанавливались в специальные разъёмы на модулях, собранных в стойки. Большое количество таких стоек, соединённых проводниками, в сумме представляли процессор. Отличительной особенностью была низкая надёжность, низкое быстродействие и большое тепловыделение.

Вторым этапом, с середины 1950-х до середины 1960-х, стало внедрение транзисторов. Транзисторы монтировались уже на близкие к современным по виду платам, устанавливаемым в стойки. Как и ранее, в среднем процессор состоял из нескольких таких стоек. Возросло быстродействие, повысилась надёжность, уменьшилось энергопотребление.

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

Page 9: Архитектура компьютераbook-9.narod.ru/theory-2/arch_pc.doc  · Web viewАрхитектура компьютера - это описание его организации

Четвёртым этапом, в начале 1970-х годов, стало создание, благодаря прорыву в технологии создания БИС и СБИС (больших и сверхбольших интегральных схем, соответственно), микропроцессора - микросхемы, на кристалле которой физически были расположены все основные элементы и блоки процессора. Фирма Intel в 1971 году создала первый в мире 4-разрядный микропроцессор 4004, предназначенный для использования в микрокалькуляторах. Постепенно практически все процессоры стали выпускаться в формате микропроцессоров. Исключением долгое время оставались только малосерийные процессоры, аппаратно оптимизированные для решения специальных задач (например, суперкомпьютеры или процессоры для решения ряда военных задач), либо процессоры, к которым предъявлялись особые требования по надёжности, быстродействию или защите от электромагнитных импульсов и ионизирующей радиации. Постепенно, с удешевлением и распространением современных технологий, эти процессоры также начинают изготавливаться в формате микропроцессора.

Сейчас слова микропроцессор и процессор практически стали синонимами, но тогда это было не так, потому что обычные (большие) и микропроцессорные ЭВМ мирно сосуществовали ещё по крайней мере 10-15 лет, и только в начале 1980-х годов микропроцессоры вытеснили своих старших собратьев. Тем не менее, центральные процессорные устройства некоторых суперкомпьютеров даже сегодня представляют собой сложные комплексы, построенные на основе микросхем большой и сверхбольшой степени интеграции.

Переход к микропроцессорам позволил потом создать персональные компьютеры, которые проникли почти в каждый дом.

Первым общедоступным микропроцессором был 4-разрядный Intel 4004, представленный 15 ноября 1971 года корпорацией Intel. Он содержал 2300 транзисторов, работал на тактовой частоте 92,6 кГц и стоил 300 долл.

Далее его сменили 8-разрядный Intel 8080 и 16-разрядный 8086, заложившие основы архитектуры всех современных настольных процессоров. Из-за распространённости 8-разрядных модулей памяти был выпущен дешевый 8088, упрощенная версия 8086, с 8-разрядной шиной памяти.

Затем проследовала его модификация, 80186.

В процессоре 80286 появился защищённый режим с 24-битной адресацией, позволявший использовать до 16 Мб памяти.

Процессор Intel 80386 появился в 1985 году и привнёс улучшенный защищённый режим, 32-битную адресацию, позволившую использовать до 4 Гб оперативной памяти и поддержку механизма виртуальной памяти. Эта линейка процессоров построена на регистровой вычислительной модели.

Параллельно развиваются микропроцессоры, взявшие за основу стековую вычислительную модель.

За годы существования микропроцессоров было разработано множество различных их архитектур. Многие из них (в дополненном и усовершенствованном виде) используются и поныне. Например, архитектура Intel x86, развившаяся вначале в 32-битную IA-32, а позже в 64-битную x86-64 (которая у Intel называется EM64T). Процессоры архитектуры x86 вначале использовались только в персональных компьютерах компании IBM (IBM PC), но в

Page 10: Архитектура компьютераbook-9.narod.ru/theory-2/arch_pc.doc  · Web viewАрхитектура компьютера - это описание его организации

настоящее время всё более активно используются во всех областях компьютерной индустрии, от суперкомпьютеров до встраиваемых решений. Также можно перечислить такие архитектуры как Alpha, POWER, SPARC, PA-RISC, MIPS (RISC-архитектуры) и IA-64 (EPIC-архитектура).

В современных компьютерах процессоры выполнены в виде компактного модуля (размерами около 5х5х0,3 см), вставляющегося в ZIF-сокет (AMD) или на подпруживающую конструкцию - LGA (Intel). Особенностью разъёма LGA является то, что выводы перенесены с корпуса процессора на сам разъём - socket, находящийся на материнской плате. Большая часть современных процессоров реализована в виде одного полупроводникового кристалла, содержащего миллионы, а с недавнего времени даже миллиарды транзисторов.

Работа процессора

Работает процессор под управлением программы, находящейся в оперативной памяти.

Блок управления помимо прочего отвечает за вызов очередной команды и определение ее типа.

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

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

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

Конвейерная архитектура

Конвейерная архитектура была введена в центральный процессор с целью повышения быстродействия. Обычно для выполнения каждой команды требуется осуществить некоторое количество однотипных операций, например: выборка команды из ОЗУ, дешифровка команды, адресация операнда в ОЗУ, выборка операнда из ОЗУ, выполнение команды, запись результата в ОЗУ. Каждую из этих операций сопоставляют одной ступени конвейера. Например, конвейер микропроцессора с архитектурой MIPS-I содержит четыре стадии:

получение и декодирование инструкции, адресация и выборка операнда из ОЗУ, выполнение арифметических операций, сохранение результата операции.

После освобождения k-й ступени конвейера она сразу приступает к работе над следующей командой. Если предположить, что каждая ступень конвейера тратит единицу времени на свою работу, то выполнение команды на конвейере длиной в n ступеней займёт n

Page 11: Архитектура компьютераbook-9.narod.ru/theory-2/arch_pc.doc  · Web viewАрхитектура компьютера - это описание его организации

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

Действительно, при отсутствии конвейера выполнение команды займёт n единиц времени (так как для выполнения команды по-прежнему необходимо выполнять выборку, дешифровку и т. д.), и для исполнения m команд понадобится n*m единиц времени; при использовании конвейера (в самом оптимистичном случае) для выполнения m команд понадобится всего лишь n+m единиц времени.

Факторы, снижающие эффективность конвейера:

1. Простой конвейера, когда некоторые ступени не используются (например, адресация и выборка операнда из ОЗУ не нужны, если команда работает с регистрами).

2. Ожидание: если следующая команда использует результат предыдущей, то последняя не может начать выполняться до выполнения первой (это преодолевается при использовании внеочередного выполнения команд — out-of-order execution).

3. Очистка конвейера при попадании в него команды перехода (эту проблему удаётся сгладить, используя предсказание переходов).

Современные процессоры имеют более 30 ступеней в конвейере, что повышает производительность процессора, но, однако, приводит к увеличению длительности простоя (например, в случае ошибки в предсказании условного перехода). Не существует единого мнения по поводу оптимальной длины конвейера: различные программы могут иметь различные требования.

Суперскалярная архитектура

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

Гарвардская архитектура

Гарвардская архитектура отличается от архитектуры фон Неймана тем, что программный код и данные хранятся в разных областях памяти. В такой архитектуре невозможны многие методы программирования (например, программа не может во время выполнения менять свой код; невозможно динамически перераспределять память между программным кодом и данными); зато гарвардская архитектура позволяет более эффективно выполнять работу в случае ограниченных ресурсов, поэтому она часто применяется во встраиваемых системах.

Параллельная архитектура

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

Page 12: Архитектура компьютераbook-9.narod.ru/theory-2/arch_pc.doc  · Web viewАрхитектура компьютера - это описание его организации

Для преодоления этого недостатка предлагались и предлагаются архитектуры процессоров, которые называются параллельными. Параллельные процессоры используются в суперкомпьютерах.

Возможными вариантами параллельной архитектуры могут служить (по классификации Флинна):

SISD  — один поток команд, один поток данных; SIMD  — один поток команд, много потоков данных; MISD  — много потоков команд, один поток данных; MIMD  — много потоков команд, много потоков данных.

Hyper-threading

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

CISC-процессоры

Complex instruction set computer — вычисления со сложным набором команд. Процессорная архитектура, основанная на усложнённом наборе команд. Типичными представителями CISC являются микропроцессоры семейства x86 (хотя уже много лет эти процессоры являются CISC только по внешней системе команд: в начале процесса исполнения сложные команды разбиваются на более простые микрооперации (МОП), исполняемые RISC-ядром).

RISC-процессоры

Reduced instruction set computer — вычисления с упрощённым набором команд (в литературе слово reduced нередко ошибочно переводят как «сокращённый»). Архитектура процессоров, построенная на основе упрощённого набора команд, характеризуется наличием команд фиксированной длины, большого количества регистров, операций типа регистр-регистр, а также отсутствием косвенной адресации. Концепция RISC разработана Джоном Коком из IBM Research, название придумано Дэвидом Паттерсоном (David Patterson).

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

Среди первых реализаций этой архитектуры были процессоры MIPS, PowerPC, SPARC, Alpha, PA-RISC. В мобильных устройствах широко используются ARM-процессоры.

Page 13: Архитектура компьютераbook-9.narod.ru/theory-2/arch_pc.doc  · Web viewАрхитектура компьютера - это описание его организации

MISC-процессоры

Minimum instruction set computer — вычисления с минимальным набором команд. Дальнейшее развитие идей команды Чака Мура, который полагает, что принцип простоты, изначальный для RISC-процессоров, слишком быстро отошёл на задний план. В пылу борьбы за максимальное быстродействие, RISC догнал и перегнал многие CISC процессоры по сложности. Архитектура MISC строится на стековой вычислительной модели с ограниченным числом команд (примерно 20-30 команд).

VLIW-процессоры

Very long instruction word — сверхдлинное командное слово. Архитектура процессоров с явно выраженным параллелизмом вычислений, заложенным в систему команд процессора. Являются основой для архитектуры EPIC. Ключевым отличием от суперскалярных CISC-процессоров является то, что для них загрузкой исполнительных устройств занимается часть процессора (планировщик), на что отводится достаточно малое время, в то время как загрузкой вычислительных устройств для VLIW-процессора занимается компилятор, на что отводится существенно больше времени (качество загрузки и, соответственно, производительность теоретически должны быть выше). Примером VLIW-процессора является Intel Itanium.

Система команд

Система команд - соглашение о предоставляемых архитектурой средствах программирования, а именно: определённых типах данных, инструкций, системы регистров, методов адресации, моделей памяти, способов обработки прерываний и исключений, методов ввода и вывода.

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

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

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

Page 14: Архитектура компьютераbook-9.narod.ru/theory-2/arch_pc.doc  · Web viewАрхитектура компьютера - это описание его организации

MMX (MultiMedia eXtension)

Расширение для мультимедиа, которое реализовано фирмой Intel в серии процессоров MMX с тактовой частотой 166 МГц и более.

Процессор Pentium MMX отличается от обычного Pentium по шести основным пунктам:

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

Увеличение производительности - до 60 % - возможно только при использовании программ, правильно применяющих технологию MMX в обработке данных.

SSE (Streaming SIMD Extensions, потоковое SIMD-расширение процессора)

Технология SSE позволяла преодолеть 2 основные проблемы MMX - при использовании MMX невозможно было одновременно использовать инструкции сопроцессора, так как его регистры были общими с регистрами MMX, и возможность MMX работать только с целыми числами.

SSE включает в архитектуру процессора восемь 128-битных регистров и набор инструкций, работающих со скалярными и упакованными типами данных.

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

SSE2 (англ. Streaming SIMD Extensions 2, потоковое SIMD-расширение процессора) - это набор инструкций, разработанный Intel и впервые представленный в процессорах серии Pentium 4. SSE2 расширяет набор инструкций SSE с целью полностью вытеснить MMX. Набор SSE2 добавил 144 новые команды к SSE.

Процессор, поддерживающий SSE2, требуется для установки Windows 8 и Microsoft Office 2013 - чтобы повысить надёжность сторонних программ и драйверов, работающих в Windows 8.

SSE2 использует восемь 128-битных регистров, включённых в архитектуру x86 с вводом расширения SSE, каждый из которых трактуется как 2 последовательных значения с плавающей точкой двойной точности.

SSE2 включает в себя набор инструкций, который производит операции со скалярными и упакованными типами данных.

SSE2 содержит инструкции для потоковой обработки целочисленных данных в тех же 128-битных регистрах, что делает это расширение более предпочтительным для целочисленных вычислений, нежели использование набора инструкций MMX.

SSE2 включает в себя две части - продолжение SSE и продолжение MMX. Продолжение SSE работает с вещественными числами.Продолжение MMX работает с целыми. В SSE2 регистры по сравнению с MMX удвоились (64 бита -> 128 битов). Т.к. скорость выполнения инструкций не изменилась, при оптимизации под SSE2 программа получает двукратный прирост производительности.

Если программа уже была оптимизирована под MMX, то оптимизация под SSE2 даётся сравнительно легко в силу сходности системы команд.

Page 15: Архитектура компьютераbook-9.narod.ru/theory-2/arch_pc.doc  · Web viewАрхитектура компьютера - это описание его организации

SSE2 включает в себя ряд команд управления кэшем, предназначенных для минимизации загрязнения кэша при обработке объёмных потоков данных.

SSE2 включает в себя сложные дополнения к командам преобразования чисел

SSE3 - третья версия SIMD-расширения Intel, потомок SSE, SSE2 и MMX. Набор SSE3 содержит 13 новых инструкций. Наиболее заметное изменение -

возможность горизонтальной работы с регистрами. Если говорить более конкретно, добавлены команды сложения и вычитания нескольких значений, хранящихся в одном регистре. Эти команды упростили ряд DSP и 3D-операций. Существует также новая команда для преобразования значений с плавающей точкой в целые без необходимости вносить изменения в глобальном режиме округления.

SSE4 - набор команд микроархитектуры Intel Corе. Добавлены инструкции, ускоряющие компенсацию движения в видеокодеках,

быстрое чтение из некэшируемой памяти, множество инструкций для упрощения векторизации программ компиляторами. Кроме того, в SSE4.2 добавлены инструкции обработки строк 8/16 битных символов, вычисления циклического избыточного кода.

3DNow! - дополнительное расширение MMX для процессоров AMD, начиная с AMD K6 3D.

Причиной создания 3DNow! послужило стремление завоевать превосходство над процессорами производства компании Intel в области обработки мультимедийных данных.

Технология 3DNow! ввела 21 новую команду процессора и возможность оперировать 32-битными вещественными типами в стандартных MMX-регистрах. Также были добавлены специальные инструкции, оптимизирующие переключение в режим MMX/3DNow! и работу с кэшем процессора. Таким образом, технология 3DNow! расширяла возможности технологии MMX, не требуя введения новых режимов работы процессора и новых регистров.

Материнские платы.М.П. - сложная многослойная печатная плата, являющаяся основой построения

вычислительной системы (компьютера). В некоторых сложных электронных приборах и устройствах (коммуникатор, планшет) основная (наибольшая, наиболее значимая) плата устройства также может называться материнской или системной.

В качестве основных (несъёмных) частей материнская плата имеет разъём процессора, микросхемы чипсета, загрузочного ПЗУ, контроллеров шин и интерфейсов ввода-вывода и периферийных устройств. ОЗУ в виде модулей памяти устанавливаются в специально предназначенные разъёмы; в слоты расширения устанавливаются карты расширения.

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

Ещё в середине прошлого века, платы компьютера содержали до двух сотен микросхем. Материнская плата, формирующая основу вычислительной системы современного компьютера общего назначения, содержат две основные большие микросхемы:

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

Page 16: Архитектура компьютераbook-9.narod.ru/theory-2/arch_pc.doc  · Web viewАрхитектура компьютера - это описание его организации

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

Южный мост - это функциональный контроллер, известен как контроллер ввода-вывода или ICH (In/Out Controller Hub). Отвечает за так называемые "медленные" операции, к которым относится отработка взаимодействия между интерфейсами IDE, SATA, USB, LAN, Embeded Audio и северным мостом системы, который, в свою очередь, напрямую связан с процессором и другими важными компонентами, такими как оперативная память или видеоподсистема. Также южный мост отвечает за обработку данных на шинах PCI, PCIe. Также южный мост отвечает за SM шину (которая используется для управления вентиляторами на плате), DMA-контроллер, IRQ-контроллер, системные часы, BIOS, системы энергообеспечения.

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

Page 17: Архитектура компьютераbook-9.narod.ru/theory-2/arch_pc.doc  · Web viewАрхитектура компьютера - это описание его организации

Форм-фактор материнской платы - стандарт, определяющий размеры материнской платы для компьютера, места её крепления к шасси; расположение на ней интерфейсов шин, портов ввода-вывода, разъёма процессора, слотов для оперативной памяти, а также тип разъема для подключения блока питания.

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

- Современные и массово применяемые форматы: ATX; microATX.- Внедряемые форматы: Mini-ITX, MicroBTX.Существуют материнские платы, не соответствующие никаким из существующих

форм-факторов. Это принципиальное решение производителя, обусловленное желанием создать на рынке несовместимый с существующими продуктами «бренд» и эксклюзивно производить к нему периферийные устройства и аксессуары.

Контроллеры и шина

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

1. Для каждого внешнего устройства ПК имеется электронная схема, которая им управляет. Его называют контроллером или адаптером.

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

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

Шина персонального компьютера IBM PC XT была 8-разрядной. Затем фирма IBM PC AT ввела стандарт 16-разрядной шины ISA. Все IBM-совместимые компьютеры перенимали стандарт ISA. В 1987 г. появилась 32-х разрядная шина для IBM PS/2, она называлась MCA.

Эта шина была несовместима со стандартной – ISA. В 1989 году появилась новая 32-х разрядная шина EISA, совместимая с ISA. Позже развилась концепция локальной шины, повышающей быстродействие за счет установки к ней дополнительной шины. Популярным стандартом стал PCI (64 разряда). AGP-видео шина работает на частоте процессора.

Оперативная память компьютера (ОЗУ, RAM)

Сокращенно оперативную память компьютера называют ОЗУ (оперативное запоминающее устройство) или RAM (random access memory — память с произвольным доступом).

Page 18: Архитектура компьютераbook-9.narod.ru/theory-2/arch_pc.doc  · Web viewАрхитектура компьютера - это описание его организации

Назначение ОЗУ Хранение данных и команд для дальнейшей их передачи процессору для обработки.

Информация может поступать из оперативной памяти не сразу на обработку процессору, а в более быструю, чем ОЗУ, кэш-память процессора.

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

Особенности работы ОЗУ

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

ОЗУ представляет собой запоминающее устройство с произвольным доступом. Это означает, что прочитать/записать данные можно из любой ячейки ОЗУ в любой момент времени. Для сравнения, например, магнитная лента является запоминающим устройством с последовательным доступом.

Логическое устройство оперативной памяти

Оперативная память состоит их ячеек, каждая из которых имеет свой собственный адрес. Все ячейки содержат одинаковое число бит. Соседние ячейки имеют последовательные адреса. Адреса памяти также как и данные выражаются в двоичных числах.

Обычно одна ячейка содержит 1 байт информации (8 бит, то же самое, что 8 разрядов) и является минимальной единицей информации, к которой возможно обращение. Однако многие команды работают с так называемыми словами. Слово представляет собой область памяти, состоящую из 4 или 8 байт (возможны другие варианты).

Типы оперативной памяти

Принято выделять два вида оперативной памяти: статическую (SRAM) и динамическую (DRAM). SRAM используется в качестве кэш-памяти процессора, а DRAM - непосредственно в роли оперативной памяти компьютера.

SRAM состоит из триггеров. Триггеры могут находиться лишь в двух состояниях: «включен» или «выключен» (хранение бита). Триггер не хранит заряд, поэтому переключение между состояниями происходит очень быстро. Однако триггеры требуют более сложную технологию производства. Это отражается на цене устройства. Также триггер, состоящий из группы транзисторов и связей между ними, занимает много места (на микроуровне), в результате SRAM получается достаточно большим устройством.

В DRAM нет триггеров, а бит сохраняется за счет использования одного транзистора и одного конденсатора. Получается дешевле и компактней. Однако конденсаторы хранят заряд, а процесс зарядки-разрядки более длительный, чем переключение триггера. Как следствие, DRAM работает медленнее. Второй минус – это самопроизвольная разрядка

Page 19: Архитектура компьютераbook-9.narod.ru/theory-2/arch_pc.doc  · Web viewАрхитектура компьютера - это описание его организации

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

Жесткий диск

Накопитель на жёстких магнитных дисках или НЖМД - запоминающее устройство (устройство хранения информации) произвольного доступа, основанное на принципе магнитной записи. Является основным накопителем данных в большинстве компьютеров.

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

Информация в НЖМД записывается на жёсткие (алюминиевые или стеклянные) пластины, покрытые слоем ферромагнитного материала, чаще всего двуокиси хрома - магнитные диски. В НЖМД используется одна или несколько пластин на одной оси. Считывающие головки в рабочем режиме не касаются поверхности пластин благодаря прослойке набегающего потока воздуха, образующейся у поверхности при быстром вращении. Расстояние между головкой и диском составляет несколько нанометров, а отсутствие механического контакта обеспечивает долгий срок службы устройства. При отсутствии вращения дисков головки находятся у шпинделя или за пределами диска в безопасной зоне, где исключён их нештатный контакт с поверхностью дисков.

Жесткий диск позволяет хранить большие объемы информации. Емкость жестких дисков современных компьютеров может составлять терабайты.

Первый жесткий диск был создан фирмой IBM в 1973 году. Он позволял хранить до 16 Мбайт информации. Поскольку этот диск имел 30 цилиндров, разбитых на 30 секторов, то он обозначался как 30/30. По аналогии с автоматическими винтовками, имеющими калибр 30/30, этот диск получил прозвище "винчестер".

При работе с дисками используются следующие понятия.

Дорожка – концентрическая окружность на магнитном диске, которая является основой для записи информации.

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

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

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

Любой магнитный диск имеет логическую структуру, которая включает в себя следующие элементы:

загрузочный сектор; таблицы размещения файлов; область данных.

Page 20: Архитектура компьютераbook-9.narod.ru/theory-2/arch_pc.doc  · Web viewАрхитектура компьютера - это описание его организации

Загрузочный сектор (Boot Record) занимает сектор с номером 0. В нем содержится небольшая программа IPL2 (Initial Program Loading 2), с помощью которой компьютер определяет возможность загрузить операционную систему с данного диска.

Особенностью винчестера является наличие помимо загрузочного сектора еще одной области - главного загрузочного сектора (Master Boot Record). Дело в том, что единый жесткий диск может быть разбит на несколько логических дисков. Для главного загрузочного сектора на жестком диске всегда выделяется физический сектор 1. Этот сектор содержит программу IPL1 (Initial Program Loading 1), которая при своем выполнении определяет загрузочный диск.

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

Область данных (Data Area) занимает основную часть дискового пространства и служит непосредственно для хранения данных.

Разделы жесткого диска

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

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

В Linux разделы диска принято именовать так: hda1, hda2, hda3 и т.д. - для первого (или единственного) физического жесткого диска компьютера.

Если на компьютере стоит несколько жестких дисков, то разделы второго будут именоваться так: hdb1, hdb2, hdb3 и т.д. Третьего - hdс1, hdс2, hdс3 и т.д.

Основных разделов (primary partition) на каждом жестком диске может быть всего четыре. Соответственно от hd_1 до hd_4. (Знак подчеркивания здесь употребляется для обозначения буквы того или иного физического жесткого диска).

Однако часто бывает так, что четырех разделов диска становится недостаточно. Поэтому один из основных разделов диска объявляется расширенным (extended partition) и разбивается на подразделы, начиная с hd_5 и далее.

Пример:

Page 21: Архитектура компьютераbook-9.narod.ru/theory-2/arch_pc.doc  · Web viewАрхитектура компьютера - это описание его организации

В данном примере на компьютере установлен один жесткий диск, имеющий четыре основных раздела (хотя их может быть и меньше) – hda1, hda2, hda3, hda4. Последний является расширенным и разбит на пять частей (hda5, hda6, hda7, hda8, hda9), суммарный размер которых равен около 60 гигабайт.

На рисунке на графическом изображении жесткого диска расширенный раздел обведен голубой рамкой.

Второй столбец таблицы – Filesystem – отражает тип файловой системы раздела. Для разделов операционных систем семейства Windows используется файловая система NTFS или Fat32. Для разделов Linux – ext3, ext2 или другие.

Раздел hda5, в данном случае, отведен на раздел подкачки (linux-swap) для систем Linux.

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

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

Аббревиатура FAT (File Allocation Table) означает «таблица размещения файлов». Этот термин относится к линейной табличной структуре со сведениями о файлах – именами файлов, их атрибутами и другими данными, определяющими местоположение файлов или их фрагментов в среде FAТ. Элемент FAТ определяет фактическую область диска, в котором хранится начало физического файла. В файловой системе FAT логическое дисковое пространство любого логического диска состоит из двух областей:

- системная область – создается при форматировании диска и обновляется при манипулировании файловой структурой;

- область данных – содержит файлы и каталоги, подчиненные корневому каталогу, доступна через пользовательский интерфейс.

Системная область состоит из следующих компонентов:- загрузочной записи;- зарезервированных секторов;- таблицы размещения файлов (FAT);- корневого каталога.Таблица размещения файлов представляет собой карту (образ) области данных, в

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

Page 22: Архитектура компьютераbook-9.narod.ru/theory-2/arch_pc.doc  · Web viewАрхитектура компьютера - это описание его организации

разбивается на кластеры. Один или несколько смежных секторов в логическом дисковом адресном пространстве (только в области данных) объединяются в единый дисковый блок – кластер.

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

В таблице FAT кластеры, принадлежащие одному файлу (некорневому каталогу), связываются в цепочки. Для указания номера кластера в системе управления файлами FAT16 используется 16-битовое слово, следовательно, можно хранить информацию максимум о 65536 кластерах. Так как FAT используется при доступе к диску очень интенсивно, она загружается в оперативную память и находится там максимально долго.

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

Файлы на дисках имеют 4 атрибута, которые могут сбрасываться и устанавливаться пользователем: Archive (архивный), System (системный), Hidden (скрытый) и Read-only (только чтение).

Файловая система FAT первоначально была ориентирована на небольшие диски и простые структуры каталога. Затем ее усовершенствовали для обеспечения работы с большими дисками и мощными персональными компьютерами. Windows XP и Windows Server 2003 поддерживают файловую систему FAT по трем причинам:

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

для идентификации кластеров на диске. Двенадцатиразрядный идентификатор кластеров в FAT12 ограничивает размер дискового раздела 212 (4096) кластерами. В Windows используются кластеры размером от 512 байт до 8 Кб, так что размер тома FAT12 ограничен 32 Мб. Поэтому Windows использует FAT12 как формат 5,25 и 3,5-дюймовых дискет, способных хранить до 1,44 Мб данных. FAT16 за счет 16-разрядных идентификаторов кластеров может адресовать до 216 (65536) кластеров. В Windows размер кластера FAT16 варьируется от 512 байт до 64 Кб, поэтому размер тома FАТ16 ограничен 4 Гб. Размер кластеров, используемых Windows, зависит от размера тома.

Таблица 1. Размеры кластеров в FAT16 по умолчанию (в Windows)

№ п/п Размер тома (Мб) Размер кластера

1 0-32 512 байт2 33-64 1 Кб3 65-128 2 Кб4 129-256 4 Кб5 257-511 8 Кб6 512-1023 16 Кб7 1024-2047 32Кб8 2048-4095 64Кб

Page 23: Архитектура компьютераbook-9.narod.ru/theory-2/arch_pc.doc  · Web viewАрхитектура компьютера - это описание его организации

Файловая система FAT32 обеспечивает оптимальный доступ к жестким дискам, CD-ROM и сетевым ресурсам, повышая скорость и производительность всех операций ввода/вывода. FAТ32 представляет собой усовершенствованную версию FAT, предназначенную для использования на томах, объем которых превышает 2 Гбайта. Размер кластера в FAТ32 равен 4 кбайт. FAТ32 является полностью независимой 32-разрядной файловой системой и содержит многочисленные усовершенствования и дополнения по сравнению с FAT16. Принципиальное отличие FAТ32 заключается в более эффективном использовании дискового пространства за счет использования кластеров меньшего размера, что приводит к экономии дискового пространства. FAТ32 может перемещать корневой каталог и использовать резервную копию FAT вместо стандартной. Расширенная загрузочная запись FAТ32 позволяет создавать копии критических структур данных, что повышает устойчивость дисков к нарушениям структуры FAT по сравнению с предыдущими версиями. Корневой каталог представляет собой обычную цепочку кластеров, поэтому может находиться в произвольном месте диска, что снимает ограничение на размер корневого каталога.

FAT32 использует 32-разрядные идентификаторы кластеров, но при этом резервирует старшие 4 бита, так что эффективный размер идентификатора кластера составляет 28 бит. Поскольку максимальный размер кластеров FAT32 равен 32 Кб, теоретически FAT32 может работать с 8-терабайтными томами. Однако реализация FAT32 в Windows XP / Windows 2003 не позволяет создавать тома, превышающие 32 Гб, хотя операционная система может задействовать существующие тома FAT32 любого размера.

Таблица 2. Размеры кластеров в FAT32 по умолчанию (в Windows)

№ п/п Размер тома (Мб) Размер кластера

1 От 32 Мб до 8 Гб 4 2 8-16 Гб 8 3 16-32 Гб 16 4 32Гб 32

Файловая система FAT не обеспечивает функций защиты данных и автоматического восстановления.

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

Аббревиатура NTFS (New Technology File System) означает новая технология файловой системы. NTFS является наиболее надежной системой специально разработанной для Windows NT и усовершенствованной в более поздних версиях Windows. Она обладает характеристиками защищенности, поддерживая контроль доступа к данным и привилегии владельца, играющие важную роль в обеспечении целостности конфиденциальных данных. Папки и файлы NTFS могут иметь назначенные им права доступа вне зависимости от того, являются они общими или нет. Если файл будет скопирован из раздела или тома NTFS в раздел или на том FAT, все права доступа и другие уникальные атрибуты, присущие NTFS, будут утрачены.

NTFS использует 64-разрядные индексы кластеров, но Windows XP ограничивает размеры томов NTFS до значений, при которых возможна адресация 32-разрядными кластерами, то есть до 128 Тб (с использованием кластеров по 64 Кб).

Таблица 3. Размеры кластеров на томах NTFS

№ п/п Размер тома (Мб) Размер кластера

Page 24: Архитектура компьютераbook-9.narod.ru/theory-2/arch_pc.doc  · Web viewАрхитектура компьютера - это описание его организации

1 512 Мб и менее 512 байт2 513 - 1024 Мб 1 Кб3 1025 -2048 Мб 2 Кб4 более 2048 Мб (2 Гб) 4 Кб

Одно из важнейших свойств NTFS – самовосстановление. При неожиданном сбое системы информация о структуре папок и файлов на томе FAT может быть утеряна. NTFS протоколирует все вносимые изменения, что позволяет избежать разрушения данных о структуре тома (в некоторых случаях данные файлов могут быть утеряны).

Способность самовосстановления и поддержка целостности реализуется за счет использования протокола выполняемых действий и ряда других механизмов. NTFS рассматривает каждую операцию, модифицирующую системные файлы на NTFS-томах, как транзакцию1 и сохраняет информацию о такой транзакции в протоколе. Начатая транзакция может быть либо полностью завершена (commit), либо откатывается (rollback). В последнем случае NTFS-том возвращается в состояние, предшествующее началу транзакции. Для того чтобы управлять транзакциями, NTFS записывает все операции, входящие в транзакцию, в файл протокола, перед тем как осуществить запись на диск. После того как транзакция завершена, все операции выполняются. Таким образом, под управлением NTFS не может быть незавершенных операций. В случае дисковых сбоев незавершенные операции отменяются.

Под управлением NTFS также выполняются операции, позволяющие определять дефектные кластеры и отводить новые кластеры для файловых операций. Этот механизм называется cluster remapping. NTFS, по сравнению с FAT, поддерживает ряд дополнительных возможностей, основные из них:

- защита файлов и каталогов;- сжатие файлов;- поддержка многопоточных файлов;- отслеживание связей;- дисковые квоты;- шифрование;- точки повторной обработки;- точки соединения;- теневые копии.Защита файлов и папок. Структурой NTFS предусмотрено хранение для каждого файла

и каждой папки специального блока безопасности, который содержит следующую информацию:

- идентификатор (имя) пользователя, создавшего файл;- список контроля доступа, в котором перечислены разрешения доступа к файлу или

папке для пользователей и групп;- системный список контроля доступа, в котором перечислено, какие действия

(например, чтение, запись и т.п.) для каких пользователей и групп необходимо фиксировать в журнале аудита.

Это позволяет операционной системе: обеспечивать разграничение доступа к файлам и папкам и фиксировать действия, выполняемые пользователями над объектами. Поскольку на томах FAT подобная информация не хранится, то защита файлов и папок на них не осуществляется.

Сжатие файлов и каталогов. NTFS обеспечивает динамическое сжатие файлов и каталогов. Сжатие является атрибутом файла или каталога, который можно снять или установить. Сжатие возможно только на разделах, размер блока которых не превышает 4096 байтов. Если каталог имеет атрибут сжатый (compressed), все файлы, копируемые в него, тоже получат этот атрибут. Производительность компьютера при использовании сжатых

1 Транзакция – совокупность операций над данными, которая, с точки зрения обработки данных, либо выполняется полностью, либо совсем не выполняется

Page 25: Архитектура компьютераbook-9.narod.ru/theory-2/arch_pc.doc  · Web viewАрхитектура компьютера - это описание его организации

файлов возрастает до 50% в зависимости от типа хранимых данных. Такой результат достигается за счет повышения загрузки процессора в 3-5 раз. Однако на больших (более 4 Гб) разделах и на отказоустойчивых томах производительность заметно снижается. Поэтому рекомендуется использовать функцию сжатия на небольших томах в компьютерах с быстрыми процессорами или в многопроцессорных системах.

Многопоточные файлы. Например, нужно иметь две версии текста контракта: одну на русском, другую на языке, приемлемом для фирмы. Можно создать несколько разных версий файлов и пересылать их вместе, но удобнее использовать специальную версию текстового процессора, в меню которого можно указать желаемый язык документа, и он будет извлечен из одного общего файла. Для реализации такой функциональности применяются именованные потоки NTFS. При создании нового файла (например, текстовым редактором), данные по умолчанию заносятся в неименованный поток файла.

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

Отслеживание связей. Ярлыки играют важную роль организации доступа пользователя к программам и файлам. Однако они имеют и недостатки, одним из которых является нарушение связи между ярлыком и соответствующим ему ресурсом, если ресурс переносится в другое место или переименовывается. В Windows XP / Windows 2003 работает служба отслеживания изменившихся связей (Distributed Link Tracking), позволившая приложениям находить ресурс, соответствующий данному ярлыку, и связи OLE даже в случае, если этот ресурс был переименован или перенесен в другое место дерева папок.

Каждая связь состоит из двух частей – клиента и источника. Например, если документ Word содержит связь OLE с электронной таблицей Excel, сам документ является клиентом связи, а электронная таблица – источником связи. Служба отслеживания восстанавливает разрушенную связь в случаях, если:

- источник связи был переименован;- источник связи был перемещен с одного тома NTFS 5.0 на другой в пределах одного

компьютера;- источник связи был перемешен с тома NTFS 5.0 одного компьютера на том NTFS 5.0

другого компьютера;- том NTFS 5.0 с источником связи был физически перемещен с одного компьютера на

другой компьютер в пределах одного домена;- компьютер, на котором находится том NTFS 5.0 с источником связи, был

переименован, но остался в том же домене;- изменилось имя общего ресурса, где находится файл-источник связи, и образовалась

любая комбинация описанных выше случаев.Отслеживаются только источники связей, находящиеся на томах NTFS 5.0. Если

источник перемещен в другую файловую систему, то попытки отследить изменившуюся связь будут предприняты, но вероятность успешного результата мала. Если источник опять будет перенесен в NTFS 5.0, связь будет восстановлена. В текущей версии NTFS 5.0 во время работы службы отслеживания связей, тома NTFS 5.0 не могут быть блокированы. Поэтому для них нельзя выполнить такие операции, как форматирование или запуск утилиты chkdsk /f. Выполнять подобные операции можно только после остановки работы службы отслеживания связей.

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

Page 26: Архитектура компьютераbook-9.narod.ru/theory-2/arch_pc.doc  · Web viewАрхитектура компьютера - это описание его организации

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

После установки квот дискового пространства пользователь может хранить на томе ограниченный объем данных, в то время как на этом томе может оставаться свободное пространство. Если пользователь превышает выданную ему квоту, в журнал событий вносится соответствующая запись. Затем, в зависимости от конфигурации системы, пользователь либо сможет записать информацию на том (более мягкий режим), либо ему будет отказано в записи из-за отсутствия свободного пространства. Устанавливать и просматривать квоты на диске можно только в разделе с NTFS 5.0 и при наличии необходимых полномочий (задаваемых с помощью локальных или доменных групповых политик) у пользователя, устанавливающего квоты.

Точки повторной обработки (reparse points). Точки позволяют выполнять при открытии папки или файла заранее созданный программный код. Точка повторной обработки – это контролируемый системой атрибут, который может быть ассоциирован с папкой или файлом. Значением атрибута являются задаваемые пользователем данные, максимальный размер которых может достигать 16 Кбайт. Они представляют собой 32-разрядный ярлык (определяемый Microsoft), указывающий, какой фильтр файловой системы должен быть извещен о попытке получения доступа к данной папке или файлу. Фильтр выполняет заранее определенный код, предназначенный для управления процессом доступа. Поскольку размер данных атрибута точки повторной обработки может достигать 16 Кбайт, помимо ярлыка в атрибуте можно сохранить информацию, имеющую значение для соответствующего фильтра. Фильтр файловой системы может полностью изменить способ отображения данных файла. Поэтому фильтры устанавливаются только администраторами системы. Если по каким-либо причинам система не может найти фильтр, соответствующий определенному ярлыку повторной обработки, доступ к папке или файлу не будет предоставлен, однако они могут быть удалены. Точки повторной обработки используются при создании соединений папок NTFS, позволяющих перенаправлять запрос к папке или файлу в другое место файловой системы.

Точки соединения NTFS. Точки соединения NTFS (junction point) представляют собой новое средство, позволяющее отображать целевую папку в пустую, находящуюся в пространстве имен файловой системы NTFS 5.0 локального компьютера. Целевой папкой может служить любой допустимый путь Windows. Точки соединения поддерживаются только в NTFS 5.0 и служат для создания общего пространства имен хранения информации. Точки соединения прозрачны для приложений. Исключение составляет случай, когда информация об определенной точке соединения необходима программе для работы. Прозрачность означает, что приложение или пользователь, осуществляющий доступ к локальной папке NTFS, автоматически перенаправляются к другой папке. Доступ к локальным томам файловой системы, подключенным с помощью точки соединения, может быть получен даже в случае, если томам не присвоены имена.

Шифрование данных. Шифрование обеспечивается дополнительным компонентом операционной системы «Шифрованной файловой системой» (Encrypted File System, EFS), который представляет собой серьезный механизмом защиты данных, поскольку зашифрованные данные могут быть доступны только пользователю, имеющему специальный ключ для расшифровки. EFS обеспечивает следующие функции:

- прозрачное шифрование – шифрование/расшифровка происходят прозрачно при чтении или записи файла на диск и не требуют от владельца файла расшифровывать/зашифровывать файл при каждом к нему обращении;

Page 27: Архитектура компьютераbook-9.narod.ru/theory-2/arch_pc.doc  · Web viewАрхитектура компьютера - это описание его организации

- защита ключей шифрования – в EFS ключи, используемые для шифрования файла, зашифрованы наиболее эффективным открытым ключом сертификата пользователя (стандарт Х.509 v3), который хранится вместе со списком зашифрованных уникальных ключей, использованных для шифрования файла; для расшифровки этих ключей владелец файла использует свой закрытый ключ;

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

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

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

Windows XP содержит утилиту CONVERT.EXE, которая преобразует тома FAT или FAT32 в эквивалентные тома NTFS. Также преобразовать файловую систему в NTFS можно при установке Windows XP, положительно ответив на вопрос о преобразовании в процессе установки.

3. Файловая система UDFUDF – универсальный формат дисков представляет собой файловую систему,

соответствующую стандарту Международной Организации по Стандартизации (ISO) 13346, предназначенную для доступа к DVD-ROM и CD-ROM. Универсальный дисковый формат (UDF) определяется Ассоциацией по технологии оптического хранения данных (OSTA). Он разработан, чтобы заменить CDFS и добавить поддержку устройств DVD-ROM. UDF включается в спецификации DVD и более гибок, чем формат CDFS. Поддержка формата UDF была введена в Windows 2000 и включала в себя поддержку только чтения дисков. Начиная с Windows XP, осуществляется поддержка чтения и записи данных на диск. В Windows XP/Windows 2003 включена собственная поддержка чтения-записи оптических дисков DVD-RAM и возможность чтения формата UDF 2.01 (Universal Disk Format), включая DVD-диски и DVD-видео. Файловая система UDF имеет ниже перечисленные особенности:

- длина имени файла может быть до 254 символов в ASCII-кодировке или до 127 символов в Unicode-кодировке;

- имена файлов могут включать буквы как верхнего, так и нижнего регистра;- файлы могут быть разреженными (sparse); размеры файлов задаются 64-битными

значениями;- максимальная длина пути составляет 1023 символа.Файловая система UDF в Windows является UDF-совместимой реализацией OSTA –

подмножеством формата ISO-13346 с расширениями для поддержки CD-R, DVD-R/RW и т.д. Организации по Стандартизации определила UDF в 1995 году как формат магнитооптических носителей, главным образом DVD-ROM, предназначенный для замены формата ISO-9660. Формат UDF включен в спецификацию DVD и более гибок, чем CDFS. Драйвер UDF (\Windows\System32\Drivers\Udfs.sys) поддерживает UDF версии 1.02 и 1.5 в Windows 2000 и версий 2.0 и 2.01 в Windows XP и Windows Server 2003.

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

Page 28: Архитектура компьютераbook-9.narod.ru/theory-2/arch_pc.doc  · Web viewАрхитектура компьютера - это описание его организации

DFS (Distributed File System) – распределенная файловая система, которая позволяет объединить серверы и предоставляемые в общее пользование ресурсы в более простое пространство имен. Файловые системы обеспечивают однородный поименованный доступ к набору секторов на дисках, а DFS – однородный поименованный доступ к набору серверов, совместно используемых ресурсов и файлов, организуя их в виде иерархической структуры. В свою очередь новый том DFS может быть иерархично подключен к другим совместно используемым ресурсам Windows. DFS позволяет объединить физические устройства хранения в логические элементы, что делает физическое расположение данных прозрачным как для пользователей, так и для приложений. Преимущества DFS:

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

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

- Графические средства администрирования. Каждым корнем DFS можно управлять простым графическим инструментом, позволяющим просматривать тома, изменять их конфигурацию, устанавливать DFS-связи и управлять удаленными корнями DFS.

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

- Балансировка нагрузки. Несколько сетевых ресурсов, предоставленных в совместное использование только для чтения, можно объединить под одним логическим именем DFS, предоставляя тем самым ограниченную балансировку нагрузки между дисками или серверами. При доступе к такому ресурсу пользователь автоматически перенаправляется на один из составляющих том DFS.

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

- Интеграция с моделью безопасности Windows. Не требуется дополнительной работы по обеспечению безопасности. Любой пользователь, подключенный к тому DFS, имеет доступ к ресурсам, только если обладает необходимыми правами. При этом применяется модель безопасности Windows.

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

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

Page 29: Архитектура компьютераbook-9.narod.ru/theory-2/arch_pc.doc  · Web viewАрхитектура компьютера - это описание его организации

5. Файловые системы операционной системы LinuxВ Linux долгое время была одна файловая система Ext2fs – вторая расширенная файловая

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

По способу организации хранения данных Extfs напоминает файловую систему Unix. Отличительные особенности:

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

их быстродействие;- относительно слабая устойчивость при аварийном завершении работы (вследствие

зависания или отказа питания).Проблема нарушения целостности файловой системы при некорректном завершении

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

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

Текущие версии ядра Linux поддерживают в качестве альтернативных четыре журналируемые файловые системы: ReiserFS, Ext3fs и XFS, JFS.

Журналируемая файловая система ReiserFS разработана специально для Linux фирмой Namesys (http://www.namesys.com) и поддерживается ее ядром (http://www.kernel.org), начиная с первых версий ветви 2.4.x. В ReiserFS осуществляется журналирование только операций над метаданными файлов, что при определенном снижении надежности, обеспечивает высокую производительность. Кроме этого, ReiserFS обладает уникальной (и по умолчанию задействованной) возможностью оптимизации дискового пространства, занимаемого мелкими, менее одного блока, файлами. Они хранятся в своих inode, без выделения блоков в области данных. Весте с экономией места это способствует росту производительности, так как данные и метаданные (в терминах ReiserFS – stat -data) файла хранятся в непосредственной близости и могут быть считаны одной операцией ввода/вывода.

Хвосты файлов (их конечные части), меньшие по размеру, чем один блок, могут быть подвергнуты упаковке. Этот режим (tailing) включается по умолчанию при создании ReiserFS, обеспечивая около 5% экономии дискового пространства, но несколько снижает быстродействие. ReiserFS не совместима с Ext2fs на уровне утилит обслуживания файловой системы, но соответствующий инструментарий, разрешающий проблему, объединен в пакет reiserfsprogs и включен в штатный комплект современных дистрибутивов. Распространенные загрузчики Linux иногда не способны загрузить ядро Linux с раздела ReiserFS, поэтому ReiserFS не рекомендуется к употреблению на загрузочном разделе.

Ext3fs – представляет собой журналируемую надстройку над классической Ext2fs, разработанной в компании Red Hat и поддерживаемой ядром Linux, начиная с версии 2.4.16. Она сохраняет со своей прародительницей полную совместимость, в том числе и на уровне утилит обслуживания (начиная с версии 1.21, пакета e2fsprogs). Переход от Ext2fs к Ext3fs осуществляется добавлением файла журнала без переформатирования раздела и рестарта

Page 30: Архитектура компьютераbook-9.narod.ru/theory-2/arch_pc.doc  · Web viewАрхитектура компьютера - это описание его организации

машины. Ext3fs является системой, в которой возможно журналирование операций не только с метаданными, но и с данными файлов, так как предусмотрено три режима работы: полное журналирование (full data journaling); журналирование с обратной записью (writeback); последовательное журналирование, задействуемое по умолчанию (ordered).

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

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

Файловая 64-разрядная система XFS развивается фирмой SGI для Unix, впервые появилась в версии Irix 5.3, вышедшей в 1994 г. В Linux она была импортирована недавно (http://oss.sgi.com/projects/xfs) и штатно поддерживается ядром, начиная с его ветки 2.6.X. XFS представляет собой сбалансированную файловую систему, ориентированную на размещение в больших дисковых разделах для работы с большими файлами. Особенности XFS:

- использование механизма деления единого дискового раздела на несколько равных областей (allocation group), имеющих собственные списки inodes и свободные блоки, для распараллеливания дисковых операций (самостоятельные файловые субсистемы);

- использование логического журналирования только для изменений метаданных, но с частым сбросом их на диск для минимизации возможных потерь при сбоях;

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

- использование списков контроля доступа (ACL, Access Control List) и расширенных атрибутов файлов (extended attributes).

Возможность работы с XFS обеспечивает специальный патч (xfs-2.4.1X-all-i386.bz2), который вместе с соответствующими утилитами поддержки можно получить с сайта SGI (http://oss.sgi.com/projects/xfs). Утилиты поддержки для XFS объединены в несколько пакетов.

Файловая система JFS разработана компанией IBM для собственной версии Unix и уже долгое время поддерживается ядром Linux в качестве альтернативной системы, однако по ряду причин широкого распространения она не получила.

На уровне обмена данными Linux поддерживает множество файловых систем, некоторые из них только в режиме чтения (например, NTFS или HPFS).

Все упомянутые выше файловые системы могут располагаться не только на реальных блочных устройствах (дисках и дисковых разделах), но и на виртуальных дисках (RAM-дисках).

6. Виртуальные файловые системыОперационные системы POSIX-совместимые поддерживают еще и несколько типов

виртуальных файловых систем, которые располагаются в оперативной памяти и служат для специальных целей. Первой виртуальной файловой системой была система процессов – procfs, которая представляла протекающие в системе процессы в виде файлов каталога /proc, откуда получали информацию о процессах команды типа ps и top.

Page 31: Архитектура компьютераbook-9.narod.ru/theory-2/arch_pc.doc  · Web viewАрхитектура компьютера - это описание его организации

В каталоге /proc каждому процессу соответствует подкаталог, именем которого является идентификатор процесса (номер в порядке запуска). Внутри такого подкаталога находится набор файлов, содержимое некоторых из них можно посмотреть. Важная информация содержится в файлах корня /proc. Используя команды просмотра, можно посмотреть следующую информацию: о процессоре (/proc/cpuinfo); о текущей конфигурации ядра системы (/proc/config.gz); о загруженных его модулях (/proc/modules), об устройствах, подсоединенных к шине PCI (/proc/pci), сведения о сетевой карте и внутреннем модеме, необходимые для правильной их настройки.

Другой виртуальной файловой системой является файловая система устройств – devfs, которая по умолчанию задействована во FreeBSD 5-й ветки и во многих современных дистрибутивах Linux. Благодаря devfs, файлы устройств стали создаваться автоматически при старте системы (в соответствие с устройствами, поддерживаемыми текущей конфигурацией ядра и определяемыми в ходе загрузки операционной системы). Если в ходе работы недостанет какого-либо устройства, из числа поддерживаемых, то автоматически будет создан файл соответствующий этому устройству. Файловая система devfs сделала очень легким подключение устройств типа карт PCMCIA, USB-накопителей, цифровых камер и сканеров. Достаточно воткнуть USB-драйв в соответствующий разъем и в каталоге /dev появится соответствующий ему файл.

В настоящее время в Linux файловая система устройств постепенно заменяется системой поддержки динамического именования устройств – udev. В отличие от devfs, udev – пользовательская программа (входящая в одноименный пакет) и при ее использовании необходимость в поддержке devfs отпадает. Для своего функционирования udev нуждается в виртуальной файловой системе – sysfs, но ее поддержка в ядрах серии 3.6.X осуществляется автоматически (а сама эта файловая система монтируется по умолчанию в каталог /sys). Udev присваивает имена всем устройствам, в том числе и при их подключении.

Любой POSIX-системе имена файлов конкретных устройств более или менее безразличны, так как оперирует она не с ними, а с их идентификаторами. Ранее в качестве таковых выступали старший и младший номера устройства, определяющие их класс и конкретный его экземпляр. В udev стали использоваться идентификаторы устройств (сериальный номер винчестера, его положение на канале IDE-шины и т.д.), сочетание которых для каждого диска (раздела) уникально. Программа udev извлекает эти сведения из файловой системы sysfs и, руководствуясь определенными правилами, ставит им в соответствие имена (например, /dev/hda).

Во FreeBSD и многих дистрибутивах Linux используется также файловая система в оперативной памяти, именуемая mfs в первом случае и tmpfs – во втором случае. Системы реализованы по-разному, но с точки зрения пользователя выглядят одинаково, как дисковые разделы, смонтированные в некоторые каталоги. Они заменяют собой блочные устройства там, где требуется быстрая, но не обязательно долговременная запись. Эти системы целесообразно использовать для промежуточных каталогов при архивации, разархивации, пакетной конвертации графических файлов, компиляции программ.

В отличие от стандартных файловых систем для хранения данных mfs и tmpfs не нуждаются в своем создании. Для их использования достаточно факта поддержки ядром (непосредственно или в виде модуля) и монтирования в какой-либо каталог. Обычно таким каталогом выступает /tmp, содержимое которого не должно сохраняться после рестарта системы. В BSD-системах в некоторых случаях целесообразно монтирование mfs в каталог /usr/obj, предназначенный для промежуточных продуктов компиляции при сборке ядра и базовых компонентов. В Linux одно из штатных мест монтирования tmpfs – каталог /dev/sh.