Файловая область - Большая Энциклопедия Нефти и Газа, статья, страница 1
Пойду посплю перед сном. Законы Мерфи (еще...)

Файловая область

Cтраница 1


Файловая область содержит временные записи, так как оператор WRITE разрушает относящуюся к нему запись, а оператор READ записывает новую запись, затирая старую. Следовательно, более безопасно, хотя и не обязательно, выполнять арифметические операции в области рабочей-памяти.  [1]

Кроме файловой области, внутренняя память имеет другую область, называемую областью рабочей-памяти. Промежуточные записи или константы, в которых нуждается программа, хранятся в этой области внутренней памяти.  [2]

Оператор WRITE ( ПИСАТЬ) передает запись из файловой области в некоторый выходной файл.  [3]

Статья-описания-записи и статья-описания-данного определяют организацию данных, хранящихся соответственно в файловой области и области рабочей-памяти внутренней памяти машины. Эти две статьи описаний имеют сходное назначение и почти одинаковый формат. Они различаются только в силу различных свойств области рабочей-памяти и файловой области. Записи, хранящиеся в файловой области, обычно существуют очень недолго, так как выполнение операторов READ и WRITE разрушает их значения. Записи, хранящиеся в области рабочей-памяти, могут обладать начальными значениями и используются для запоминания промежуточнык результатов вычислений. Значения данных в рабочей-памяти изменяются только в тем сл чае, когда они являются принимающими данными в операторах пересылки или арифметических операторах.  [4]

При описании межпрограммных связей до сих пор предполагалось, что каждая программа имеет свою отдельную файловую область и отдельную область рабочей-памяти.  [5]

При вызове подчиненной программы она загружается во внутреннюю память и выделяется место как для ее файловой области, так и для ее области рабочей-памяти. Будучи однажды вызвана, она остается в памяти в том же самом состоянии, в котором она находилась после выполнения оператора EXIT PROGRAM. Таким образом, любые значения, первоначально заданные с помощью фраз VALUE IS ( ЗНАЧЕНИЕ) и менявшиеся впоследствии, при последующих вызовах уже не будут установлены в исходное состояние. Если бы вызывалась вторая, а затем и третья программа, как показано в примере на рис. 7.2, то доступная внутренняя память быстро оказалась бы заполненной и для следующей вызываемой программы уже не осталось бы в ней места.  [6]

Статьи-описания-записей используются для описания способа пред-ставления данных во внутренней памяти машины, будь то в файловой области или в области рабочей-памяти. Таким образом, эти статьи могут появляться как в секции FILE SECTION, так и в секции WORKING-STORAGE SECTION раздела данных. В секции WORKING-STORAGE SECTION статьи-описания-записей называются по-другому, а именно статьями-описания-данных. Имеется только одно различие между статьями-описания-записей и статьями-описания-данных, оно состоит в том, что, когда программа впервые загружается в память, элементарным данным в рабочей памяти могут быть присвоены начальные значения. Элементарным данным в области файлов значения могут присваиваться только с помощью операторов READ ( ЧИТАТЬ) или MOVE ( ПОМЕСТИТЬ), и этим данным нельзя присвоить начальных значений. Имея в виду это небольшое, но существенное различие, слова статья-описания-записи и статья-описания-данного можно употреблять с равным успехом.  [7]

Программист сам с помощью программных средств должен определить, к какому типу относится очередная запись в области записи файловой области. Один из способов заключается в том, чтобы записи в файле записывались в некотором заранее определенном порядке. В предыдущем примере файл INPUT-FILE можно было бы организовать таким образом, чтобы за каждой записью STUDENT-NAME-RECORD следовали ровно четыре записи COURSE-RESULT-RECORD. Однако такой подход обычно не используется, так как он ограничивает применение файла. Гораздо более удобный и гибкий способ состоит в предусмотрении в каждой записи специального данного, содержащего идентификационный код типа записи. Относительное положение этого данного в записи каждого типа должно быть одинаковым, чтобы программа могла всегда его выбрать и определить тип записи.  [8]

Когда логическая запись передается из внешнего файла во внутреннюю память, она попадает в область внутренней памяти, называемую файловой областью. При компиляции раздела DATA DIVISION ( РАЗДЕЛ ДАННЫХ) часть этой файловой области выделяется для хранения записей каждого файла, описанного в статье FD. Эта область записи выделена именно этому файлу, и никакой другой файл не может ее использовать. Это означает, что программа не может считать запись из одного файла и записать сразу же эту запись в другой файл, так как для второго файла будет выделено в файловой области отдельное место. При переписи записей из первого файла во второй прежде, чем запись сможет быть записана во второй файл, необходимо переместить ее из области записи первого файла в область записи второго файла. На рис. 2.6 схематически показана эта взаимосвязь. При этом следующая запись устанавливается в позицию чтения. Таким образом, программист не может считать запись, обновить ее и затем записать в тот же самый файл, не разрушив следующей записи этого файла.  [9]

В области рабочей памяти данное может принимать значение одним из двух способов: данное из какого-либо другого места памяти, будь то файловая область или область рабочей-памяти, может быть перемещено в рассматриваемое данное или рассматриваемое данное может иметь некоторое начальное значение, присвоенное программой при первоначальной загрузке для исполнения в память машины. Эта фраза указывает на значение, которое должно быть первоначально присвоено данному в рабочей-памяти. Это значение устанавливается только один раз при загрузке программы.  [10]

Полное описание оператора MOVE будет дано позднее; говоря кратко, его действие состоит в пересылке из одного участка внутренней памяти в другой, будь то в файловой области или в области рабочей-памяти.  [11]

Фраза SAME AREA определяет, что два или больше файлов в ходе выполнения операций ввода-вывода будут использовать одну и ту же область памяти, которая включает буфер, чередующиеся буферы и область записи из файловой области. Вследствие разделения этой области несколькими файлами одновременно может быть открыт только один файл из числа указанных.  [12]

Когда логическая запись передается из внешнего файла во внутреннюю память, она попадает в область внутренней памяти, называемую файловой областью. При компиляции раздела DATA DIVISION ( РАЗДЕЛ ДАННЫХ) часть этой файловой области выделяется для хранения записей каждого файла, описанного в статье FD. Эта область записи выделена именно этому файлу, и никакой другой файл не может ее использовать. Это означает, что программа не может считать запись из одного файла и записать сразу же эту запись в другой файл, так как для второго файла будет выделено в файловой области отдельное место. При переписи записей из первого файла во второй прежде, чем запись сможет быть записана во второй файл, необходимо переместить ее из области записи первого файла в область записи второго файла. На рис. 2.6 схематически показана эта взаимосвязь. При этом следующая запись устанавливается в позицию чтения. Таким образом, программист не может считать запись, обновить ее и затем записать в тот же самый файл, не разрушив следующей записи этого файла.  [13]

Все необязательные фразы, рассматриваемые ниже, с равным успехом относятся и к файловой области, и к области рабочей-памяти.  [14]

Другие программы считают запись, затем переместят ее в область рабочей-памяти, обработают ее там и переместят запись для вывода в область записи в файловой области. Еще одна возможность заключается в том, чтобы считать запись в файловую область, переместить ее на другое место в этой области и обработать ее там, прежде чем вывести обновленную запись. Выбор последовательности, которой следует придерживаться, зависит от конкретной задачи.  [15]



Страницы:      1    2