Смекни!
smekni.com

Аппаратура, программное обеспечение и микропрограммы (стр. 2 из 8)

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

2.2.6 Защита памяти

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

2.2.7 Таймеры и часы

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

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

2.2.8 Работа в режиме он-лайн и автономный режим (оф-лайн), периферийные процессоры

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

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

2.2.9 Каналы ввода-вывода

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

В первых машинах взаимодействие между процессорами и каналами осуществлялось при помощи процессорных команд типа

· условный переход (если канал занят выполнением операции);

· ожидание (пока не закончится выполнение команды канала);

· запись (содержимого управляющих регистров канала в основную память для последующего опроса процессором).

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

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

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

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

2.2.10 Захват цикла

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

2.2.11 Относительная адресация

Когда потребность в увеличении объемов основной памяти стала очевидной, архитектуры компьютеров были модифицированы для работы с очень большим диапазоном адресов. Машина, рассчитанная на работу с памятью емкостью 16 Мбайт (1 Мбайт — это 1 048 576 байт), должна иметь 24-разрядные адреса. Включение столь длинных адресов в формат каждой команды даже для машины с одноадресными командами стоило бы очень дорого, не говоря уже о машинах с многоадресными командами. Поэтому для обеспечения работы с очень большими адресными пространствами в машинах начали применять адресацию типа база + смещение, или относительную адресацию, при которой все адреса программы суммируются с содержимым базового регистра. Подобное решение имеет то дополнительное преимущество, что программы становятся перемещаемыми, или позиционно-независимыми; это свойство программ имеет особенно важное значение для многоабонентских систем, в которых одну и ту же программу может оказаться необходимым размещать в различных местах основной памяти при каждой загрузке.

2.2.12 Режим задачи, режим супервизора, привилегированные команды

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