ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 23.10.2024
Просмотров: 67
Скачиваний: 0
устройство выполняет операцию сравнения для следующей фи зической записи.
Операции поиска выполняются в однодорожечном и мно годорожечном режимах. В однодорожечном режиме поиск ог раничен пределами одной дорожки, причем устройство прекра щает поиск (в случае невыполнения условия поиска) только после просмотра всей дорожки независимо от того, с какой за
писи был начат просмотр. В многодорожечном режиме прек
ращение поиска происходит при достижении границы цилинд ра. Переключение дорожки на дорожку (с головки на головку)
внутри цилиндра происходит автоматически при достижении конца очередной дорожки. Поэтому в многодорожечном ре жиме необходимо просмотр первой дорожки начинать от нача ла дорожки.
В накопителе на барабане ЕС-5033 за один цикл поиска можно просмотреть весь барабан.
Поиск адреса дорожки. Устройство управления осуществляет поиск ин дексного маркера (начала дорожки), считывает запись адреса дорожки и сравнивает адрес дорожки с данными, получаемыми из оперативной памяти. В случае равенства устройство управления передает в канал признак «!Моди фикатор».
Длина сравниваемых данных при командах поиска определяется либо полем счета в командном слове канала, либо длиной сравниваемого поля записи, в зависимости от того, что оказывается меньше. Если счетчик командного слова меньше длины сравниваемой области записи, то выполнение условия поиска формируется на основе результата сравнения числа байтов, равного счетчику. Если счетчик командного слова больше длины сравнивае мой области записи, то выполнение условия поиска формируется на основе результата сравнения числа байтов в области записи.
Команды типа «Поиск по идентификатору». При выполнении этих команд устройство управления отыскивает адресной маркер (признак начала очеред ной записи) и производит сравнение идентификатора записи из области счета записи с данными, поступающими из оперативной памяти. Различаются три команды поиска по идентификатору с различными логическими условиями: «Поиск по идентификатору на равно», «Поиск по идентификатору на больше» и «Поиск по идентификатору на больше или равно». При выполнении логи ческого условия поиска в канал передается признак «Модификатор».
Команды типа «Поиск по ключу». Команды предназначены для поиска записи по значению ключа. Если в цепочке команд команда «Поиск по ключу» предшествует команде «Читать счет» или «Поиск по идентификатору», то устройство управления осуществляет операцию сравнения над ключом за писи, идентификатор которой считывался предыдущей командой. В осталь ных случаях устройство управления отыскивает на дорожке очередной адрес ный маркер и выполняет сравнение с ключом соответствующей записи. Ана логично командам поиска по идентификатору имеются три команды поиска по ключу: «Поиск по ключу на равно», «Поиск по ключу на больше», «Поиск по ключу на больше или равно». При выполнении условия поиска устройство управления передает в канал признак «Модификатор».
При выполнении команд поиска по ключу над записями формата счетданные признак «Модификатор» никогда не формируется.
Команды поиска по ңлючу-данным предназначены для поиска записи по значению области ключа и области данных. Определение устройством теку щей записи для выполнения сравнения определяется теми же правилами по следовательности команд, что и для команд поиска по ключу. Имеются такие
50
же три модификации команды: «Поиск по ключу-данным на равно», «Поиск по ключу-данным на больше», «Поиск по ключу-данным на больше или рав но». Признак «Модификатор» образуется при выполнении условия поиска.
Если запись не имеет ключа (формат счет-данные), то сравнение произ водится для поля данных.
Команды поиска по ключу-данным имеют особенность, отличающую их от вышеописанных команд поиска по другим областям записи. Если очередной байт, получаемый из памяти, имеет конфигурацию FF (шестнадцатиричный код), то операция сравнения для соответствующего считанного из накопителя байта не производится. C помощью этих команд реализуется так называемое средство сканирования файла, позволяющее осуществлять поиск в файле за писи по какой-то ее части или полю. Не участвующая в сравнении часть записи должна быть замаскирована кодом FF.
Команды поиска по ключу-данным обрабатывают и переходящие записи (см. разд. «Средства устройства управления»). Устройство управления, не прекращая выполнение команды, осуществляет автоматическое переключение головок в точке индексного маркера для всех непоследних сегментов перехо дящей записи до тех пор, пока не будет опознан признак последнего сег мента или пока не встретится конец цилиндра.
C помощью команд поиска по ключу-данным можно определить конец набора данных. На устройствах с прямым доступом признаком конца набора данных является запись с нулевой длиной данных. Команды поиска по ключуданным, обнаружив в поле счета записи нулевую длину данных, прекращают работу и в конечном байте состояния выдают признак «Особый случай».
Команды типа «Продолжить поиск» используются при обработке перехо дящих записей для продолжения выполнения команд поиска по ключу-дан ным, прерванным в результате возникновения какой-либо необычной ситуации. Необычная ситуация может возникнуть, если при обработке последователь ности сегментов переходящей записи в результате автоматического переклю чения головок возникает одна из следующих ситуаций:
произошло переключение на дефектную дорожку; нужно переключиться с запасной дорожки на основную;
произошло переключение на дорожку с неправильным номером или авто матическое переключение запрещено обнаружением конца цилиндра. Обнаружив, что операция не может быть продолжена по какой-либо из
этих причин, устройство управления прекращает выполнение операции, иден тифицируя в байтах уточненного состояния причину и устанавливая в пятом байте уточненного состояния комбинацию, которая и является кодом новой команды для продолжения поиска по ключу-данным. Программы обработки ошибок программным путем производят переключение с дефектной дорожки на запасную рабочую или с запасной на основную или на первую дорожку следующего цилиндра и для продолжения операции поиска на новой до рожке посылают в устройство управления код команды продолжения поиска, переданный в пятом байте уточненного состояния. Имеется пять различных команд продолжения поиска.
Команда «Продолжить поиск на равно» употребляется для продолжения команды. «Поиск по ключу-данным на равно», если к моменту необычной ситуации условие равенства выполнялось.
Команда «Продолжить поиск на больше» употребляется для продолже ния команды «Поиск по ключу-данным на больше», если к моменту необыч ной ситуации выполнялось условие равенства.
Команда «Продолжить поиск на больше или равно» употребляется для продолжения команды «Поиск по ключу-данным на больше или равно», если к моменту необычной ситуации выполнялось условие равенства.
Команда «Продолжить поиск при невыполненном условии» употребляется для продолжения всех команд поиска по ключу-данным, если к моменту не обычной ситуации логическое условие поиска для обработанной части записи уже не выполнено.
Команда «Продолжить поиск при выполненном условии» употребляется для продолжения команд «Поиск по ключу-данным на больше», «Поиск по
51
ключу-данным на больше или равно»,- если к моменту необычной ситуации условие поиска уже выполнено, т. е, обработанная часть записи уже большеданных из памяти.
Команды чтения
Команды чтения предназначены для передачи информации из накопителя в оперативную память. Команда чтения включает команды для считывания целых записей данных, отдельных об
ластей записи и для считывания определенных типов записей (адрес дорожки, запись RO).
Команды чтения выполняются в однодорожечном и многодо рожечном режимах. Многодорожечный режим ограничен преде лами одного цилиндра. При выполнении команд чтения устрой ство управления осуществляет контроль передаваемых в канал
данных. Для каждой области записи сравниваются считанные и вновь образованные байты циклического контроля. При обна ружении ошибки (несовпадении байтов) операция прекращается
в конце области, для которой имеет место ошибка, с указанием об ошибке в данных или об ошибке в поле счета.
Если при выполнении команды чтения возникает состояние перегрузки канала, т. е. канал оказывается неспособным переда вать данные со скоростью устройства управления, то передача данных в канал немедленно ,прекращается и операция заканчи вается с указанием об ошибке.
Команды чтения обнаруживают конец набора данных. Если
длина данных в поле счета записи равна нулю, что является при
знаком конца набора данных, то операция прекращается с ука занием об этой ситуации (исключение составляют команды
«Читать счет» и «Читать адрес дорожки»),
«Читать НЗ». По этой команде происходит чтение специальной записи — записи начальной загрузки. Данные этой записи всегда размещаются в за писи Л1 на нулевой дорожке нулевого цилиндра. Устройство управления по этой команде устанавливает механизм доступа на нулевую дорожку нуле вого цилиндра, отыскивает индексный маркер и считывает область данных
записи 7?1.
Команда «Читать НЗ» в отличие от остальных команд чтения работает только в однодорожечном режиме.
«Читать данные». Команда считывает информацию из области данных записи и передает ее из накопителя в оперативную память.
Если перед командой «Читать данные» выполнялись команды поиска по идентификатору, поиска по ключу или чтения области счета, то считывается область данных записи, идентификатор или ключ которой обрабатывался предшествующей командой. В остальных случаях устройство управления ищет на дорожке очередной адресный маркер и считывает область данных соответствующей записи.
«Читать ключ-данные». Команда считывает информацию из области клю ча и из области данных записи и передает ее в оперативную память. Считы ваемая запись определяется по тем же правилам последовательности команд, что и для команды «Читать данные». Если длина ключа записи равна нулю,, то эта команда работает, как команда «Читать данные».
52
«Читать счет-ключ-данные». Команда выполняет поиск на дорожке оче редного адресного маркера и считывание и передачу в оперативную память областей счета, ключа и данных соответствующей записи. По этой команде нельзя считать запись RO.
«Читать R0». По этой команде производится поиск индексного маркера, пропуск записи адреса дорожки, считывание и передача в канал областей счета, ключа и данных записи R0.
«Читать адрес дорожки». По этой команде осуществляется поиск индекс ного маркера, чтение записи адреса дорожки и передача пяти байтов адреса дорожки в канале. Если счетчик в командном слове канала меньше 5 байтов, то в канал передается число байтов, определяемое счетчиком.
Команда «Читать адрес дорожки» является единственной командой, по средством которой можно прочитать байт флажков дорожки.
«Читать счет». Команда выполняет чтение и передачу в канал области счета записи. По этой команде производится поиск на дорожке очередного адресного маркера, считывание области счета соответствующей записи и пе редача в канал восьми байтов из области счета записи. Если счетчик команды меньше восьми, то в канал передается число байтов, определяемое счетчиком. Байт флажков в канал не передается. По этой команде нельзя считать об ласть счета записи R0.
Команды записи
Команды записи передают информацию из оперативной па мяти в накопитель и записывают ее на магнитный носитель. Во время выполнения всех команд записи устройство управления
вычисляет для каждой области байты циклического контроля и добавляет их к концу каждой области.
Команды записи делятся на две группы: на форматные команды записи и команды записи данных.
Назначение форматных команд записи состоит в иницииро вании дорожек и физических записей или, иными словами, в под готовке дорожек к заполнению их записями определенного формата (с предварительно размеченными областями ключа и данных). Имеются форматные команды записи для записи ад
реса дорожки, записи R0, для стирания старой информации на дорожке и для записи на ней новых физических записей.
Особенностью выполнения форматных команд записи яв ляется то, что последняя форматная команда в цепочке команд (это не обязательно последняя команда в цепочке) после записи
определенной для нее области или областей стирает оставшуюся часть дорожки до индексного маркера. Устройство управления во время этапа стирания остается для канала занятым.
Команды записи данных записывают данные в области ключа и данных, ранее сформатированные форматными командами записи. Если во время выполнения команды записи возникает ситуация перегрузки в канале или очередной байт данных, при ходящий из канала, содержит ошибку по четности, то остальная часть области записи заполняется нулями, а в байтах уточненно го состояния устанавливается признак типа ошибки.
При операции записи устройство управления должно быть точно ориентировано на начало соответствующей области, в
53