Буфер: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Нет описания правки
Строка 1: Строка 1:
'''Буфер'''. Трёхкилобайтная [[Текст|область текста ЭКВМ]] ([[регистры байтовых данных]] с номерами от 5096 до 8167) используется в [[Каллисто]], как ''буфер'' (''англ.'' buffer).
'''Буфер'''. Трёхкилобайтная [[Текст|область текста ЭКВМ]] ([[регистры байтовых данных]] с номерами от 5096 до 8167) используется в [[Каллисто]], как ''буфер'' (''англ.'' buffer).


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


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


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


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


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


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


[[Категория: Структуры данных Каллисто]]
[[Категория: Структуры данных Каллисто]]

Версия от 06:07, 11 августа 2015

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

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

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

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

История

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

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

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