Редактирование: Буфер

Перейти к навигации Перейти к поиску
Внимание: Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы войдёте или создадите учётную запись, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий ниже, чтобы убедиться, что это нужная вам правка, и запишите страницу ниже, чтобы отменить правку.

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


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


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


При [[LOAD"|загрузке словаря]] (уже откомпилированного приложения) содержимое ''буфера'' остаётся неизменным. Это позволяет использовать ''буфер'' для передачи информации между последовательно исполняемыми приложениями, реализуя на [[Каллисто]] механизм оверлеев (англ. 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]] английское слово [http://www.lingvo-online.ru/ru/Translate/en-ru/buffer ''buffer''] (''рус.'' буфер) по-прежнему используется во множественном числе, хотя в [[Каллисто]] ''буфер'' всего один.
Поскольку памяти ЭКВМ хватает только на один ''буфер'', слова Форта FIRST, LIMIT, PREV, USE и +BUF в [[Каллисто]] не реализованы. Для совместимости с Фортом в стандартных словах [[SAVE-BUFFERS]] и [[EMPTY-BUFFERS]] английское слово buffer (''рус.'' буфер) по-прежнему используется во множественном числе, хотя в [[Каллисто]] ''буфер'' всего один.


== Ссылки ==
* См. слова [[BUFBLK]], [[UPDATE]], [[FLUSH]], [[BLOCK]] и [[BUFFER]]
{{нет иллюстраций}}
[[Категория: Структуры данных Каллисто]]
[[Категория: Структуры данных Каллисто]]
Пожалуйста, учтите, что любой ваш вклад в проект «ПМК вики» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. Pmkwiki:Авторские права). НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

В целях защиты вики от автоматического спама в правках просим вас решить следующую каптчу:

Отменить Справка по редактированию (в новом окне)

Шаблон, используемый на этой странице: