Горнец Н.Н., Рощин А.Г. Организация ЭВМ и систем (2006) (1186251), страница 31
Текст из файла (страница 31)
Для еще большего сокращения операций записи каждому блоку ставится в соответствие бит модификации, кото рый отменяет запись блока в ОП, если он не изменялся. Как правило, в персональных компьютерах сегодня использу ют сквозную запись, хотя она и не обеспечивает выигрыша во времени при записи. Это вызвано тем, что ее проще реализовать, чем запись с обратным копированием. Кроме того, при сквозной записи ОП и кэш-память всегда содержат одинаковые копии данных, что значительно упрощает процедуру ввода-вывода и организацию мультипроцессорных систем. Внешняя память. Основная память машины строится на полупроводниковых элементах, которые сохраняют информацию только, если на них подается питание.
При включении машины команды и данные загружаются в ОП из внешней памяти по командам В!03. В качестве внешних запоминающих устройств наиболее распространены накопители на жестких магнитных и оптических дисках. Емкость памяти таких накопителей составляет несколько десятков и сотен гигабайт (современные НЖМД для персональных компьютеров имеют емкость свыше 100 Гбайт). Информация в этих накопителях записывается на поверхности диска подвижными головками записи-считывания в виде «отпечатков», образующих концентрические дорожки. Сами диски установлены на шпинделе, вращающемся с постоянной частотой, обычно составляющей 5400, 7200, 10 000 об/мин и выше. В настоящее время большинство накопителей для персональных компьютеров обладают частотой вращения дисков 7200 об/мин. На каждой дорожке может располагаться несколько информационных блоков, как правило, фиксированного размера; эти блоки принято размещать в секторах.
Обычно в секторе хранится 512 байт данных (в системе )чТРБ размер поля данных сектора соответствует 2048 байтам, в которых размещаются 1024 символа), а также служебная информация. Запись и считывание информационного блока производятся в тот момент, когда начало соответствующего сектора оказывается напротив головки.
Задержка на поиск дорожки и ожидание, пока она окажется повернутой на угол, соответствующий началу сектора, называется временем доступа. Оно зависит от системы позиционирования головки, скорости врашения дисков, последовательности размещения блоков (чередование секторов, смещение дорожек), наличия или отсутствия дефектных дорожек и т.д. На это время влияет текучее положение головок относительно дисков, его среднее значение составляет от единиц до десятков миллисекунд. После того как нужный блок будет найден, производится его чтение и передача в ОП.
Скорость передачи составляет 1 ... 8 Мбайт/с 162 Она зависит от размера блока, скорости вращения диска, плотности записи на дорожке, максимальной скорости передачи по шине и т.д. Время доступа превышает интервал между чтением или записью последовательных байтов блока на несколько порядков, т.е. основное время тратится не на передачу информации, а на поиск нужного сектора. Накопители на магнитных дисках принято называть устройствами памяти с прямым доступом, так как при поиске сектора вначале осуществляется перемещение магнитной головки на соответствующую дорожку и только после этого производится поиск нужного сектора, для чего последовательно просматриваются все сектора на этой дорожке.
Для уменьшения затрат времени на поиск нужной информации используют традиционные методы буферизации и распараллеливания. Метод буферизации состоит в том, что в накопитель устанавливают буферное ЗУ, называемое дисковым кэшем. В этот кэш при чтении нужной информации из одного сектора диска помещают информацию из всех его секторов (или ряда последонательных секторов), находящихся на той же дорожке. На это требуется время, равное длительности одного оборота дисков. Если теперь понадобится информация из этих секторов, то она уже окажется прочитанной с диска в кэш и будет готова для передачи в ОП, т.е. не нужно будет тратить время на дополнительный оборот диска для ее поиска. Локальность программ и данных создает очень высокую вероятность обращений к диску за информацией, находящейся в смежных секторах.
Иногда дисковый кэш организуют непосредственно в ОП, выделяя для этого специальную область. Такой способ уменьшения времени поиска не требует дополнительной аппаратуры, но сопряжен с затратами времени на передачу блоков в ОП и дополнительными расходами оперативной памяти. При операциях записи информационный блок вначале переносится в дисковый кэш, а лишь затем (после выполнения соответствующих операций по поиску нужного сектора) на диск. Обычно его копия сохраняется в дисковом кэше до тех пор, пока не будет вытеснена другой.
Запись блока в дисковый кэш может производиться только на свободное место, т.е. на место информационного блока, копия которого уже сохранена на диске. 6.3. Организация виртуальной памяти Информация для обработки процессором может быть взята только из оперативной или кэш-памяти, поэтому при работе машины постоянно возникает необходимость обменов между ОП и внешней памятью в силу того, что объем ОП ограничен. Предусматривать такие обмены в настоящее время возлагается на средства ОС. 163 Страничное, сегментное н страннчна-сегментное распределение Пользователю предоставляется адресное пространство, соответ ствующее всему объему внешней памяти.
Это пространство полу чило название виртуальной памяти. Все виртуальное пространство разбивается на сегменты и страницы. Страницы имеют фиксиро. ванный размер и размещаются как в ОП, так и на дисках. Размер страницы обычно составляет 4 Кбайт и кратен емкости сектора на магнитном диске. Информация о текущем местонахождении стра ницы указывается в таблице (всегда находящейся в ОП) преобра зования адресов. При простейшей страничной организации вир туапьный адрес включает в себя номер страницы РА и смещение внутри нее Ав (рис. 6.8). Номер страницы РА используется для обращения в таблицу преобразования адресов, каждая строка которой содержит указатель Х наличия этой страницы в ОП и ее адрес.
При наличии страницы в ОП, т.е. когда бит указателя установлен в единицу, происходит обращение к ячейке по адресу А = А, Ад. Если бит указателя сброшен в положение «0», то номер этой страницы виртуального пространства передается в блок замены страниц, который выбирает в ОП удаляемую страницу и заносит на ее место нужную страницу из внешней памяти; после этого он модифицирует содержимое таблицы преобразования адресов, устанавливая «1» в разряд указателя данной страницы.
Поскольку размер страницы фиксирован, а размеры программ могут быть разными, то страничная организация памяти неудобна. Более приемлемой оказывается сегментно-страничная организация памяти, п Рис. 6.8. Организация виртуальной Рис. 6.9. Преобразование адреса прв памяти сегментно-страничной организация памяти 164 при которой каждый сегмент, т. е. выделенный участок адресного пространства для какой-либо программы, разбивается на определенное число страниц фиксированного размера.
Виртуальный адрес состоит из номера сегмента, номера страницы и смещения. Преобразование виртуального адреса в физический производится с помощью таблицы сегментов и таблицы страниц (рис. 6.9). Для ускорения процесса преобразования виртуального в физический адрес могут использоваться специальные аппаратные средства на базе ассоциативной памяти. Номер страницы РА виртуального адреса передается в ассоциативную память в качестве поискового признака; вторым полем этой таблицы служит адрес страницы в ОП. Если в таблице отсутствует нужный виртуальный адрес, то преобразование осуществляется, как описано выше.
Этот механизм называется динамическим преобразованием адресов. Стратегия замены страниц оказывает сильное влияние на производительность всего компьютера, особенно, если объем оперативной памяти невелик. Такая стратегия определяет, как выбирать подлежащую замене страницу в ОП на новую страницу из дисковой памяти. Эти стратегии основаны на анализе моментов записи страницы в ОП (ЯРО) или анализе моментов времени, когда к странице осуществлялось последнее обращение (ЬКУ). Свопииг.
Объем оперативной памяти ограничен, но чтобы выполнить задачу, необходимо загрузить ее в ОП. Обычно процессор, работающий в режиме мультипрограммирования (например, в сервере), выполняет несколько задач: одна задача находится на стадии выполнения в процессоре, а для других осуществляется ввод-вывод или они находятся в стадии ожидания. Из-за ограниченности объема ОП повышать степень мультипрограммирования оказывается невозможно. Преодолеть эту трудность помогает свопинг, т.е. способ организации вычислительного процесса, при котором задачи, находящиеся в состоянии ожидания, переносятся на жесткий диск, освобождая часть ОП. При этом планировщик операционной системы следит за изменением условий, складывающихся для этих задач, а при благоприятных условиях (т.е.
когда можно занять ресурсы процессора, для данной задачи завершен ввод-вывод, свободны необходимые устройства для выполнения задачи и т.д.) он возвращает задачу из области свопинга на диске в ОП. Таким образом, свопинг можно рассматривать как своеобразный способ организации виртуальной памяти. 6.4.