<?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/klos-operacionnaya-sistema/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/yadro-klos.html</link>
		<comments>http://www.cybergenesys.ru/yadro-klos.html#comments</comments>
		<pubDate>Sat, 13 Sep 2008 22:18:27 +0000</pubDate>
		<dc:creator>ljsdfffosdnfvsdvc</dc:creator>
				<category><![CDATA[Клос]]></category>
		<category><![CDATA[КЛОС]]></category>
		<category><![CDATA[Ядро КЛОС]]></category>

		<guid isPermaLink="false">http://www.cybergenetic.ru/?p=144</guid>
		<description><![CDATA[Ядро КЛОС поставляет базу для единой технологии программирования, на которой выстраивается разнообразный «сервис»: системы проектирования и программирования. В част ности, для использования всех преимуществ работы на уровне базовых объектов ядра требуется расширение используемых языков программирования. Все остальные подсистемы, включая такую «внутреннюю» подсистему как подсистема управления вводом/выводом, строятся по единой технологии, обеспеченной ядром КЛОС. Нужно особо [...]]]></description>
			<content:encoded><![CDATA[<p>Ядро КЛОС поставляет базу для единой технологии программирования, на которой выстраивается разнообразный «сервис»: системы проектирования и программирования. В част ности, для использования всех преимуществ работы на уровне базовых объектов ядра требуется расширение используемых языков программирования. Все остальные подсистемы, включая такую «внутреннюю» подсистему как подсистема управления вводом/выводом, строятся по единой технологии, обеспеченной ядром КЛОС.</p>
<p>Нужно особо отметить, что КЛОС строится как переносимая операционная система. Для ядра это означает прежде всегопереносимый интерфейс между ядром и непривилегированными программами, что позволяет производить «легко переносимые»&#8217; подсистемы.</p>
<p>В настоящей статье остановлюсь на некоторых особен ностях ядра КЛОС. При этом упор будет делаться на наиболее нетрадиционные черты КЛОС, а также на те черты, которые, наиболее сильно влияют на выбор структуры и технологии раз работки программных комплексов. В качестве примера таких комплексов будет кратко рассказано о системах управления: файлами и базами данных в КЛОС.</p>

	<h4>Связанные записи</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.cybergenesys.ru/unikalnyj-identifikator-podklyucheniya.html" title="Уникальный идентификатор под­ключения (September 14, 2008)">Уникальный идентификатор под­ключения</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/podxod-prinyatyj-v-klos.html" title="Традиционный подход принятый в клос (September 14, 2008)">Традиционный подход принятый в клос</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/effektivnaya-obra%c2%adbotka-preryvanij.html" title="Эффективная обра­ботка прерываний (September 14, 2008)">Эффективная обра­ботка прерываний</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/fajlovaya-podsistema.html" title="Файловая подсистема (July 8, 2008)">Файловая подсистема</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/sistema-upravleniya-bazami-dannyx.html" title="Система управления базами данных (July 8, 2008)">Система управления базами данных</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.cybergenesys.ru/yadro-klos.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Традиционный подход принятый в клос</title>
		<link>http://www.cybergenesys.ru/podxod-prinyatyj-v-klos.html</link>
		<comments>http://www.cybergenesys.ru/podxod-prinyatyj-v-klos.html#comments</comments>
		<pubDate>Sat, 13 Sep 2008 22:15:02 +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>

		<guid isPermaLink="false">http://www.cybergenetic.ru/?p=143</guid>
		<description><![CDATA[Основное расширение этого традиционного подхода, приня­тое в КЛОС, состоит в том, что кластер получает свойство асинхронного выполнения. Это означает, что операция в кластере может выполняться независимо от обратившегося кластера, который после обращения продолжает свое выполне­ние, а для получения обратных параметров требуется обратное обращение и соответствующая взаимная синхронизация. Ядро КЛОС выполняет, следовательно, необходимую буферизацию обращений (параметров [...]]]></description>
			<content:encoded><![CDATA[<p>Основное расширение этого традиционного подхода, приня­тое в КЛОС, состоит в том, что кластер получает свойство асинхронного выполнения. Это означает, что операция в кластере может выполняться независимо от обратившегося кластера, который после обращения продолжает свое выполне­ние, а для получения обратных параметров требуется обратное обращение и соответствующая взаимная синхронизация. Ядро КЛОС выполняет, следовательно, необходимую буферизацию обращений (параметров обращений) к кластерам. Таким обра­зом, понятие кластера объединяет в себе не только понятия процедуры и данных, но и понятие процесса.</p>
<p>Второе существенное расширение семантики кластера ка­сается проблемы синхронизации. Утверждается, что всякая синхронизация есть синхронизация операций над объектом, по­этому она является частью управления этим объектом и, следо­вательно, должна выполняться самим кластером—объектом. «Физически» это означает, что кластер—объект сам выбирает или не выбирает для выполнения обращения к различным сво­им входам (соответствующим операциям) от других кластеров в зависимости от своего состояния.</p>

	<h4>Связанные записи</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.cybergenesys.ru/klaster-klient.html" title="Кластер-клиент может лишиться доступа (September 14, 2008)">Кластер-клиент может лишиться доступа</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/svedeniya-parametrov.html" title="Сведения к минимуму пере­даваемых параметров (September 13, 2008)">Сведения к минимуму пере­даваемых параметров</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/osnovnye-cherty-programmirovaniya.html" title="Основные черты программирования (July 8, 2008)">Основные черты программирования</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/prioritetnaya-sistema.html" title="Многоуровневая приоритетная система (September 13, 2008)">Многоуровневая приоритетная система</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/yadro-klos.html" title="Ядро клос (September 14, 2008)">Ядро клос</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.cybergenesys.ru/podxod-prinyatyj-v-klos.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Асинхронные кластеры</title>
		<link>http://www.cybergenesys.ru/asinxronnye-klastery.html</link>
		<comments>http://www.cybergenesys.ru/asinxronnye-klastery.html#comments</comments>
		<pubDate>Sat, 13 Sep 2008 22:13:25 +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>

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

	<h4>Связанные записи</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.cybergenesys.ru/klaster-klient.html" title="Кластер-клиент может лишиться доступа (September 14, 2008)">Кластер-клиент может лишиться доступа</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/vyxodnye-i-vxodnye-bufera.html" title="Выходные и входные буфера (September 14, 2008)">Выходные и входные буфера</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/podxod-prinyatyj-v-klos.html" title="Традиционный подход принятый в клос (September 14, 2008)">Традиционный подход принятый в клос</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/svedeniya-parametrov.html" title="Сведения к минимуму пере­даваемых параметров (September 13, 2008)">Сведения к минимуму пере­даваемых параметров</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/obrabotka-operacii.html" title="Обработка операции (September 13, 2008)">Обработка операции</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.cybergenesys.ru/asinxronnye-klastery.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Все входы кластера</title>
		<link>http://www.cybergenesys.ru/vse-vxody-klastera.html</link>
		<comments>http://www.cybergenesys.ru/vse-vxody-klastera.html#comments</comments>
		<pubDate>Sat, 13 Sep 2008 22:12:10 +0000</pubDate>
		<dc:creator>ljsdfffosdnfvsdvc</dc:creator>
				<category><![CDATA[Клос]]></category>
		<category><![CDATA[кластер]]></category>
		<category><![CDATA[кластер-объект]]></category>
		<category><![CDATA[КЛОС]]></category>

		<guid isPermaLink="false">http://www.cybergenetic.ru/?p=141</guid>
		<description><![CDATA[Все входы кластера распределяются в одну или более групп входов; разные группы могут включать одинаковые входы. Группа входов есть то, к чему другие кластеры могут иметь или не иметь доступа: если кластер имеет доступ к группе вхо­дов другого кластера, то он имеет право обращаться на все вхо­ды этой группы. Например, кластер, открывший файл на чте­ние, [...]]]></description>
			<content:encoded><![CDATA[<p>Все входы кластера распределяются в одну или более групп входов; разные группы могут включать одинаковые входы.</p>
<p>Группа входов есть то, к чему другие кластеры могут иметь или не иметь доступа: если кластер имеет доступ к группе вхо­дов другого кластера, то он имеет право обращаться на все вхо­ды этой группы. Например, кластер, открывший файл на чте­ние, имеет доступ к группе входов (CLOSE, READ) кластера-файла, а кластер, открывший файл на запись, имеет доступ к группе входов (CLOSE, READ, WRITE).</p>
<p>Такой «доступ» описывается объектом, называемым подклю­чение. Подключение содержит ссылку на группу входов класте­ра-объекта и ссылку на кластера-клиента, владеющего этим подключением (доступом к этой группе входов). Например, ес­ли файл открыт на чтение для трех кластеров-клиентов, то бу­дут существовать три подключения к группе входов (CLOSE, READ) кластера-файла. Под кластером файла в этих при­мерах понимается кластер-объект, то есть кластер конкретного файла.</p>
<p>Некоторые группы входов кластера описываются как «ста­тические». Если группа входов описана как статическая, это означает, что после порождения кластера будет разрешен до­ступ к этой группе входов. «Кому разрешен?» — это уже другой вопрос, обсуждаемый ниже при описании процесса компоновки подсистем. В процессе выполнения кластер имеет возможность динамически разрешать и отменять доступ к своим группам входов. Для разрешения доступа используется примитив ПОД­КЛЮЧЕНИЕ, создающий подключение к указанной группе входов текущего кластера-объекта; владельцем такого подклю­чения сначала становится сам кластер-объект. В дальнейшем, он может передать подключение как параметр обращения дру­гому кластеру-клиенту, становящемуся новым владельцем под­ключения.</p>

	<h4>Связанные записи</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.cybergenesys.ru/svedeniya-parametrov.html" title="Сведения к минимуму пере­даваемых параметров (September 13, 2008)">Сведения к минимуму пере­даваемых параметров</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/primitiv-stop.html" title="Примитив СТОП (September 14, 2008)">Примитив СТОП</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/klaster-klient.html" title="Кластер-клиент может лишиться доступа (September 14, 2008)">Кластер-клиент может лишиться доступа</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/effektivnaya-obra%c2%adbotka-preryvanij.html" title="Эффективная обра­ботка прерываний (September 14, 2008)">Эффективная обра­ботка прерываний</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/fajlovaya-podsistema.html" title="Файловая подсистема (July 8, 2008)">Файловая подсистема</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.cybergenesys.ru/vse-vxody-klastera.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Уникальный идентификатор под­ключения</title>
		<link>http://www.cybergenesys.ru/unikalnyj-identifikator-podklyucheniya.html</link>
		<comments>http://www.cybergenesys.ru/unikalnyj-identifikator-podklyucheniya.html#comments</comments>
		<pubDate>Sat, 13 Sep 2008 22:10:20 +0000</pubDate>
		<dc:creator>ljsdfffosdnfvsdvc</dc:creator>
				<category><![CDATA[Клос]]></category>
		<category><![CDATA[кластер-объект]]></category>
		<category><![CDATA[КЛОС]]></category>
		<category><![CDATA[Ядро КЛОС]]></category>

		<guid isPermaLink="false">http://www.cybergenetic.ru/?p=140</guid>
		<description><![CDATA[Каждое подключение имеет уникальный идентификатор под­ключения (идентификатор доступа), сообщаемый в ответ на примитив ПОДКЛЮЧЕНИЕ. Используя в дальнейшем этот идентификатор, кластер-объект может различать обращения на свои входы, выполняемые через разные подключения, то есть различать разных клиентов. Для этого ядро КЛОС сообщает кластеру-объекту в качестве обязательного параметра иденти­фикатор подключения, через которое выполнялось выбираемое объектом обращение от клиента [...]]]></description>
			<content:encoded><![CDATA[<p>Каждое подключение имеет уникальный идентификатор под­ключения (идентификатор доступа), сообщаемый в ответ на примитив ПОДКЛЮЧЕНИЕ. Используя в дальнейшем этот идентификатор, кластер-объект может различать обращения на свои входы, выполняемые через разные подключения, то есть различать разных клиентов. Для этого ядро КЛОС сообщает кластеру-объекту в качестве обязательного параметра иденти­фикатор подключения, через которое выполнялось выбираемое объектом обращение от клиента (об одном исключении речь пойдет ниже). Об идентификаторах подключений к статическим группам входов, создаваемым при порождении кластера-объек­та, а не в результате примитива ПОДКЛЮЧЕНИЕ, кластеру-объекту, конечно, ничего заранее не известно. Статические группы входов как бы «открыты» для доступа с точки зрения самого кластера-объекта. В качестве примера можно рассмот­реть статическую группу входов (OPEN—READ, OPEN— WRITE). При обращении на вход, например, OPEN—READ кластер-файл выполняет ПОДКЛЮЧЕНИЕ к группе входов (CLOSE, READ) и в качестве обратного параметра сообщает обратившемуся клиенту идентификатор подключения к этой группе входов.</p>
<p>Примитив ОТКЛЮЧЕНИЕ может выполняться кластером-объектом с указанием идентификатора созданного ранее под­ключения. Ядро запрещает в дальнейшем все обращения через указанное подключение, хотя уже «проскочившие», но еще не выбранные объектом, обращения через данное подключение остаются.</p>

	<h4>Связанные записи</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.cybergenesys.ru/yadro-klos.html" title="Ядро клос (September 14, 2008)">Ядро клос</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/effektivnaya-obra%c2%adbotka-preryvanij.html" title="Эффективная обра­ботка прерываний (September 14, 2008)">Эффективная обра­ботка прерываний</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/podxod-prinyatyj-v-klos.html" title="Традиционный подход принятый в клос (September 14, 2008)">Традиционный подход принятый в клос</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/svedeniya-parametrov.html" title="Сведения к минимуму пере­даваемых параметров (September 13, 2008)">Сведения к минимуму пере­даваемых параметров</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/primitiv-stop.html" title="Примитив СТОП (September 14, 2008)">Примитив СТОП</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.cybergenesys.ru/unikalnyj-identifikator-podklyucheniya.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Кластер-клиент может лишиться доступа</title>
		<link>http://www.cybergenesys.ru/klaster-klient.html</link>
		<comments>http://www.cybergenesys.ru/klaster-klient.html#comments</comments>
		<pubDate>Sat, 13 Sep 2008 22:08:05 +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=139</guid>
		<description><![CDATA[Кластер-клиент может лишиться доступа к некоторой груп­пе входов не только по инициативе кластера-объекта, выпол­нившего примитив ОТКЛЮЧЕНИЕ, но и по собственной ини­циативе — как автоматический результат выполнения обраще­ний по некоторым входам из группы. Например, в результате обращения на вход CLOSE кластер-клиент теряет возможность работы с файлом. Такие входы кластера называются входами отстройки. Технически обращение на вход [...]]]></description>
			<content:encoded><![CDATA[<p>Кластер-клиент может лишиться доступа к некоторой груп­пе входов не только по инициативе кластера-объекта, выпол­нившего примитив ОТКЛЮЧЕНИЕ, но и по собственной ини­циативе — как автоматический результат выполнения обраще­ний по некоторым входам из группы. Например, в результате обращения на вход CLOSE кластер-клиент теряет возможность работы с файлом. Такие входы кластера называются входами отстройки. Технически обращение на вход отстройки через не­которое подключение приводит к тому, что это подключение передается кластеру-объекту как неявный параметр. Получив этот параметр, кластер-объект оказывается его владельцем и может передать его другому кластеру-клиенту пли уничтожить (через примитив ОТКЛЮЧЕНИЕ). Таким способом осуществ­ляется в КЛОС защита входов кластеров и контроль доступа к ним.</p>
<p>Если после обращения кластера-клиента к кластеру-объекту требуется передача «в обратном направлении» обратных пара­метров, то объект для выполнения такого ответного обращения должен иметь подключение к некоторой группе входов клиента. Ядро в этом месте не налагает никаких ограничений и вообще не различает прямые и обратные обращения. Один из возмож­ных интерфейсов может предусматривать передачу объекту в качестве одного из прямых параметров подключения к группе входов клиента, состоящей из одного входа отстройки. В этом случае гарантируется, что на одно обращение к объекту клиент получит ровно одно ответное обращение. Симметричная схема реализует естественное обобщение сопрограммного взаимодей­ствия («обобщение» заключается в том, что между передачей прямых параметров и получением обратных параметров клас­тер может выполнять любые действия асинхронно со своим партнером).</p>

	<h4>Связанные записи</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.cybergenesys.ru/podxod-prinyatyj-v-klos.html" title="Традиционный подход принятый в клос (September 14, 2008)">Традиционный подход принятый в клос</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/svedeniya-parametrov.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>
	<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/primitiv-stop.html" title="Примитив СТОП (September 14, 2008)">Примитив СТОП</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.cybergenesys.ru/klaster-klient.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Два сегмента памяти</title>
		<link>http://www.cybergenesys.ru/dva-segmenta-pamyati.html</link>
		<comments>http://www.cybergenesys.ru/dva-segmenta-pamyati.html#comments</comments>
		<pubDate>Sat, 13 Sep 2008 21:53:37 +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>

		<guid isPermaLink="false">http://www.cybergenetic.ru/?p=138</guid>
		<description><![CDATA[Рассмотрим структуру памяти кластера и способы работы с ней. Пока будем считать, что кластеры не имеют об­щих данных, и что параметры от кластера к кластеру переда­ются только по значению (определенные послабления в этом вопросе мы рассмотрим ниже). Каждый кластер состоит, по крайней мере, из двух сегментов памяти: сегмента программного кода и сегмента локального по­ля. При [...]]]></description>
			<content:encoded><![CDATA[<p>Рассмотрим структуру памяти кластера и способы работы с ней. Пока будем считать, что кластеры не имеют об­щих данных, и что параметры от кластера к кластеру переда­ются только по значению (определенные послабления в этом вопросе мы рассмотрим ниже).</p>
<p>Каждый кластер состоит, по крайней мере, из двух сегментов памяти: сегмента программного кода и сегмента локального по­ля. При выполнении кластера оба эти сегмента должны нахо­диться в виртуальной памяти кластера. (Поскольку КЛОС — переносимая система, мы трактуем понятие виртуальной памя­ти достаточно вольно — это просто адресное пространство кла­стера). Если архитектура ЭВМ позволяет, разные экземпляры одного кластера (разные кластеры-объекты, соответствующие одному кластеру-программе) используют общий программный сегмент. Если архитектура ЭВМ требует наличия стека, то он выделяется в локальном поле кластера. Сама КЛОС не исполь­зует стековую организацию памяти (конечно, для организации процедур внутри кластера может быть полезен стек, но это де­ло компиляторов).</p>

	<h4>Связанные записи</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.cybergenesys.ru/dinamicheskie-segmenty-pamyati.html" title="Допол­нительные динамические сегменты памяти (September 14, 2008)">Допол­нительные динамические сегменты памяти</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/fajlovaya-podsistema.html" title="Файловая подсистема (July 8, 2008)">Файловая подсистема</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/podxod-prinyatyj-v-klos.html" title="Традиционный подход принятый в клос (September 14, 2008)">Традиционный подход принятый в клос</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/sistema-upravleniya-bazami-dannyx.html" title="Система управления базами данных (July 8, 2008)">Система управления базами данных</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/svedeniya-parametrov.html" title="Сведения к минимуму пере­даваемых параметров (September 13, 2008)">Сведения к минимуму пере­даваемых параметров</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.cybergenesys.ru/dva-segmenta-pamyati.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Допол­нительные динамические сегменты памяти</title>
		<link>http://www.cybergenesys.ru/dinamicheskie-segmenty-pamyati.html</link>
		<comments>http://www.cybergenesys.ru/dinamicheskie-segmenty-pamyati.html#comments</comments>
		<pubDate>Sat, 13 Sep 2008 21:51:52 +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>

		<guid isPermaLink="false">http://www.cybergenetic.ru/?p=137</guid>
		<description><![CDATA[Кластер может включать произвольное количество допол­нительных динамических сегментов памяти. Эти сегменты по­мещаются в виртуальную память не автоматически, а по явно­му примитиву ЗАГРУЗКА: в ответ ядро сообщает виртуальный адрес начала загруженного в виртуальную память сегмента. Обратный примитив РАЗГРУЗКА не обязательно приводит к реальному изъятию сегмента из виртуальной памяти (к тому же не для всякой архитектуры ЭВМ [...]]]></description>
			<content:encoded><![CDATA[<p>Кластер может включать произвольное количество допол­нительных динамических сегментов памяти. Эти сегменты по­мещаются в виртуальную память не автоматически, а по явно­му примитиву ЗАГРУЗКА: в ответ ядро сообщает виртуальный адрес начала загруженного в виртуальную память сегмента. Обратный примитив РАЗГРУЗКА не обязательно приводит к реальному изъятию сегмента из виртуальной памяти (к тому же не для всякой архитектуры ЭВМ возможно динамическое изменение адресного пространства). Этот примитив служит для информации ядра о том, что-то место в виртуальной памяти, которое занимал сегмент, может быть освобождено и повтор­но использовано для загрузки других сегментов. Вообще эти примитивы работы с сегментами нужны, прежде всего, для неза­висимости от малого размера виртуальной памяти кластеров на некоторых ЭВМ. Для машин с большой виртуальной памятью все сегменты кластера можно постоянно хранить в ней и примитивы ЗАГРУЗКА и РАЗГРУЗКА будут вырожден­ными.</p>

	<h4>Связанные записи</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.cybergenesys.ru/svedeniya-parametrov.html" title="Сведения к минимуму пере­даваемых параметров (September 13, 2008)">Сведения к минимуму пере­даваемых параметров</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/kross-zagruzchik.html" title="Кросс-загрузчик ИК ВК ЭВМ (July 4, 2008)">Кросс-загрузчик ИК ВК ЭВМ</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/dva-segmenta-pamyati.html" title="Два сегмента памяти (September 14, 2008)">Два сегмента памяти</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/fajlovaya-podsistema.html" title="Файловая подсистема (July 8, 2008)">Файловая подсистема</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/upravlenie-operativnoj-pamyatyu.html" title="Управление внутренней оперативной памятью (September 13, 2008)">Управление внутренней оперативной памятью</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.cybergenesys.ru/dinamicheskie-segmenty-pamyati.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Динамический сегмент</title>
		<link>http://www.cybergenesys.ru/dinamicheskij-segment.html</link>
		<comments>http://www.cybergenesys.ru/dinamicheskij-segment.html#comments</comments>
		<pubDate>Sat, 13 Sep 2008 21:50:16 +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=136</guid>
		<description><![CDATA[Каждый динамический сегмент имеет уникальный иденти­фикатор сегмента, который и указывается как параметр при­митивов ЗАГРУЗКА и РАЗГРУЗКА. Сегмент может быть пе­редан другому кластеру как параметр обращения; в этом слу­чае сегмент автоматически разгружается из виртуальной памяти обратившегося кластера, если он был в нее загружен, и ме­няет своего владельца. Распределением памяти в системе занимается привилегиро­ванный кластер, реализующий запрос [...]]]></description>
			<content:encoded><![CDATA[<p>Каждый динамический сегмент имеет уникальный иденти­фикатор сегмента, который и указывается как параметр при­митивов ЗАГРУЗКА и РАЗГРУЗКА. Сегмент может быть пе­редан другому кластеру как параметр обращения; в этом слу­чае сегмент автоматически разгружается из виртуальной памяти обратившегося кластера, если он был в нее загружен, и ме­няет своего владельца.</p>
<p>Распределением памяти в системе занимается привилегиро­ванный кластер, реализующий запрос и возврат сегментов. Стоит отметить, что эти операции являются не примитивами ядра, а операциями (входами) кластера (хотя и привилегиро­ванного) .</p>
<p>Теперь подробно рассмотрим, как же кластер-клиент выпол­няет обращения к кластеру-объекту, и как последний выбирает это обращение для выполнения. Для этого используются два примитива: ПУСК и СТОП.</p>

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

]]></content:encoded>
			<wfw:commentRss>http://www.cybergenesys.ru/dinamicheskij-segment.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Примитив ПУСК</title>
		<link>http://www.cybergenesys.ru/primitiv-pusk.html</link>
		<comments>http://www.cybergenesys.ru/primitiv-pusk.html#comments</comments>
		<pubDate>Sat, 13 Sep 2008 21:48:02 +0000</pubDate>
		<dc:creator>ljsdfffosdnfvsdvc</dc:creator>
				<category><![CDATA[Клос]]></category>
		<category><![CDATA[кластер]]></category>
		<category><![CDATA[кластер-клиент]]></category>
		<category><![CDATA[КЛОС]]></category>

		<guid isPermaLink="false">http://www.cybergenetic.ru/?p=135</guid>
		<description><![CDATA[Примитив ПУСК выполняется в кластере-клиенте и означа­ет: «передать указанные параметры кластеру-объекту через указанное подключение на указанный вход». Все параметры ПУСКа должны располагаться в специальном выходном буфере параметров. Прежде всего, там указываются идентификатор подключения и вход (в виде относительного номера входа в группе входов, на которую ссылается подключение), на кото­рый выполняется обращение. Далее перечисляются передавае­мые параметры. [...]]]></description>
			<content:encoded><![CDATA[<p>Примитив ПУСК выполняется в кластере-клиенте и означа­ет: «передать указанные параметры кластеру-объекту через указанное подключение на указанный вход». Все параметры ПУСКа должны располагаться в специальном выходном буфере параметров. Прежде всего, там указываются идентификатор подключения и вход (в виде относительного номера входа в группе входов, на которую ссылается подключение), на кото­рый выполняется обращение. Далее перечисляются передавае­мые параметры. Все параметры передаются только по значе­нию! С точки зрения ядра КЛОС существуют параметры трех типов: подключения, сегменты и значения данных. Передача подключений и сегментов контролируется ядром: проверяется, что кластер-клиент является владельцем передаваемых под­ключений и сегментов, и происходит смена владельца — им ста­новится кластер-получатель. Значения данных передаются ядром прозрачно. Выполняя примитив ПУСК, ядро осуществляет бу­феризацию параметров вне памяти кластера-клиента. При воз­врате в кластер выходной буфер вновь готов к использованию, но его содержимое неопределенно.</p>

	<h4>Связанные записи</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.cybergenesys.ru/klaster-klient.html" title="Кластер-клиент может лишиться доступа (September 14, 2008)">Кластер-клиент может лишиться доступа</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/fajlovaya-podsistema.html" title="Файловая подсистема (July 8, 2008)">Файловая подсистема</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/podxod-prinyatyj-v-klos.html" title="Традиционный подход принятый в клос (September 14, 2008)">Традиционный подход принятый в клос</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/sistema-upravleniya-bazami-dannyx.html" title="Система управления базами данных (July 8, 2008)">Система управления базами данных</a> (0)</li>
	<li><a href="http://www.cybergenesys.ru/svedeniya-parametrov.html" title="Сведения к минимуму пере­даваемых параметров (September 13, 2008)">Сведения к минимуму пере­даваемых параметров</a> (0)</li>
</ul>

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

