Попов И.И., Матвеев А.А., Максимов Н.В. Архитектура электронно-вычислительных машин и систем (2004) (1186255), страница 43
Текст из файла (страница 43)
1. Типичная траектория данных при обработке в ЭВМЦикл обработки файла (например, внесение изменений в счетаклиентов) включает следующие операции (рис.1):— открытие файла - занятие устройства, на котором файл размещен(например, МД), создание в ОП управляющего блока, в котором записывается справка о состоянии файла и буфера (или набора буферов буферного пула) для хранения текущей, обрабатываемой записи файла;236— организация цикла, управляемого файлом (заканчивается по исчерпании записей файла - наступлении состояния EOF - end-of-file), послечего выполняется некоторый оператор, обычно завершения обработки. Цикл должен содержать команду типа READ, GET (ввод записи)или PUT, WRITE (вывод записи) либо REWRITE (обновить запись).Команда READ может являться функциональным аналогом заголовкацикла.— закрытие файла - выполнение операций по внесению всех окончательных изменений в файл и его реквизиты, освобождение памяти,отведенной под файл и устройства, на котором он размещался.Таким образом, траектория данных, обрабатываемых в компьютере, выглядит следующим образом:— считывание (ввод) порции (блок) данных с накопителя (ВУ) и помещение его в область ОП (буфер);— извлечение данных из буфера, их обработка и помещение обратно,или в другой (выходной) буфер;— после окончания обработки - вывод (запись) результатов на выходнойнакопитель также в форме одного или нескольких блоков.Т.е.
всякая правильно выполненная и завершенная операция обработки данных начинается считыванием информации с ВУ и должна заканчиваться записью результата на ВУ. Всякое прерывание данной последовательности неминуемо приводит к разрушению информации ипотере данных.Адресация, имена, спецификация данных в ОСНа уровне ОС осуществляется связь между адресом данных иименем (файла).
В эпоху до появления ОС и систем программирования(СП), программист должен был писать программы в непосредственныхадресах ЭВМ. Элементом такой программы является команда в абсолютных адресах, например (как это было в очень популярной в своевремя двухадресной машине Минск 22/32):10 00 1234 7653("сложить содержимое адреса 12348 с содержимым адреса 76538 и записать по адресу 76538")При этом управление данными на внешних носителях состояло внаписании команд вида:45 00 1200 000047 00 0002 1234"на устройстве накопления данных на МЛ перемотать ленту на 128 зон(блоков) затем прочитать 2 зоны в оперативную память, размещая данные с адреса 12348 " Операционные системы избавляют программистаот таких забот, предоставляя возможность оперировать файлами и их237именами.При этом в различных ОС приняты различные принципы именования данных.1.
ОС/360 -прабабушка современных ОС - здесь обозначение файла могло бы выглядеть следующим образом:UNIT=SYSDA, VOL=SER=MASTER, DSN=SYS2.PGMLIB(COPIER3),что означает набор данных (файл) который размещен на устройствепрямого доступа (НМД - SYSDA), причем пакет дисков имеет имя (метку) MASTER, имя файла состоит из группового обозначения (SYS2) ииндивидуального (PGMLIB), причем последнее соответствует партиционному (состоящему из разделов) файлу, раздел которого COPIER3 иявляется основным фигурантом данного описания.2. ОС RSX 11/20 (предшественница UNIX). Здесь обозначения выглядят так:устройство:[g,n] имя.расширение;версиягде— устройство - идентификатор устройства,— [g,n]- каталог (UIC - User Identification Code), идентификатор пользователя, состоящий из имени (номера) группы (g) и имени пользователя в группе (n).— имя- выбираемое пользователем наименование НД ( не более 8симв.)— расширение - идентификатор файла ( не более 3 симв.
), используемый для группирования файлов в типы.Некоторые стандартные типы файлов, используемые в ОС и пользовательскими программами:.ftn - текст программы на Фортране;.bas - текст программы на ЯП Бейсик;.cmd - командный файл;.tsk - исполнительный модуль;.txt - текстовый файл;Пример: DP0:[1,7]ADABAS.TSK;1 - Это программный модуль сименем ADABAS, размещенный в директории [1,7] на МД с адресомDP0:.Сокращенное наименование файла может состоять только из имени. При этом устройство и [g,n] берутся из системных умолчаний илипользовательских назначений; расширение - задается стандартным типом файла; версия - максимальная из существующих.238Спецификация файлов - соглашения о кратком групповом обозначении некоторой совокупности обрабатываемых, переименовываемых, удаляемых, копируемых и пр., файлов.В спецификации файлов используются символы маскирования "*"и "?" вносимые в компоненты обозначения файла, причем "*" соответствует допустимой строке символов, а "?" - одному допустимому символу:Примеры:[*,*]*.TSK;2 - все файлы задач во всех директориях, 2-й версии;[1,5]ADA*.SYS - файлы директории [1,5] с именем, начинающимся с ADA, расширением SYS, 1-й версии;[5,5]SYSTEM.?? - файлы с именем SYSTEM, имеющие 2-х символьные расширения.3.UNIX - спецификация файла может иметь вид:ROOT/USR/CPP/EXPERT2.CЗдесь описан полный путь для поиска файла (EXPERT2.C - текстпрограммы на ЯП Си), включающий каталоги и подкаталоги ROOT,USR, CPP.
Методы групповой спецификации файлов в ОС UNIX подробно описаны ниже в соответствующем разделе.4. MS DOS - спецификация файла в типовом случае выглядит так:C:\WIN98_SE\PROGRAMMS\COMMAND.COM. Методы групповой спецификации аналогичны указанным выше для RSX.Вначале для большинства ОС были установлены ограничения надлину и состав имени файла, во многом аналогичные ограничениям наидентификаторы переменных, принятых в то время в языках программирования:— имя может содержать только символы заглавной латиницы, цифры иподчеркивание;— имя должно начинаться с буквы;— длина имени файла не более 8 символов, длина расширения (типа) неболее 3-х.В дальнейшем, по мере развития и распространения ОС, эти ограничения во многом стали сниматься:— появилось понятие "длинного имени файла", включающего ранее запрещенные символы (пробелы и пр.);— были разрешены национальные символы в наименованиях файлов(кириллица и пр.).239Устройство(том)КаталогФайлФизическаязаписьБлокСтрокаЛогическиезаписиСловоСимволРис.
2. Уровни доступа к данным в абстрактной ОСУровни доступа к данным, реализуемые ОС (либо ОС совместно сприкладными программами) приведены на рис 2. При этом участок"Том-Каталог-Файл" реализуется во всех ОС. Участок "Блок-СтрокаСлово-Символ" может поддерживаться как функциями ОС, так и в рамках прикладных программ. Иногда это распределение функций устанавливается пользователем (программистом), путем указания типа файла например, записе-ориентированный или потоко-ориентированный (см.ниже).Накопители на магнитных лентахЭти накопители относятся к классу внешних запоминающих устройств последовательного доступа. В них доступ к требуемому наборуданных происходит только после завершения перемотки всей предшествующей части магнитной ленты (МЛ). Такие накопители благодаря низкой стоимости, простоте эксплуатации и хранения, компактности и долговременности использования обладают несомненными преимуществами в тех случаях, когда порции данных обрабатываются последовательно друг за другом.Магнитные ленты для цифровой записи данных размещаются набобинах или кассетах (подобно лентам для бытовой аудио- или видеозаписи).
Однако принципы размещения информации на МЛ в данномслучае существенно другие - рис. 1.4.:— информация размещается на носителе в виде блоков (массивов данных фиксированной или переменной длины);— информационные блоки разделены пустыми промежутками (gap), позволяющими считывающему устройству распознать начало (окончание) блока. Размер промежутка между записями выбирается достаточным для разгона ленты до установленной скорости и остановки ееточно на следующем промежутке. Недостаток промежутков междузаписями - уменьшение полезного объема МЛ, так как области, отведенные под промежутки, нельзя использовать для хранения данных.
Частично указанный недостаток устраняет процесс блокирования, суть которого состоит в объединении нескольких записей вблоки;240— блоки разделяются на информационные (ИБ - распознаются программами) и служебные (распознаются устройством - конец файла и конец тома);— физическое начало и физический конец ленты обычно определяютсяоптическим или механическим образом (независимо от содержанияленты).В ЭВМ обычно применяется девятидорожечная запись. Информация записывается одновременно девятью магнитными головками.
Из девяти одновременно записываемых битов информации восемь являютсяинформационными (один байт) и один - контрольным битом четности.Начало области магнитной ленты, в которую записывается информация,называется точкой загрузки и помечается специальным физическиммаркером. Физический маркер представляет собой кусочек алюминиевой фольги, наклеиваемый на расстоянии 1-2 м от начала магнитнойленты. Конец информационной области МЛ помечается таким же физическим маркером, наклеиваемым на расстоянии от конца МЛ.
Наличиеуказанных специальных маркеров, распознавание которых производитсяфотоэлектронным способом, позволяет осуществить перемотку МЛ кначалу информационной области и автоматический останов по достижении ее конца.б)а)в)Рис. 3. Различные конструкции ЛПМ (лентопротяжных механизмов) (а,б); структура данных на магнитных лентах (в).1- физическое начало ленты (начальный ракорд),2 - информационные блоки (ИБ) 1-го файла,3 - GAP, промежуток между блоками,2414 - EOF - end-of-file, служебный блок, задающий конец 1-го файла,5 - информационные блоки (ИБ) 2-го файла,6 - конец 2-го файла,7 - EOV - end-of-volume, служебный блок, задающий логическийконец ленты,8 - физический конец ленты (ракорд).Известны были и другие способы отметки физического начала иконца ленты, например, отверстие в ленте, распознаваемое фотоэлементами (ЭВМ МИНСК-22).