Текущая версия |
Ваш текст |
Строка 1: |
Строка 1: |
| '''Буфер'''. Трёхкилобайтная [[Текст|область текста ЭКВМ]] ([[Единое адресное пространство|адреса]] от 15096 до 18167) используется в [[Каллисто]], как ''буфер'' (''англ.'' [http://www.lingvo-online.ru/ru/Translate/en-ru/buffer buffer]). | | '''Буфер'''. Трёхкилобайтная [[Текст|область текста ЭКВМ]] (байтовые регистры с номерами от 5096 до 8167) используется в [[Каллисто]], как буфер (''англ.'' buffer). |
|
| |
|
| В ''буфере'' может храниться содержимое одного из [[блок]]ов — пронумерованных текстовых файлов, находящихся на электронном диске ЭКВМ в специально созданном для этого каталоге. Стандартные средства [[Каллисто]] позволяют исполнять и компилировать из ''буфера'' [[экран|приложения]], считывать ''буфер'' из [[блок]]а, а также записывать изменённый ''буфер'' обратно, в соответствующий ему [[блок]]. | | В буфере может храниться содержимое одного из ''блоков'' — пронумерованных текстовых файлов, находящихся на электронном диске ЭКВМ в специально созданном для этого каталоге. Стандартные средства Каллисто позволяют исполнять и компилировать из буфера программы, написанные на языке Каллисто, считывать буфер из блока, а также записывать изменённый буфер обратно, в соответствующий ему блок. |
|
| |
|
| Разработчики могут использовать ''буфер'' в различных целях. Например, поставляемый вместе с [[Каллисто]] редактор EDIT использует ''буфер'' для хранения редактируемого [[экран]]а. Известны реализации на Форте виртуальной памяти, с помощью механизма ''буферов'' и [[блок]]ов.
| | Программисты могут использовать буфер и в других целях. Например, поставляемый вместе с [[Каллисто]] редактор EDIT использует буфер для хранения редактируемого экрана. Известны реализации на Форте виртуальных массивов, с помощью механизма буферов. |
|
| |
|
| При [[LOAD"|загрузке словаря]] (уже откомпилированного приложения) содержимое ''буфера'' остаётся неизменным. Это позволяет использовать ''буфер'' для передачи информации между последовательно исполняемыми приложениями, реализуя на [[Каллисто]] механизм оверлеев (англ. overlay). Если не использовать ''буфер'' для доступа к [[блок]]ам, выделенную под ''буфер'' память можно использовать для расширения словаря и [[Стек возвратов Каллисто|стека возвратов]].
| |
|
| |
|
| == История == | | == История == |
| Многие реализации языка Форт хранили в оперативной памяти несколько ''буферов'', отображающие различные [[блок]]и диска, каждый размером в 1 Кбайт. Записанный в таком [[блок]]е экран Форта обычно представлялся, как содержащий 16 строчек по 64 символа. Система ''буферов'' (в ОЗУ) и [[блок]]ов (на диске) позволяет Форту исполняться на машинах без операционной, и даже без файловой системы. | | Многие реализации языка Форт хранят в оперативной памяти несколько буферов, отображающие различные блоки на диске, каждый размером в 1 Кбайт. Такой экран обычно представляется, как содержащий 16 строчек по 64 символа. Система буферов и блоков позволяет Форту исполняться на машинах без операционной, и даже без файловой системы. |
|
| |
|
| Один [[экран|экран Каллисто]] имеет размер трёх экранов Форта и содержит 48=16×3 строчек по 64 символов каждая. Одинаковая с Фортом длина строки облегчает перенос на [[Каллисто]] программ, написанных на Форте. Длина строки в 64 символа отличается от той, которую использует [[редактор текста]] — часть [[Встроенная программа|встроенной программы]] ЭКВМ. | | Один экран [[Каллисто]] имеет размер трёх экранов Форта и содержит 48=16×3 строчек по 64 символов каждая. Одинаковая с Фортом длина строки облегчает перенос на [[Каллисто]] программ, написанных на Форте. |
|
| |
|
| Поскольку памяти ЭКВМ хватает только на один ''буфер'', слова Форта FIRST, LIMIT, PREV, USE и +BUF в [[Каллисто]] не реализованы. Для совместимости с Фортом в стандартных словах [[SAVE-BUFFERS]] и [[EMPTY-BUFFERS]] английское слово [http://www.lingvo-online.ru/ru/Translate/en-ru/buffer ''buffer''] (''рус.'' буфер) по-прежнему используется во множественном числе, хотя в [[Каллисто]] ''буфер'' всего один.
| |
|
| |
| == Ссылки ==
| |
| * См. слова [[BUFBLK]], [[UPDATE]], [[FLUSH]], [[BLOCK]] и [[BUFFER]]
| |
|
| |
| {{нет иллюстраций}}
| |
| [[Категория: Структуры данных Каллисто]] | | [[Категория: Структуры данных Каллисто]] |