Протокол пересылки файлов
Для работы различных пользовательских программ в локальной сети необходимо уметь обрабатывать программами, выполняющимися в одной машине сети, файлы, хранящиеся во внешней памяти другой машины. Существуют различные средства решения этой проблемы. Одним из наиболее распространенных средств является концепция виртуального файла и виртуального файлохранилища. Реализация этой концепции позволяет задаче в любой машине сети работать с файлом, хранящимся во внешней памяти одной из машин сети, при помощи средств доступа к виртуальному файлохранилищу. При этом с файлом работают как с хранящимся в каноническом виде виртуальным файлом. Это обстоятельство является одним из самых больших препятствий на пути реализации этой концепции в неоднородной сети машин. Чрезвычайно сложно приводить к единой канонической форме файлы различных файловых систем. Поэтому эта концепция реализуется, как правило, только в однородных сетях ЭВМ.
Более простым средством предоставления возможности работы с удаленным файлом является пересылка этого файла как целого. Причем возможно необходимое преобразование формы файла выполняется средствами пользователя. Файл выбирается из файлохранилища одной машины средствами этой машины с обеспечением контроля прав доступа, принятых в этой системе. После пересылки как единого целого файл помещается в файлохранилище другой машины средствами работы с файлами этой машины, с занесением всей атрибутики файлов, принятой в этой системе.
В локальной сети "Электроника ССБИС" было принято решение обеспечить работу с удаленным файлом путем предварительного размещения этого файла в файлохранилище соответствующей ЭВМ. Таким образом, задача пересылки файлов между основной и внешней машинами разбивается на 4 подзадачи:
1.
пересылка файла из архива внешней машины в архив основной машины по инициативе задачи, выполняемой на внешней машине;
2. пересылка файла из архива основной машины в архив внешней машины по инициативе задачи, решаемой на внешней машине;
3. пересылка файла из архива внешней машины в архив основной машины по инициативе задачи, выполняемой на основной машине;
4. пересылка файла из архива основной машины в архив внешней машины по инициативе задачи, выполняемой на основной машине.
Первые две задачи решаются средствами выполнения обобщенного шага задания на основной машине. Для первой задачи пакет задания содержит файл на языке управления заданиями ОМ и файл из архива внешней машины, который необходимо поместить в архив ОМ. Задание состоит из одного шага перемещения файла из входного справочника задания в архив. Атрибуты и составное имя помещаемого файла описывается средствами языка управления заданиями ОМ. Пакет результатов содержит служебную информацию о выполнении задания.
Для второй задачи пакет задания содержит файл на языке управления заданиями ОМ. В этом файле описан шаг, состоящий в перемещении соответствующего файла из архива ОМ в выходной справочник задания. Оттуда средствами вывода результатов выполнения задания этот файл будет помещен в пакет результатов и выведен во внешнюю машину. Идентификация этого файла в пакете результатов и его помещение в архив внешней машины будет производиться средствами внешней машины.
Для решения третьей и четвертой задачи было принято решение не создавать дополнительных служб в основной машине. Следует вспомнить, что любая задача, выполняющаяся в основной машине, есть шаг задания, запущенного из внешней машины. Следовательно, на внешней машине должно быть предусмотрено (средствами этого же задания), что во время выполнения обобщенного шага задания на основной машине может возникнуть необходимость пересылки файлов. Транспортные средства сетевого локального обеспечения локальной сети предоставляют возможность установления взаимосвязи между различными шагами одного задания, устанавливая между ними транспортные соединения.Эти транспортные соеди-
нения можно использовать для пересылки файлов. В качестве протокола пересылки файлов рекомендуется использовать протокол пересылки заданий, пересылая файл в протокольной единице данных "Пакет". Только следует учитывать, что в данном случае транспортное соединение будет устанавливаться не между системными задачами, а между пользовательскими задачами, выполняющими разные шаги одного задания.