Современные операционные системы

Современные операционные системы
Что такое операционная система / Диски

Диски




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

Жесткий диск состоит из одной или нескольких металлических пластин, вращающихся со скоростью 5400, 7200 или 10 800 оборотов в минуту. Механический привод поворачивается на определенный угол над пластинами, подобно звукоснимателю старого проигрывателя виниловых пластинок на 33 оборота в минуту. Информация записывается на диск в виде последовательности концентрических окружностей. В каждой заданной позиции привода каждая из головок может считывать кольцеобразный участок, называемый дорожкой. Из совокупности всех дорожек в заданной позиции привода составляется цилиндр.

Каждая дорожка поделена на определенное количество секторов, обычно по 512 байт на сектор. На современных дисках внешние цилиндры содержат больше секторов, чем внутренние. Перемещение привода с одного цилиндра на следующий цилиндр занимает около 1 мс. Перемещение к произвольно выбранному цилиндру обычно занимает от 5 до 10 мс, в зависимости от конкретного накопителя. Когда привод расположен над нужной дорожкой, накопитель должен выждать, когда нужный сектор попадет под головку. Это приводит к возникновению еще одной задержки от 5 до 10 мс, в зависимости от скорости вращения диска. После попадания требуемого сектора под головку производится операция чтения или записи со скоростью от 50 Мбайт/с (для низкоскоростных дисков) до 160 Мбайт/с (для высокоскоростных).

Многие компьютеры поддерживают схему, которая называется виртуальной памятью. Ее мы довольно основательно рассмотрим в главе 3. Она дает возможность запускать программы, превышающие по объему физическую память компьютера, за счет помещения их на диск и использования оперативной памяти как некой разновидности кэша для наиболее интенсивно исполняемых частей. Эта схема требует прозрачного для программы преобразования адресов памяти, чтобы конвертировать адрес, сгенерированный программой, в физический адрес, по которому слово размещено в ОЗУ. Такое отображение адресов осуществляется частью центрального процессора, которая показана на рис. 1.6 и называется блоком управления памятью — MMU (Memory Management Unit), или диспетчером памяти.

Использование кэширования и MMU могут оказать существенное влияние на производительность. При работе в мультипрограммном режиме, когда осуществляется переключение с одной программы на другую, иногда называемое переключением контекста (context switch), может потребоваться сброс всех измененных блоков из кэш-памяти и изменение регистров отображения в MMU. Обе эти операции обходятся слишком дорого, и программисты всеми силами стараются их избежать. Некоторые последствия применяемых ими тактических приемов мы рассмотрим чуть позже. Northrop T-38A / AT-38 / T-38C Talon (Uncovering the №21)



Полное описание: Диски




С этим описанием рассматриваются следующие темы:


Устройства ввода-вывода
Центральный процессор и память — не единственные ресурсы, которыми должна управлять операционная система. С ней также активно взаимодействуют и устройства ввода-вывода информации. На рис. 1.6 видно, что устройства ввода-вывода обычно состоят из двух компонентов: самого устройства и его контроллера. Контроллер представляет собой микросхему или набор микросхем, которые управляют устройством на физическом уровне. Он принимает от операционной системы команды, например считать данные с помощью устрой ... Читать

Страничная организация памяти
Большинство систем виртуальной памяти использует технологию под названием страничная организация памяти (paging), к описанию которой мы сейчас и приступим. На любом компьютере программы ссылаются на набор адресов памяти. Когда программа выполняет следующую команду MOV REG.1000 она осуществляет копирование содержимого ячейки памяти с адресом 1000 в REG (или наоборот, в зависимости от компьютера). Адреса могут генерироваться с использованием индексной адресации, базовых регистров, сегментных регис ... Читать

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

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

Управление памятью
Память представляет собой очень важный ресурс, требующий четкого управления. Несмотря на то что в наши дни объем памяти среднего домашнего компьютера в десятки тысяч раз превышает ресурсы IBM 7094, бывшего в начале 60-х годов самым большим компьютером в мире, размер компьютерных программ растет быстрее, чем объем памяти. Закон Паркинсона можно перефразировать следующим образом: «Программы увеличиваются в размерах, стремясь заполнить всю память, доступную для их размещения». В этой главе мы рассм ... Читать