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

Материал из ПМК вики
Перейти к навигации Перейти к поиску
 
(не показано 12 промежуточных версий этого же участника)
Строка 1: Строка 1:
'''Буфер'''. Трёхкилобайтная [[Текст|область текста ЭКВМ]] ([[регистры байтовых данных]] с номерами от 5096 до 8167) используется в [[Каллисто]], как ''буфер'' (''англ.'' buffer).
'''Буфер'''. Трёхкилобайтная [[Текст|область текста ЭКВМ]] ([[Единое адресное пространство|адреса]] от 15096 до 18167) используется в [[Каллисто]], как ''буфер'' (''англ.'' [http://www.lingvo-online.ru/ru/Translate/en-ru/buffer buffer]).


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


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


При загрузке словаря (уже откомпилированной программы на [[Каллисто]]) содержимое ''буфера'' остаётся неизменным. Это позволяет использовать ''буфер'' для передачи информации между последовательно исполняемыми программами, реализуя на [[Каллисто]] механизм оверлеев (англ. overlay). Если не использовать ''буфер'' для доступа к ''блокам'', выделенную под ''буфер'' память можно использовать для расширения словаря и [[Стек возвратов Каллисто|стека возвратов]].
При [[LOAD"|загрузке словаря]] (уже откомпилированного приложения) содержимое ''буфера'' остаётся неизменным. Это позволяет использовать ''буфер'' для передачи информации между последовательно исполняемыми приложениями, реализуя на [[Каллисто]] механизм оверлеев (англ. 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]] английское слово [http://www.lingvo-online.ru/ru/Translate/en-ru/buffer ''buffer''] (''рус.'' буфер) по-прежнему используется во множественном числе, хотя в [[Каллисто]] ''буфер'' всего один.


== Ссылки ==
* См. слова [[BUFBLK]], [[UPDATE]], [[FLUSH]], [[BLOCK]] и [[BUFFER]]
{{нет иллюстраций}}
[[Категория: Структуры данных Каллисто]]
[[Категория: Структуры данных Каллисто]]

Текущая версия от 02:24, 19 января 2020

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

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

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

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

История[править]

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

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

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

Ссылки[править]

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