Буфер

Материал из ПМК вики
Перейти к навигации Перейти к поиску

Буфер. Трёхкилобайтная область текста ЭКВМ (адреса от 15096 до 18167) используется в Каллисто, как буфер (англ. buffer).

В буфере может храниться содержимое одного из блоков — пронумерованных текстовых файлов, находящихся на электронном диске ЭКВМ в специально созданном для этого каталоге. Стандартные средства Каллисто позволяют исполнять и компилировать из буфера приложения, считывать буфер из блока, а также записывать изменённый буфер обратно, в соответствующий ему блок.

Разработчики могут использовать буфер в различных целях. Например, поставляемый вместе с Каллисто редактор EDIT использует буфер для хранения редактируемого экрана. Известны реализации на Форте виртуальных массивов, с помощью механизма буферов и блоков.

При загрузке словаря (уже откомпилированного приложения) содержимое буфера остаётся неизменным. Это позволяет использовать буфер для передачи информации между последовательно исполняемыми приложениями, реализуя на Каллисто механизм оверлеев (англ. overlay). Если не использовать буфер для доступа к блокам, выделенную под буфер память можно использовать для расширения словаря и стека возвратов.

История

Многие реализации языка Форт хранили в оперативной памяти несколько буферов, отображающие различные блоки диска, каждый размером в 1 Кбайт. Записанный в таком блоке экран Форта обычно представлялся, как содержащий 16 строчек по 64 символа. Система буферов (в ОЗУ) и блоков (на диске) позволяла Форту исполняться на машинах без операционной, и даже без файловой системы.

Один экран Каллисто имеет размер трёх экранов Форта и содержит 48=16×3 строчек по 64 символов каждая. Одинаковая с Фортом длина строки облегчает перенос на Каллисто программ, написанных на Форте. Длина строки в 64 символа отличается от той, которую использует встроенная программа ЭКВМ.

Поскольку памяти ЭКВМ хватает только на один буфер, слова Форта FIRST, LIMIT, PREV, USE и +BUF в Каллисто не реализованы. Для совместимости с Фортом в стандартных словах SAVE-BUFFERS и EMPTY-BUFFERS английское слово buffer (рус. буфер) по-прежнему используется во множественном числе, хотя в Каллисто буфер всего один.

Ссылки

  У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их.