<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Компания ЗАО Кибер Системы &#187; Многопроходные компиляторы</title>
	<atom:link href="http://www.cybergenesys.ru/struktura-mnogoproxodnyx-kompilyatorov/feed" rel="self" type="application/rss+xml" />
	<link>http://www.cybergenesys.ru</link>
	<description>Инновации в кибернетике и мехатронике</description>
	<lastBuildDate>Sat, 26 Dec 2009 14:35:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Фаза</title>
		<link>http://www.cybergenesys.ru/faza.html</link>
		<comments>http://www.cybergenesys.ru/faza.html#comments</comments>
		<pubDate>Sat, 13 Sep 2008 12:28:49 +0000</pubDate>
		<dc:creator>ljsdfffosdnfvsdvc</dc:creator>
				<category><![CDATA[Многопроходные компиляторы]]></category>
		<category><![CDATA[режимы фазы]]></category>
		<category><![CDATA[фаза]]></category>

		<guid isPermaLink="false">http://www.cybergenetic.ru/?p=101</guid>
		<description><![CDATA[Каждая фаза может находиться в одном из двух состояний: 1) «включена»; 2) «выключена». Совокупность включенных фаз составляет текущую конфигурацию компилятора. Начальная установка текущей конфигурации выполняется в результате анализа параметров запуска компилятора. Соответствие параметров и включаемых (выключаемых) фаз задается на этапе генерации компилятора таблицами, доступными только модулю начального пуска. Для установки текущей конфигурации управляющий модуль предоставляет [...]]]></description>
			<content:encoded><![CDATA[<p>Каждая фаза может находиться в одном из двух состояний:</p>
<p>1) «включена»;</p>
<p>2) «выключена».</p>
<p>Совокупность включенных фаз составляет текущую конфигурацию компилятора. Начальная установка текущей конфигурации выполняется в результате анализа параметров запуска компилятора. Соответствие параметров и включаемых (выключаемых) фаз задается на этапе генерации компилятора таблицами, доступными только модулю начального пуска. Для установки текущей конфигурации управляющий модуль предоставляет следующие процедуры работы со справочником фаз:</p>
<p>1) ВКЛЮЧИТЬ ФАЗЫ ((список имен фаз&gt;);</p>
<p>2) ВЫКЛЮЧИТЬ ФАЗЫ ((список имен фаз&gt;). По отношению к справочнику фаз процесс компиляции представляет собой последовательный просмотр справочника фаз, в ходе которого очередная включенная фаза компилятора загружается и ей передается управление. Выключенные фазы при этом пропускаются. Повторно одна и та же фаза в течение одного запуска компилятора обычно не загружается.</p>
<p>Текущая конфигурация компилятора может динамически за висеть от обрабатываемой информации, что позволяет минимизировать количество обращений к внешней памяти при загрузке фаз компилятора.</p>
<p>Изменение функциональных возможностей компилятора осуществляется за счет изменения справочника фаз и функциональных модулей. С другой стороны, распределение заданного набора функциональных модулей на единицы загрузки полностью определяется справочником фаз.</p>
<p>Для передачи управления от одной фазы к другой в управляющем модуле имеются процедуры:</p>
<p>1) ПРОДОЛЖИТЬ РАБОТУ; управление передается следующей по справочнику фазе;</p>
<p>2) ПЕРЕДАТЬ УПРАВЛЕНИЕ ФАЗЕ (&lt;имя фазы&gt;); запускается указанная фаза.</p>

	<h4>Связанные записи</h4>
	<ul class="st-related-posts">
	<li>Нет связанных записей.</li>
	</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.cybergenesys.ru/faza.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Управление внутренней оперативной памятью</title>
		<link>http://www.cybergenesys.ru/upravlenie-operativnoj-pamyatyu.html</link>
		<comments>http://www.cybergenesys.ru/upravlenie-operativnoj-pamyatyu.html#comments</comments>
		<pubDate>Sat, 13 Sep 2008 12:07:04 +0000</pubDate>
		<dc:creator>ljsdfffosdnfvsdvc</dc:creator>
				<category><![CDATA[Многопроходные компиляторы]]></category>
		<category><![CDATA[Базовый уровень]]></category>
		<category><![CDATA[внутренняя оперативная память]]></category>
		<category><![CDATA[вход]]></category>
		<category><![CDATA[ИМ]]></category>
		<category><![CDATA[компилятор]]></category>
		<category><![CDATA[модуль]]></category>
		<category><![CDATA[память]]></category>
		<category><![CDATA[пример]]></category>
		<category><![CDATA[текст]]></category>
		<category><![CDATA[управляющий модуль]]></category>
		<category><![CDATA[файл]]></category>
		<category><![CDATA[функциональный уровень]]></category>
		<category><![CDATA[ЭВМ]]></category>

		<guid isPermaLink="false">http://www.cybergenetic.ru/?p=100</guid>
		<description><![CDATA[Управление внутренней оперативной памятью В условиях ограниченного размера оперативной памяти инструментальной ЭВМ, выделяемой для работы компилятора, часто накладываются жесткие количественные ограничения на входную информацию (например, по количеству строк входного файла). Это сужает область применения компилятора. Для ослабления количественных ограничений на входную информацию предусмотрены средства управления внутренней оперативной памятью. Имеется два уровня процедур, работающих с внутренней [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><strong>Управление внутренней оперативной памятью</strong></p>
<p>В условиях ограниченного размера оперативной памяти инструментальной ЭВМ, выделяемой для работы компилятора, часто накладываются жесткие количественные ограничения на входную информацию (например, по количеству строк входного файла). Это сужает область применения компилятора. Для ослабления количественных ограничений на входную информацию предусмотрены средства управления внутренней оперативной памятью. Имеется два уровня процедур, работающих с внутренней оперативной памятью:</p>
<p>1) базовый уровень;</p>
<p>2) функциональный уровень.</p>
<p>Наличие процедур функционального уровня связано с конкретным внутренним представлением информации. Само внутреннее представление определяется на функциональном уровне, т. е. зависит от конкретного компилятора и от текущей стадии (фазы) обработки. Примером процедуры функционального уровня является, например, процедура сканирования ДАИ-СЛЕДУЮЩИИ-СИМВОЛ. В качестве результата при каждом обращении выдается очередной символ входного текста. В свою очередь, для разных фаз компилятора эта процедура, очевидно, состоит в выполнении различных действий. Поэтому процедуры второго уровня входят в состав функци ональных модулей и используют процедуры первого уровня (базового), входящие в управляющий модуль.</p>

	<h4>Связанные записи</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.cybergenesys.ru/programmno-virtualnaya-pamyat.html" title="Программно-управляемая виртуальная память (September 13, 2008)">Программно-управляемая виртуальная память</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/kompilyator-fortrana.html" title="Компилятор Фортрана для ВК ЭВМ (September 13, 2008)">Компилятор Фортрана для ВК ЭВМ</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/bazovye-procedury.html" title="Четыре базовые процедуры для работы с текстом (September 13, 2008)">Четыре базовые процедуры для работы с текстом</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/raspredelenie-diskovoj-pamyati.html" title="Распределение дисковой памяти (July 9, 2008)">Распределение дисковой памяти</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/otladochnyj-rezhim.html" title="Отладочный режим (September 13, 2008)">Отладочный режим</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.cybergenesys.ru/upravlenie-operativnoj-pamyatyu.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Типы внутренней оперативной памяти</title>
		<link>http://www.cybergenesys.ru/tipy-vnutrennej-operativnoj-pamyati.html</link>
		<comments>http://www.cybergenesys.ru/tipy-vnutrennej-operativnoj-pamyati.html#comments</comments>
		<pubDate>Sat, 13 Sep 2008 12:03:47 +0000</pubDate>
		<dc:creator>ljsdfffosdnfvsdvc</dc:creator>
				<category><![CDATA[Многопроходные компиляторы]]></category>
		<category><![CDATA[оперативная память]]></category>
		<category><![CDATA[типы оперативной памяти]]></category>

		<guid isPermaLink="false">http://www.cybergenetic.ru/?p=99</guid>
		<description><![CDATA[Типы внутренней оперативной памяти Внутренняя оперативная память разделяется на следующие области: 1) зона связи; 2) рабочая память управляющего модуля; 3) «окно» программно-управляемой виртуальной памяти, на которое могут отображаться: 3а) рабочая память функциональных модулей; 3б) текстовая виртуальная память; 3в) словарная виртуальная память. Зона связи доступна как базовым, так и функциональным модулям. Ограниченный размер этой зоны позволяет [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><strong>Типы внутренней оперативной памяти</strong></p>
<p>Внутренняя оперативная память разделяется на следующие области:</p>
<p>1) зона связи;</p>
<p>2) рабочая память управляющего модуля;</p>
<p>3) «окно» программно-управляемой виртуальной памяти, на которое могут отображаться:</p>
<p>3а) рабочая память функциональных модулей;</p>
<p>3б) текстовая виртуальная память;</p>
<p>3в) словарная виртуальная память.</p>
<p>Зона связи доступна как базовым, так и функциональным модулям. Ограниченный размер этой зоны позволяет размещать в ней только скалярные переменные. Переменные, расположенные в зоне связи, являются прямоадресуемыми. Рабочая па­мять управляющего модуля доступна только процедурам базового уровня. В частности, в этой памяти расположены таблицы приписки для виртуальной памяти (см. ниже). Переменные, расположенные в этой зоне, также прямоадресуемые. Рабочая память функциональных модулей является участком памяти, имеющим фиксированные адреса начала и конца. Эти адреса определяются при генерации копилятора и не­посредственно доступны только управляющему модулю. Функциональные модули управляют распределением рабочей памяти через базовые процедуры:</p>
<p>1) ДАЙ_РАБОЧУЮ_ПАМЯТЬ (&lt; длина &gt;); результат — адрес начала участка рабочей памяти указанной длины;</p>
<p>2) ОСВОБОДИ_РАБОЧУЮ_ПАМЯТЬ (&lt; длина &gt;).</p>
<p>Эти процедуры позволяют захватывать и освобождать рабочую память по стековому принципу.<br />
Получив в качестве результата процедуры ДАЙ_РАБОЧУЮ_ПАМЯТЬ значение абсолютного адреса участка памяти можно использовать его вплоть до освобождения этого участ ка. Рабочая память функциональных модулей позволяет размещать средних размеров таблицы, буфера и т. д. Ее мак симальный размер в несколько раз больше размера зоны связи.</p>

	<h4>Связанные записи</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.cybergenesys.ru/upravlyayushhij-modul.html" title="Управляющий модуль (July 7, 2008)">Управляющий модуль</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.cybergenesys.ru/tipy-vnutrennej-operativnoj-pamyati.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Программно-управляемая виртуальная память</title>
		<link>http://www.cybergenesys.ru/programmno-virtualnaya-pamyat.html</link>
		<comments>http://www.cybergenesys.ru/programmno-virtualnaya-pamyat.html#comments</comments>
		<pubDate>Sat, 13 Sep 2008 11:59:16 +0000</pubDate>
		<dc:creator>ljsdfffosdnfvsdvc</dc:creator>
				<category><![CDATA[Многопроходные компиляторы]]></category>
		<category><![CDATA[виртуальная память]]></category>
		<category><![CDATA[вход]]></category>
		<category><![CDATA[массивы информации]]></category>
		<category><![CDATA[оператор]]></category>
		<category><![CDATA[память]]></category>
		<category><![CDATA[пример]]></category>
		<category><![CDATA[процесс компиляции]]></category>
		<category><![CDATA[словарная память]]></category>
		<category><![CDATA[словарь]]></category>
		<category><![CDATA[создание текстовых страниц]]></category>
		<category><![CDATA[страницы]]></category>
		<category><![CDATA[текст]]></category>
		<category><![CDATA[текстовая виртуальная память]]></category>
		<category><![CDATA[функциональный уровень]]></category>

		<guid isPermaLink="false">http://www.cybergenetic.ru/?p=98</guid>
		<description><![CDATA[Программно-управляемая виртуальная память Виртуальная память организована по страничному (см. ниже) принципу. Текстовая виртуальная память (текст) используется для хранения информации в процессе ее обработки. Объем текстовой памяти достаточен для размещения больших массивов информации. По отношению к текстовой памяти процесс компиляции состоит в создании текстовых страниц, записи в них информации функциональными модулями, последующем считывании ее и уничтожении [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><strong>Программно-управляемая виртуальная память</strong></p>
<p>Виртуальная память организована по страничному (см. ниже) принципу. Текстовая виртуальная память (текст) используется для хранения информации в процессе ее обработки. Объем текстовой памяти достаточен для размещения больших массивов информации. По отношению к текстовой памяти процесс компиляции состоит в создании текстовых страниц, записи в них информации функциональными модулями, последующем считывании ее и уничтожении текстовых страниц. На базовом уровне единицей текста является страница. На функциональном уровне единица текста определяется текущим внутренним представлением информации, например, ею может быть оператор в смысле входного языка программирования. Обычно, хотя и не обязательно, единица текста на функциональном уровне должна целиком располагаться в одной странице. Это важное требование позволяет резко упростить работу процедур сканирования на функциональном уровне.</p>
<p>Словарная память (словарь) используется в качестве рабочей памяти достаточно большого размера. По отношению к словарю процесс обработки информации состоит в создании словарных страниц, размещении в них отдельных записей и их последующей модификации. Сборка мусора в словаре отсутствует, т. е. словарные записи и страницы не уничтожаются. Отметим, что в словарь попадает вся информация, которую необходимо передавать от одной фазы к другой. Это позволяет снизить возможные потери, связанные с фрагментацией памяти. Формат словарной записи на базовом уровне определен в самом общем виде: фиксированные поля записи содержат ее тип и длину. На функциональном уровне формат записи определяется полностью. Записи обязательно находятся целиком в одной странице.</p>

	<h4>Связанные записи</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.cybergenesys.ru/upravlenie-operativnoj-pamyatyu.html" title="Управление внутренней оперативной памятью (September 13, 2008)">Управление внутренней оперативной памятью</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/chetyre-bazovye-procedury.html" title="Четыре базовые процедуры для работы со словарем (September 13, 2008)">Четыре базовые процедуры для работы со словарем</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/bazovye-procedury.html" title="Четыре базовые процедуры для работы с текстом (September 13, 2008)">Четыре базовые процедуры для работы с текстом</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/kompilyator-fortrana.html" title="Компилятор Фортрана для ВК ЭВМ (September 13, 2008)">Компилятор Фортрана для ВК ЭВМ</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/identifikator-peremennoj.html" title="Идентификатор переменной есть ее вхождение (September 13, 2008)">Идентификатор переменной есть ее вхождение</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.cybergenesys.ru/programmno-virtualnaya-pamyat.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Виртуальная адресация. Страницы.</title>
		<link>http://www.cybergenesys.ru/virtualnaya-adresaciya-stranicy.html</link>
		<comments>http://www.cybergenesys.ru/virtualnaya-adresaciya-stranicy.html#comments</comments>
		<pubDate>Sat, 13 Sep 2008 11:52:38 +0000</pubDate>
		<dc:creator>ljsdfffosdnfvsdvc</dc:creator>
				<category><![CDATA[Многопроходные компиляторы]]></category>
		<category><![CDATA[виртуальная адресация]]></category>
		<category><![CDATA[содержание ссылки]]></category>
		<category><![CDATA[ссылки]]></category>
		<category><![CDATA[страницы]]></category>

		<guid isPermaLink="false">http://www.cybergenetic.ru/?p=97</guid>
		<description><![CDATA[Для работы с программно-управляемой виртуальной памятью используются виртуальные адреса (ссылки). Ссылка содержит: 1) Номер виртуальной страницы; 2) Адрес слова внутри страницы (смещение); 3) Уточнение (номер байта в слове). Ссылки используются как аргументы при обращении к базовым процедурам (см. ниже). Ссылка может быть преобразована в абсолютный адрес только базовыми процедурами. При этом используются таблицы приписок, расположенные [...]]]></description>
			<content:encoded><![CDATA[<p>Для работы с программно-управляемой виртуальной памятью используются виртуальные адреса (ссылки). Ссылка содержит:</p>
<p>1) Номер виртуальной страницы;</p>
<p>2) Адрес слова внутри страницы (смещение);</p>
<p>3) Уточнение (номер байта в слове). Ссылки используются как аргументы при обращении к базовым процедурам (см. ниже). Ссылка может быть преобразована в абсолютный адрес только базовыми процедурами. При этом используются таблицы приписок, расположенные в рабочей памяти управляющего модуля. Если запрашиваемая виртуальная страница отсутствует в ОЗУ, она считывается из внешней памяти. При этом возможно вытеснение во внешнюю память другой виртуальной страницы. Таким образом, для текста и словаря соответствие ссылок и абсолютных адресов является динамическим.</p>
<p>Таблицы приписок содержат, в частности, статусы виртуальных страниц. Возможны следующие значения статуса страницы:</p>
<p>1) «необходима» (страницу нельзя убирать на внешнюю память, ее абсолютный адрес не может измениться);</p>
<p>2) «нужна» (страницу желательно не убирать во внешнюю память),</p>
<p>3) «не нужна» (страницу можно убирать на внешнюю память);</p>
<p>4) «убрана на внешнюю память»;</p>
<p>5) «свободна» (страница не была создана или была уничтожена). Функциональные модули могут управлять статусами виртуальных страниц через базовые подпрограммы (см. ниже). Это является одним из источников минимизации количества обращений к внешней памяти. Со своей стороны, управляющий модуль обеспечивает минимизацию размера используемой внешней памяти засчет ее повтор­ного использования.</p>

	<h4>Связанные записи</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.cybergenesys.ru/chetyre-bazovye-procedury.html" title="Четыре базовые процедуры для работы со словарем (September 13, 2008)">Четыре базовые процедуры для работы со словарем</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/kompilyator-fortrana.html" title="Компилятор Фортрана для ВК ЭВМ (September 13, 2008)">Компилятор Фортрана для ВК ЭВМ</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/bazovye-procedury.html" title="Четыре базовые процедуры для работы с текстом (September 13, 2008)">Четыре базовые процедуры для работы с текстом</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/struktura-arxiva.html" title="Структура архива файловой подсистемы (September 13, 2008)">Структура архива файловой подсистемы</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/puti-dostupa-k-dannym.html" title="Пути доступа к данным (September 13, 2008)">Пути доступа к данным</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.cybergenesys.ru/virtualnaya-adresaciya-stranicy.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Четыре базовые процедуры для работы с текстом</title>
		<link>http://www.cybergenesys.ru/bazovye-procedury.html</link>
		<comments>http://www.cybergenesys.ru/bazovye-procedury.html#comments</comments>
		<pubDate>Sat, 13 Sep 2008 11:48:27 +0000</pubDate>
		<dc:creator>ljsdfffosdnfvsdvc</dc:creator>
				<category><![CDATA[Многопроходные компиляторы]]></category>
		<category><![CDATA[базовые процедуры]]></category>
		<category><![CDATA[вход]]></category>
		<category><![CDATA[выход]]></category>
		<category><![CDATA[доступ]]></category>
		<category><![CDATA[ОЗУ]]></category>
		<category><![CDATA[память]]></category>
		<category><![CDATA[работа с текстом]]></category>
		<category><![CDATA[страницы]]></category>
		<category><![CDATA[текст]]></category>
		<category><![CDATA[четыре базовые процедуры]]></category>

		<guid isPermaLink="false">http://www.cybergenetic.ru/?p=96</guid>
		<description><![CDATA[Имеются четыре базовые процедуры для работы с текстом. 1) СОЗДАТЬ_СТРАНИЦУ (&#60; исходная ссылка &#62; [, &#60; статус исходной страницы &#62;]). Результат: ссылка и абсолютный адрес созданной страницы. Если указан второй параметр, то созданная страница подвязывается в цепочку к исходной. 2) ТЕКСТОВАЯ_ССЫЛКА_В_АДРЕС (&#60; текстовая ссылка &#62; [, &#60; статус &#62;]). Результат: абсолютный адрес, соответствующий текстовой ссылке. [...]]]></description>
			<content:encoded><![CDATA[<p>Имеются четыре базовые процедуры для работы с текстом.</p>
<p>1) СОЗДАТЬ_СТРАНИЦУ (&lt; исходная ссылка &gt; [, &lt; статус исходной страницы &gt;]). Результат: ссылка и абсолютный адрес созданной страницы. Если указан второй параметр, то созданная страница подвязывается в цепочку к исходной.</p>
<p>2) ТЕКСТОВАЯ_ССЫЛКА_В_АДРЕС (&lt; текстовая ссылка &gt; [, &lt; статус &gt;]). Результат: абсолютный адрес, соответствующий текстовой ссылке. Если страницы не было в ОЗУ, то происходит ее считывание. Если указан второй параметр, то страница получает заданный</p>
<p>статус (по умолчанию — «нужна»).</p>
<p>3) ШАГ___ ПО ЦЕПОЧКЕ</p>
<p>(&lt; исходная ссылка &gt; [, ( статус исходной страницы ) ]). Резуль тат: следующая по цепочке виртуальная страница попадет в ОЗУ со статусом «необходима». Исходная страница получает заданный статус (по умолчанию —«не нужна»).</p>
<p>4) УСТАНОВИТЬ__СТАТУС (&lt; текстовая ссылка&gt;[, &lt; статус &gt; ]). Результат: указанная стра ница текста получает заданный статус.</p>
<p>Таким образом, базовый уровень работы с текстом обеспечи вает только одну структуру данных — цепочку (список) вирту альных страниц, позволяя управлять состоянием отдельных страниц. Текстовая память ориентирована на последовательный просмотр текста, однако внутри страницы, находящейся в ОЗУ, доступ к информации осуществляется по адресу, а не по ссылке. Начала и концы всех цепочек отслеживаются функциональными модулями. Обычно существует одна входная цепочка (из нее идет считывание, переход к новой странице выполняется процедурой ШАГ_ПО__ЦЕПОЧКЕ) и одна выходная цепочка (в нее идет запись, а переход к новой странице выполняется процедурой СОЗДАТЬ__СТРАНИЦУ). Одновременно могут существовать и другие цепочки текста.</p>

	<h4>Связанные записи</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.cybergenesys.ru/chetyre-bazovye-procedury.html" title="Четыре базовые процедуры для работы со словарем (September 13, 2008)">Четыре базовые процедуры для работы со словарем</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/programmno-virtualnaya-pamyat.html" title="Программно-управляемая виртуальная память (September 13, 2008)">Программно-управляемая виртуальная память</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/kompilyator-fortrana.html" title="Компилятор Фортрана для ВК ЭВМ (September 13, 2008)">Компилятор Фортрана для ВК ЭВМ</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/upravlenie-operativnoj-pamyatyu.html" title="Управление внутренней оперативной памятью (September 13, 2008)">Управление внутренней оперативной памятью</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/podsistemu-upravleniya-fajlami.html" title="Подсистему управления файлами в КЛОС (September 13, 2008)">Подсистему управления файлами в КЛОС</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.cybergenesys.ru/bazovye-procedury.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Четыре базовые процедуры для работы со словарем</title>
		<link>http://www.cybergenesys.ru/chetyre-bazovye-procedury.html</link>
		<comments>http://www.cybergenesys.ru/chetyre-bazovye-procedury.html#comments</comments>
		<pubDate>Sat, 13 Sep 2008 11:45:33 +0000</pubDate>
		<dc:creator>ljsdfffosdnfvsdvc</dc:creator>
				<category><![CDATA[Многопроходные компиляторы]]></category>
		<category><![CDATA[базовые процедуры]]></category>
		<category><![CDATA[виртуальная память]]></category>
		<category><![CDATA[память]]></category>
		<category><![CDATA[словарь]]></category>
		<category><![CDATA[ссылки]]></category>
		<category><![CDATA[страницы]]></category>
		<category><![CDATA[четыре базовые процедуры]]></category>

		<guid isPermaLink="false">http://www.cybergenetic.ru/?p=95</guid>
		<description><![CDATA[Имеются четыре базовые процедуры для работы со словарем. 1) СЛОВАРНАЯ_ССЫЛКА_В АДРЕС (&#60; словарная ссылка &#62;). Результат: абсолютный адрес, соответствующий словарной ссылке. Страница получает статус «нужна». 2) СОЗДАТЬ_ЗАПИСЬ (&#60; адрес &#62;, &#60; длина &#62;). Результат: словарная ссылка на созданную запись. 3) ФИКСИРОВАТЬ_СТРАНИЦУ (&#60;словарная ссылка&#62;). Результат: словарная страница получает статус «необходима». 4) РАСФИКСИРОВАТЬ_СТРАНИЦУ (&#60;словарная ссылка&#62;). Результат: словарная [...]]]></description>
			<content:encoded><![CDATA[<p>Имеются четыре базовые процедуры для работы со словарем.</p>
<p>1) СЛОВАРНАЯ_ССЫЛКА_В АДРЕС (&lt; словарная ссылка &gt;). Результат: абсолютный адрес, соответствующий словарной ссылке. Страница получает статус «нужна».</p>
<p>2) СОЗДАТЬ_ЗАПИСЬ (&lt; адрес &gt;, &lt; длина &gt;). Результат: словарная ссылка на созданную запись.</p>
<p>3) ФИКСИРОВАТЬ_СТРАНИЦУ (&lt;словарная ссылка&gt;). Результат: словарная страница получает статус «необходима».</p>
<p>4) РАСФИКСИРОВАТЬ_СТРАНИЦУ (&lt;словарная ссылка&gt;). Результат: словарная страница получает статус «нужна». Процедуры фиксации и расфикации реализуются записью<br />
словарной ссылки в определенную ячейку зоны связи.</p>
<p>В процедуре СОЗДАТЬ ЗАПИСЬ можно задавать любую длину, не превосходящую размеров словарной страницы. Описанные процедуры работы со словарем используются лишь в том случае, если словарная виртуальная память отображается на «окно» оперативной памяти. Если словарь прямоадресуемый, то преобразование словарной ссылки в адрес тривиально.</p>

	<h4>Связанные записи</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.cybergenesys.ru/bazovye-procedury.html" title="Четыре базовые процедуры для работы с текстом (September 13, 2008)">Четыре базовые процедуры для работы с текстом</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/programmno-virtualnaya-pamyat.html" title="Программно-управляемая виртуальная память (September 13, 2008)">Программно-управляемая виртуальная память</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/kompilyator-fortrana.html" title="Компилятор Фортрана для ВК ЭВМ (September 13, 2008)">Компилятор Фортрана для ВК ЭВМ</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/virtualnaya-adresaciya-stranicy.html" title="Виртуальная адресация. Страницы. (September 13, 2008)">Виртуальная адресация. Страницы.</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/upravlyayushhij-modul.html" title="Управляющий модуль (July 7, 2008)">Управляющий модуль</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.cybergenesys.ru/chetyre-bazovye-procedury.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Алгоритм замещения страниц</title>
		<link>http://www.cybergenesys.ru/algoritm-zameshheniya-stranic.html</link>
		<comments>http://www.cybergenesys.ru/algoritm-zameshheniya-stranic.html#comments</comments>
		<pubDate>Sat, 13 Sep 2008 11:41:27 +0000</pubDate>
		<dc:creator>ljsdfffosdnfvsdvc</dc:creator>
				<category><![CDATA[Многопроходные компиляторы]]></category>
		<category><![CDATA[внутрисистемная аварийная ситуация]]></category>
		<category><![CDATA[оверлейная подкачка]]></category>
		<category><![CDATA[оценка системы]]></category>
		<category><![CDATA[управление памятью]]></category>

		<guid isPermaLink="false">http://www.cybergenetic.ru/?p=94</guid>
		<description><![CDATA[Алгоритм замещения страниц ОЗУ инструментальной ЭВМ содержит «окна» для оверлейной подкачки программных модулей и страниц виртуальной памяти. До тех пор, пока суммарная длина словаря и текста (количество созданных страниц) меньше или равно длине «окна» виртуальной памяти, обмены с внешней памятью для данных отсутствуют. При нарушении этого неравенства возникает необходимость убрать (откачать) во внешнюю память какую-либо [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><strong>Алгоритм замещения страниц</strong></p>
<p>ОЗУ инструментальной ЭВМ содержит «окна» для оверлейной подкачки программных модулей и страниц виртуальной памяти. До тех пор, пока суммарная длина словаря и текста (количество созданных страниц) меньше или равно длине «окна» виртуальной памяти, обмены с внешней памятью для данных отсутствуют. При нарушении этого неравенства возникает необходимость убрать (откачать) во внешнюю память какую-либо из страниц, находящуюся в «окне». Поскольку «окно» — общее для словарных и текстовых страниц, они могут замещать друг друга. Замещаемая страница выбирается по-следующему алгоритму: 1) первая свободная страница «окна» (откачки нет), или 2) первая не нужная, или 3) первая нужная. Если таковых страниц не обнаружено, возникает внутрисистемная аварийная ситуация, означающая, что все страницы «окна» имеют статус «необходима». В свою очередь, это свидетельствует либо об ошибке при определении размера «окна» при генерации компилятора, либо об ошибке в алгоритме функционального модуля (непра вильное управление статусами). Имеется возможность смены алгоритма замещения страниц, дающая приоритет, например, текстовым страницам.</p>
<p>Оценка системы управления памятью. При ограниченном размере ОЗУ инструментальной ЭВМ обмены с внешней памятью становятся неизбежными. Именно они оказывают существенное влияние на скорость компиляции. В условиях, когда количественные характеристики входного потока информации могут сильно меняться, основным средством для достижения приемлемой скорости компиляции была выбрана миними­зация суммарного количества обращений к внешней памяти за данными и программами в процессе компиляции.</p>

	<h4>Связанные записи</h4>
	<ul class="st-related-posts">
	<li>Нет связанных записей.</li>
	</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.cybergenesys.ru/algoritm-zameshheniya-stranic.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Отладочный режим</title>
		<link>http://www.cybergenesys.ru/otladochnyj-rezhim.html</link>
		<comments>http://www.cybergenesys.ru/otladochnyj-rezhim.html#comments</comments>
		<pubDate>Sat, 13 Sep 2008 11:37:26 +0000</pubDate>
		<dc:creator>ljsdfffosdnfvsdvc</dc:creator>
				<category><![CDATA[Многопроходные компиляторы]]></category>
		<category><![CDATA[Базовый уровень]]></category>
		<category><![CDATA[структура компилятора]]></category>
		<category><![CDATA[управляющий модуль]]></category>
		<category><![CDATA[функциональный уровень]]></category>

		<guid isPermaLink="false">http://www.cybergenetic.ru/?p=93</guid>
		<description><![CDATA[Отладочный режим Структура компилятора предусматривает возможность отладки в пакетном режиме. Отладочный режим задается как параметр запуска. Таким образом, пользователь защищен от появления непонятной ему системной выдачи в процессе эксплуатации, но возможность получения такой выдачи существует. Процедуры выдачи системной информации, аналогично процедурам работы с внутренней оперативной памятью (см. выше), разделены на два уровня: 1) базовый уровень, [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><strong>Отладочный режим </strong></p>
<p>Структура компилятора предусматривает возможность отладки в пакетном режиме. Отладочный режим задается как параметр запуска. Таким образом, пользователь защищен от появления непонятной ему системной выдачи в процессе эксплуатации, но возможность получения такой выдачи существует. Процедуры выдачи системной информации, аналогично процедурам работы с внутренней оперативной памятью (см. выше), разделены на два уровня: 1) базовый уровень, 2) функциональный уровень. К функциональному уровню принадлежат процедуры, выдающие содержимое внутренней памяти в соответствии с формами текущего внутреннего представления информации. Например, для текста выдается текущая выходная цепочка. Эти процедуры входят в функциональные модули. Процедуры базового уровня входят в управляющий модуль. Они выдают содержимое несвободных текстовых страниц в 16-ричном виде, а в словаре специальным образом выделяют записи, содержащие символьную информацию и диагностические сообщения. Процедуры базового уровня работают нормально даже в условиях нарушения формата внутреннего представления вследствие системных ошибок. О процедурах функционального уровня этого, вообще говоря, сказать нельзя.</p>
<p>В режиме эксплуатации отладочная печать может быть выдана в случае возникновения одного из следующих событий:</p>
<p>1)достижение контрольной точки в процессе компиляции (конец работы фазы), 2)внутрисистемная аварийная ситуация (обращение к несуществующей странице виртуальной памяти и т. д.), 3) аварийная ситуация в смысле операционной системы (исчерпание заказанных в задаче ресурсов и т. д.).</p>

	<h4>Связанные записи</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.cybergenesys.ru/upravlenie-operativnoj-pamyatyu.html" title="Управление внутренней оперативной памятью (September 13, 2008)">Управление внутренней оперативной памятью</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/upravlyayushhij-modul.html" title="Управляющий модуль (July 7, 2008)">Управляющий модуль</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/realizaciya.html" title="Реализация (July 7, 2008)">Реализация</a> (1)</li>
	<li><a href="http://www.cybergenesys.ru/rabochej-pamyat-kompilyatora.html" title="Рабочей память компилятора (September 13, 2008)">Рабочей память компилятора</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/programmno-virtualnaya-pamyat.html" title="Программно-управляемая виртуальная память (September 13, 2008)">Программно-управляемая виртуальная память</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.cybergenesys.ru/otladochnyj-rezhim.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Компилятор Фортрана для ВК ЭВМ</title>
		<link>http://www.cybergenesys.ru/kompilyator-fortrana.html</link>
		<comments>http://www.cybergenesys.ru/kompilyator-fortrana.html#comments</comments>
		<pubDate>Sat, 13 Sep 2008 11:14:35 +0000</pubDate>
		<dc:creator>ljsdfffosdnfvsdvc</dc:creator>
				<category><![CDATA[Многопроходные компиляторы]]></category>
		<category><![CDATA[алгоритм]]></category>
		<category><![CDATA[ВК]]></category>
		<category><![CDATA[компилятор]]></category>
		<category><![CDATA[компилятор Фортрана]]></category>
		<category><![CDATA[ОЗУ]]></category>
		<category><![CDATA[память]]></category>
		<category><![CDATA[ссылки]]></category>
		<category><![CDATA[страницы]]></category>
		<category><![CDATA[текст]]></category>
		<category><![CDATA[файл]]></category>
		<category><![CDATA[ЭВМ]]></category>

		<guid isPermaLink="false">http://www.cybergenetic.ru/?p=91</guid>
		<description><![CDATA[Компилятор Фортрана для ВК ЭВМ При разработке структуры компилятора Фортрана учитывались следующие соображения: 1) компилятор является прямым и реализуется на автокоде ВК ЭВМ, 2) ВК ЭВМ обладает достаточно большой оперативной памятью по сравнению с существующими ЭВМ, 3) компилятор строится по многопроходной схеме, так как он должен обладать достаточно мощными средствами оптимиза­ции. Опыт использования описанной структуры [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><strong>Компилятор Фортрана для ВК ЭВМ</strong></p>
<p>При разработке структуры компилятора Фортрана учитывались следующие соображения: 1) компилятор является прямым и реализуется на автокоде ВК ЭВМ, 2) ВК ЭВМ обладает достаточно большой оперативной памятью по сравнению с существующими ЭВМ, 3) компилятор строится по многопроходной схеме, так как он должен обладать достаточно мощными средствами оптимиза­ции. Опыт использования описанной структуры многопроходного компилятора учитывался в качестве исходного. Однако имеются и некоторые отличия. Словарь является прямоадресуемым и постоянно находится в оперативной памяти. Это связано с тем, что, во-первых, имеется достаточная для этого память, и во-вторых, тем, что для большинства фаз компиляции словарная информация используется весьма интенсивно. Размер словарной ссылки (относительного адреса) — 16 разрядов (64К слов). Для организации работы с текстом использовался описанный виртуальный принцип. Текстовые страницы виртуальной памяти размещаются в ОЗУ в «окне», которое может содержать одновременно до 8 таких страниц. Размер тексто вой ссылки 24 разряда. Так как одним из предполагаемых видов оптимизации является совместная компиляция пакета фортрановских процедур, в процессе компиляции могут быть получены тексты, которые вряд ли целесообразно хранить в ОЗУ целиком. Предполагаемые виды оптимизации являются достаточно мощными и глубокими. Одним из основных моментов при разработке алгоритмов подобных видов оптимизации является требование обеспечения максимально гибкой структуры организации текста, обеспечивающей возможно более широкий набор операций, которые можно над ним выполнять. Описанная ранее структура виртуальной текстовой памяти отвечает этим требованиям достаточно хорошо, т. к. позволяет организовать некоторые файловые структуры над обрабатываемым текстом.</p>

	<h4>Связанные записи</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.cybergenesys.ru/upravlenie-operativnoj-pamyatyu.html" title="Управление внутренней оперативной памятью (September 13, 2008)">Управление внутренней оперативной памятью</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/bazovye-procedury.html" title="Четыре базовые процедуры для работы с текстом (September 13, 2008)">Четыре базовые процедуры для работы с текстом</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/kross-assembler.html" title="Кросс-ассемблер ИК ВК ЭВМ (July 5, 2008)">Кросс-ассемблер ИК ВК ЭВМ</a> (1)</li>
	<li><a href="http://www.cybergenesys.ru/kompilyator.html" title="Компилятор с расширенным вариантом языка Паскаль (September 13, 2008)">Компилятор с расширенным вариантом языка Паскаль</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/chetyre-bazovye-procedury.html" title="Четыре базовые процедуры для работы со словарем (September 13, 2008)">Четыре базовые процедуры для работы со словарем</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.cybergenesys.ru/kompilyator-fortrana.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

