mac koi8 win alt iso translit
						Michail O.Maksimov

        СЕТЬ ВИРТУАЛЬНЫХ ФОРТ-МАШИН(VFM).

        Задача решаемая сетью VFM это - представление сети
        ЭВМ в виде единой вычислительной среды.
        Для обеспечения возможности использовать ресурсы
ЭВМ, принадлежащей другому пользователю (ПДП), необходимо
решить следующие задачи:
        -организовать передачу сообщений на ЭВМ ПДП;
        -на ЭВМ ПДП создать объект который (не мешая хозяину
машины) примет посылку переработает ее и результат отправит
заданному адресату;
        -организовать прием результатов от ЭВМ ПДП.
        Для реализации
этой задачи необходимо использовать следующие элементы:
        -реальную ЭВМ;
        -средства передачи данных;
        -VFM (виртуальная форт-машина);
        -виртуальные каналы связывающие VFM.
        Задача, возлагаемая на виртуальную сеть, заключается
в предоставлении ресурсов одной выч. машины другой выч.
машине. чтобы таким образом снизить простои и расширить
возможности. Это достигается путем предоставления в
распоряжение пользователя виртуальных машин (VFM) находящихся
на других реальных, доступных средствами выч. сети.
VFM связанные виртуальными каналами образуют виртуальную
сеть которая базируется на реальной сети ЭВМ.
        Применение VFM позволяет предоставить все свободные
ресурсы и задать любые ограничения другому пользователю,
даже если реальная машина не обеспечивает защищенный режим.
Традиционно сети используются для передачи данных, с ее
помощью можно обмениваться данными с ЭВМ тебе не принадлежащей.
VFM предоставляется полностью. Для управления ею по каналу
передаются команды.
        Виртуальные машины одного и того же типа могут
находится на реальных машинах разного типа. VFM могут быть
заменены реальными устройствами, таким образом, систему можно
принять как стандарт межмашинного общения.
        С помощью системы можно организовать продажу ресурсов
представленных в виде VFM.
        VFM представляет из себя процесс, выполняющий
программу "интерпретатор команд", который вызывает функции,
прикрепленные к VFM. Среди функций есть порты ввода/вывода.
Среди входных портов есть главный, из которого интерпретатор
команд последовательно извлекает очередную команду для
выполнения. Опрос остальных портов  производится функциями,
возбужденными интерпретатором кодов-команд в соответствии с
полученным кодом-командой. Эти функции могут опрашивать и
главный порт, таким образом через главный порт можно
передавать информацию, если она следует за соответствующим
кодом-командой.  Порты могут быть: внутри машинные -
передающие информацию в рамках реальной машины, использующие
для передачи ячейки ОП; и использующие средства межмашинной
связи. Порты, взаимодействуя с передающей средой, образуют
виртуальные каналы. Функции прикрепленные к процессу
определяет тип VFM. Несколько VFM могут разделять общий
набор функций.

        Структура VFM.
Структура VFM представляет из себя совокупность
следующих наборов данных:

1 область прикрепленной к VFM служебной информации.
2 стек данных.
3 стек возвратов.
4 область программнодоступных данных.
5 массивы адресов точек входа в программы-функции.
  5.1 основной набор определяющий тип машины
        может быть разделяем несколькими VFM.
  5.2 набор для подзагрузки.
  5.3 набор для подзагрузки общего доступа.

        VFM можно программировать, при этом создаются новые
код-команда и соотв. ей функция. Это достигается путем
перевода VFM в режим компиляции при котором поток кодов-команд
не исполняется а компилируется, формируя новую функцию,
ссылка на эту функцию заносится в массив для подзагрузки.
Это позволяет избавится от передачи часто встречающихся
последовательностей кодов.
Подгружаемая функция может быть общего доступа т. е.
вызываться другими VFM в рамках одной ЭВМ.
Через эти функции можно осуществить доступ к данным
программируемой VFM таким образом организовывается
канал связи между VFM.
        Виртуальные машины могут быть разнесены по разным
реальным при этом должна использоваться реальная сеть ЭВМ для
передачи кодов-команд. Виртуальную машину можно использовать
в качестве мультиплексора виртуальных каналов, тогда коды-
-команды такой VFM выступают в роли виртуальных каналов, а
функции им соответствующие в роли драйверов, операнды
кода-команды ( т. е. информация следующая за ним ) явится
данными передаваемыми по каналу. Использование мультиплексора
виртуальных каналов приводит к разложению реального канала на
несколько виртуальных, что позволяет по одному каналу
управлять несколькими VFM.
        Виртуальная сеть позволяет организовать распределенную
обработку данных. При распределенной обработке образуется
иерархия подзадач.
        VFM может вырабатывать команды для других VFM.
Таким образом получается иерархия VFM. Обратная связь
осуществляется через VFM находящиеся на 1-ой реальной и
имеющие общедоступные
области памяти.
        Распараллеливание процессов на разные реальные ЭВМ
заключается в инициализации массива данных клиентской ЭВМ
с помощью серверной.


        Распараллеливание задачи

        При этом происходят следующие действия:
клиентская ЭВМ для массива устанавливает флажок неготовности
и отправляет задание серверной, та выработает данные
и отправит их клиентской, там их примет VFM которая загрузит
массив и установит флажок его готовности.
        Интенсивность передачи кодов-команд не должна
превосходить интенсивность их выполнения. Для регулирования
интенсивности передачи используется канал с подтверждением.
Если интенсивности передачи и выполнения колеблются, но в
среднем это условие выполняется, можно ограничится
буферизацией.

Существуют следующие виды массивов ссылок на функции:
        -базовый массив, доступен несколькими VFM для
         использования  в режиме исполнения.
        -базовый массив, доступен несколькими VFM для
         использования  в режиме компиляции.
        -массив для подзагрузки, предоставлен одной из VFM,
         как для записи так, и для использования.
        -массив для подзагрузки общего доступа, доступен по
         записи 1-й из VFM, а для использования нескольким.
        -другие дополнительные.

        Использование массивов общего доступа позволяет
        экономить память, к тому же через функции общего
        доступа удобно осуществлять связь между VFM.
   Массивов как данных так и ссылок на функции может быть
гораздо больше при этом должны быть функции имеющие к ним
доступ. При этом могут быть подменяемые массивы т.е. с
каким именно массивом осуществляется взаимодействовать
зависит от установленного режима.

 Операндами обладают те коды, функции которых опрашивают
главный порт. В режиме компиляции это могут быть только
коды, имеющие признак немедленного исполнения,
при этом выборка функции будет происходить из другого
массива, специализированного для исполнения во время
компиляции. Таким образом коды имеющие в 7-ом разряде 1
(т.е. код > $7f)  не могут быть скомпилированы.
Доступ к остальным массивам ссылок на функции происходит
по средствам функций из базового.
 Предложенная система команд является частным случаем,
она может быть заменена на другую, главное чтобы она была
приемлема соответствующему ей интерпретатору. Новый
интерпретатор можно запустить из данного при этом должна
быть соответствующая команда.
 При возникновении аварийной ситуации VFM посылает по
обратной связи код аварийного завершения и  переходит
в режим ожидания команды рестарт. По получению этой
команды VFM ее выполняет, а все предыдущие игнорируются.

        Разделенное использование VFM

        Одной VFM могут пользоваться несколько задач клиента.
При этом нужно соблюсти следующие условия:
-        каждая команда должна размещаться в одной посылке
         вместе  со своими операндами.
-        только одна задача имеет право произвольно работать
         со стеком, остальные должны оставлять стек без
         изменения между посылками.

  Для соблюдения этих условий каждая задача должна накапливать
  посылку в своем буфере для передачи и при этом смотреть
  укладывается ли команда с операндами в буфер.

   Внутренняя  валюта (BB).
  ВВ является платежным средством в рамках виртуальной сети и
представляет из себя число, прикрепленное к предоставленной
в распоряжение удаленному пользователю VFM.
При запуске удаленной функции, автоматически со счета абонента
снимается определенное значение. При вызове функции другого
пользователя  происходит перечисление на счет этого пользова-
теля. Таким образом пользователи заинтересованы в
предоставлении функций друг-другу. При возникновении опасения,
что действие вызванной функции не соответствует декларации,
можно использовать двух этапный расчет, с помощью
промежуточного счета. Промежуточный счет это счет, который
зависает между двумя субъектами, которые могут перевести с
него друг другу, но не могут взять себе. С начало начисление
производится на промежуточный счет, за тем выполняется функция,
если потребитель удовлетворен, осуществляет перевод дальше,
если нет, требует вернуть обратно.

    Конвертация ВВ.

  Проблема конвертации ВВ возникает в результате появления
нескольких систем VFM.  Организовать конвертацию ВВ может
пользователь нескольких систем VFM. Конвертация ВВ
осуществляется путем запуска оплачиваемой функции, действие
которой, заключается начислении ВВ в другой системе VFM.

  Ф-паук-сервер и ф-паук-член.

  Ф-паук-сервер представляет сабой набор серверных VFM(SVFM)
предоставленных в распоряжение удаленным членам системы.
Член системы является пользователем(клиентом) системы, но при
этом сам может предоставлять сервис за ВВ. Владелец 
ф-паук-сервера предоставляет членам своей системы
интерфейс управления SVFM. SVFM  в основном не предназначена
для решения прикладной задачи, она выполняет роль узла связи
в сети VFM и при этом производит работы с запросами и производит
расчет в ВВ. Владелец  ф-паук-сервер заводит свою ВВ для
которого она не является валютой, так-как он имеет доступ к
счетам членов своей системы и может начислить любую сумму, его
задача заключается в том, чтобы его ВВ представляла ценность
для членов его системы. Для этого он подкрепляет ее товаром и дает
возможность пользователям предоставлять друг другу услуги за
ВВ. Предоставление услуг происходит путем создаются
оплачиваемых функций общего доступа и распространением
программ пользующихся этими функциями.
Основной вывод SVFM, по умолчанию, направлен
на вход VFM члена системы (CVFM), которая расположена на
машине члена системы. С помощью CVFM члена системы может
принимать результаты от SVFM и предоставить функции на своей
машине другим членам данного ф-паук-сервера.
Предоставление функций на своей машине производится членами
системы по средствам функций общего доступа, загруженных на
ф-паук-сервер, при этом должна соблюдаться дисциплина
разделенного использования VFM. SVFM имеет в своем
распоряжении два выходных буфера. Первый OUT_BUF для передачи
своей CVFM, а другой [OUT]_BUF для передачи любым подключенным
к ф-паук-серверу CVFM, но по средствам функций созданных
владельцами этих CVFM. Схема связей одного ф-паук-члена
имеет вид:


  Период.

  SVFM предоставляется не до второго пришествия, а на
определенный период времени. 4 14 24 числа каждого месяца в
00.00 московского времени (GMT+03:00) происходит окочание
одного периода и начало следующего.
В этот момент производится плановая перезагрузка системы: Все
SVFM удаляются и создаются новая в соответствии с заданной
конфигурацией, автоматически производится покупка SVFM на
следующий период той-же конфигурации(размерности), всем
членам рассылается команда рестарт, которые заново загружают 
свою SVFM или поступают по собственному усмотрению.

 Банкротства.

 Если средств на покупку SVFM на следующий период будет
нехватать то покупка непроизводится, это означает, что
если в течении наступившего периода не будет куплена SVFM
на следующий период то она небудет создана при наступлении
следующего периода, а IP адрес данного члена занесется в черный
список, что не  позволит ему на один период зайти как новому
пользователю. Покупка или переконфигурация SVFM на следующий
период производятися командой:
 size-vfm_next  ( +n1 +n2 +n3 +n4 -- )
 где +n1  пространство для загрузки программ.
     +n2  размер таблицы функций общего доступа.
     +n3  размер таблицы функций индивидуального доступа.
     +n4  размер области данных.
 стоимость SVFM зависит от заказанного размера

 Продажа SVFM

 Для пополнения своего счета можно продать SVFM следующего
 периода командой empty-vfm_0. Соответственно если SVFM
 следующего периода не будет куплена до его наступления,
 то на период IP адрес клинта попадает в черный список.

 Новый член системы.

 Каждый член системы идентифицируется своим IP адресом.
Если кто-то зайдет на ф-паук-сервер с новым IP адресом то
ему даром педоставляется SVFM на этот с следующий период и
некоторая сумма ВВ. Соответственно пользователи не имеющие
постоянного IP адреса, не смогут нормально использовать
систему (на данный момент эта проблема не решена).

 Запуск клиента осуществляется запуском команды PUSK.BAT из
 каталога FPAUK\MEMBER. Для продажи информационных услуг
 он должен постоянно работать, так что занесите его в StartUp.

  Программный интерфейс управления SVFM.

        Главная задача при организации взаимодействия между
VFM это установка соответствия между кодом-командой,
посылаемой в VFM и функцией, которую  выполнит эта  VFM.
Это соответствие устанавливается порядком следования в
исходном тексте. Слово определенные через >>_0, при исполнении,
пошлет на SVFM код-команду, который численно равен номеру
вызова слова >>_0, который соответствует смещению в массиве
ссылок на исполняемые функции. Фрагмент текста:
        >>_0 name1 >>_0 name2
обозначает определение 2-х слов при выполнении которых будет
послан код вспомогательной машине причем, если
name1 пошлет код содержащий смещение в массиве ссылок   n  то
name2                   -- " --                         n+1.
Таким образом порядок занесения функций в массив ссылок при
программировании серверной VFM должен соответствовать
порядку определения вызывающих функций при определении
программного интерфейса клиента.

Слова y>_0 b>_0 работают аналогично >>_0,
за исключением:
y>_0    - при запуске определенного им слова будет послан
          код обеспечивающий доступ массиву для подзагрузки
b>_0    - слова определенные этим словом устанавливают
флажок "не готов" массиву в который поступят данные из
SVFM.
Слова определенные через >>_0, y>_0, b>_0 не сразу посылают
на SVFM, а заносят в буфер для передачи. Пересылкой из
буфера занимается команда PWR. При заполнении буфера PWR
срабатывает автоматически.

ok_0 -  Пересылка содержимого буфера на исполнение с выдачей
        признака успешного завершения

При возникновении аварийной ситуации на SVFM, для рестарта
SVFM, необходимо запустить команду QUIT_0.

При возникновении аварийной ситуации в Форт-системе
клиента, для восстановления многозадачности,
необходимо запустить команду C_QUIT.

 Пересылка данных:

lit_u    ( bite -- )   послать байт в SVFM
lit_0    ( SM: -- bite )  принять байт посланный lit_u
 SM: -- стек SVFM
lit_u lit_0 ( bite -- SM: -- bite )
lit_m       ( n --  SM: -- n ) послать n в стек SVFM
 CM: -- стек KVFM

._0      ( SM: n -- ) вывести на экран дисплея значение
         лежащее на вершине стека SVFM( по средствам CVFM)

+_0      ( SM: n1 n2 -- n1+n2 )

  Для сложения на SVFM чисел 4 и 5 с возвращением результата
  на дисплей клиента можно ввести:

  4 LIT_M 5 LIT_M +_0 ._0 OK_0

 Слова:

   +_0  -_0  *_0  /_0

   drop_0 dup_0

   over_0 swap_0 pick_0  roll_0 2dup_0

   вызывают на SVFM действия, в соответствии с их именем
   без _0


 !_0 ( SM: n adr -- )
 @_0 ( SM: adr -- n )
 c!_0 ( SM: c adr -- )
 c@_0 ( SM: adr -- c )  под adr здесь понимается смещение в
                      выделенной клиенту области данных на SVFM

 mes_0 ( SM: n -- )  вывести на экран сообщение, где n номер
                     сообщения
 receive_0 ( SM: adr n -- ) послать n байт в CVFM из массива
                           начинающегося с adr

  >acc_0  Вывести на экран дисплея текущее значение счета ВВ

  >yy_0  выровнить значение переменной, содержащее смещению в
         массиве ссылок, следующего подгружаемого слова

  >zz_0  выровнить значение переменной, содержащее смещению в
         массиве ссылок общего доступа, следующего
         подгружаемого слова

r[_0 инициализация буфера [OUT]_BUF

]r_0 передача содержимого [OUT]_BUF владельцу функции

[out]_0 ( SM: c -- ) послать байт в CVFM через [OUT]_BUF
         употребляется между словами r[_0 ]r_0

   mi_vfm_0

Для подзагрузки SVFM используется слово :_0
        Используется в виде:
                :_0 name ... ;_0
        Создает в 2_ой VFM функцию с именем name
Определение которого имеет вид:

        : :_0  (:)_0 >>_0 ;

Слово (:)_0 посылает команду серверной VFM
выполнить следующие действия:
        сформировать заголовок функции
        перейти в режим компиляции
        занести в массив ссылку на создаваемую функцию

DO_0     ( n  --  SM: runtime: n1 n2 -- ) обьявляет начало
        цикла DO на VFM
           n -- ограничение на число циклов
  применяется в виде:
  :_0 name  ...  n do_0 ... loop_0 ... ;_0

I_0    ( SM: -- n ) индекс цикла DO_0

BEGIN_0  ( n  --  SM: runtime:    -- )
           n -- ограничение на число циклов
  применяется в виде:
  :_0 name  ...  n BEGIN_0 ... UNTIL_0 ...
                 n BEGIN_0 ... AGAIN_0 ...
                 n BEGIN_0 ... WHILE_0 ...  REPEAT_0 ...
   ;_0

DHERE_M (   --  adr ) граница между занятой и свободной
      областями данных на VFM типа вершины кодофайла

 HERE_M ( SM: --  adr ) граница между занятой и свободной
      областями данных на VFM типа вершины кодофайла

CONSTANT_M ( n --  runtime: SM: -- n   )
VARIABLE_M (       runtime: SM: -- adr )
CREATE_M   (       runtime: SM: -- adr )
VARIABLE_M (       runtime: SM: -- adr ) обЗявление переменной на VFM

        VFM может предоставить свои ячейки данных другой
VFM через функции общего доступа с помощью слов:

!>_0    ( SM: n1 | n --- )
        скомпилировать шитый код в виде [%@>_u][ a ]
        n выбирается из входного потока и преобразуется
        в адрес а
 SM: -- стек серверной VFM

@>_0    ( SM: | n --- n1 )
        скомпилировать шитый код в виде [%!>_u][ a ]
        n выбирается из входного потока и преобразуется
        в адрес а

При компиляции выбранное из входного потока смещение в
массиве данных данной VFM превращается в абсолютный адрес
и компилируется как операнд для кодов:

%@>_u   ( --- n1 )
        положить на стек значение операнда-адреса

%!>_u   ( n1 --- )
        обратное %@>_u

   Инициализация массива с помощью SVFM

   Заводим массив с флажком ожидания готовности данных:

    create_p v_p 0x50 allot

\ Определяем драйвер для приема информации с помощью CVFM

 :_2 vv_p4 v_p        \  Receiving driver
     0x4   dobuf_p ;_2

 drive_p[ v:_4 vv_p4

 : #dolo_0   ( n1 n2 -- )   \   Macroinstruction
   do  dup_0 i lit_m  +_0 [out]_0 loop ;

 v:_4  v_4 v_p    \   Remote procedure
     4 0  #dolo_0 ]r_0 ;_0 ok_0

 5 lit_m v_4  ok_0
v_p 0x10 dump

  В результате выполнения программы v_4 массив v_p будет
  инициализирован значениями 5 6 7 8 с помощью SVFM.
  Действие v_4 заключаются в следующем: установит прихваченный
  v:_4 буфер v_p в неготов и пошлет на SVFM код-команду
  та в свою очередь сформирует посылку и пошлет ее на CVFM
  первая команда этой посылки инициализирует драйвер vv_p4.

  Определяющее слово :_2 берет из входного потока два слова
  первое определяет как имя новой программы, второе
  прихватывает как буфер приемник с флажком готовности.

  dobuf_p ( n -- ) записывает в буфер прихваченный :_2
                   n значений считанных из канала

  ;_2  устанавливает флажок готовности  прихваченнного :_2
       буфера и закрывает определение


  Слово v:_4 работает аналогично :_0 , за исключением
  того, что определенное с помощью него слово установит
  буфер, прихваченный  из входного потока(v_p) в неготов,
  а посланная код-команда  запустит драйвер vv_p4 на CVFM.

 Предоставление клиентом своих функций. _

:z_0 ( n -- ) определение функции общего доступа, n значение
              в IC, которое будет перечислено со счета
              вызывающего функцию на счет владельца функции.
Применяется в виде:
1000 :z_0 name1_1 ... ;_0
3000 :z_0 name2_1 ... ;_0
1500 :z_0 name3_1 ... ;_0
2000 :z_0 name4_1 ... ;_0 ok_0
\  |         |     |
\  |         |     +- текст программы
\  |         +-  имя программы
\  +- значение ВВ которое получит владелец функции
\     при ее вызове

Командой Z>FILE будет сформирован файл в коталоге .\Z\z4
для распространения среди клиентов данного ф-паук-сервера
с именем zz.f и содержащем:
4 lit_m >zz1_0 ok_wait ?_z
 z>_1 name1_1
 z>_1 name2_1
 z>_1 name3_1
 z>_1 name4_1

4   - Номер SVFM он-же идентификатор клиента - владельца
      представленных здесь функций общего доступа.

 Файл z.f должен содержать программы с помощью которых
 клиенты данного ф-паук-сервера могут использовать
 функции данной SVFM.

 Файлы zz.f z.f заносятся в z.zip с помощью команды MAKE_Z.ZIP
 Команда 4 #get-z извлеакет z.zip с именем z4.zip.
 С ее помощью другие клиенты будут иметь интерфейс к данному
 клиенту с 4-м номером.

 Предоставления вызова функции на своей машине.

 Предоставления вызова функции NAME на своей машине
 имеет вид:
      drive_r[  name[: NAME
   10000 name[: name_1 ... ]r_0 ;_0
 name_1 заносится в файл для распространения как при
 определении  через :z_0
 Фрагмент текста:  name[: name_1
    Эквивалентен:    :z_0 name_1 r[_0 ' name[: >body @ lit_m [out]_0

 параметры передаются с помощью [out]_0 (так-же, как и команда)

 Обратная связь может осуществляется через ф-паук-сервер
 
  Пункты A,B,C,E являются отдельными программами.
  Для посылки в чужой порт (пункты D) используется
  команда MESSAGE_m ( addr len vfm n -- ),
  Где  addr -- адрес посылки
       len  -- длинна посылки
       vfm  -- номер клиента совпадающий с номером SVFM
         n  -- подфункция 7-вой функции клиентской VFM

  Стоимость исполнения складывается из стоимости самой
  функции и перечисления len*20 на счет получателя.

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

 Отладка и исследование

 Для отладки и исследование я рекомендую запустить
 отдельную ФПаук-систему. При этом можно использовать
 следующие слова: DEBUG SEE SEEY SEEZ .
 Для установки точки останова можно ввести пустое
 слово, на пример : TST ; и вкомпилировать его и интересующее
 вас место и в нужный момент запустить DEBUG TST.
 Для трассировки подгруженной функции запустите на
 паук-сервере перед запуском на этой функции на
 паук-клиенте:
  DEBUG EXECY   \ для функций индивидуального доступа
  DEBUG EXECZ   \ для функций общего доступа

  SEEY ( n #vfm -- ) дизфортирование n-ой функции
                     из массива индивидуального доступа
  SEEZ ( n #vfm -- ) дизфортирование n-ой функции
                     из массива общего доступа

 Приложения

 На первом этапе система ршает три задачи
 Продажа Файлов, предоставления дискового
 пространства на уровне файлов,
 Игра крестики-нолоки.

 Для предоставления для продажи Файлов, используются
 2-а файла  files_u.f и dir.f

 files_u.f содержит имена файлов с путем(или они не
   в текущем каталоге) в специальном обрамлении
   Первые два файла должны быть z.zip и dir.f
   их оформление может служить примером.

   z.zip - формируется командой make_z.zip,
           извлекается клиентами с помощью команды #get-z
           и содержит интерфейс доступа к вашим услугам
   dir.f - представлены продаваемые файлы с помощью
           команды #get1-file:
   в виде: 1 #get1-file: dir.f  \  запрос к клиенту
           1  #get-file: dir.f  \  запрос к серверу
           |
           +- номер следования имени файла в files_u.f

  0 #get-file: fpauk.zip \ запрос последней версии системы

 Продажа дискового пространства лимитируется переменной
 limit-space которая содержит размер предоставляемого
 пространства.

  Пути дальнейшего развития:

    Работа с базами данных.

  Работу с базой данных могут осуществлять:
  1. Универсальные VFM, имеющая в своем составе
     функции запроса к базе.
  2. Специализированные VFM управляющие несколькими базами.
  3. Специализированные VFM связанные с конкретной базой.
  В связи с тем, что набор функций VFM является средством
адаптации к среде на которой она базируется, можно
обеспечить независимость от представления данных. 
  Самый простой путь реализации, если не использовать вариант
c подзагрузкой, это написание VFM на языке управления базами
данных. При этом VFM представляет из себя просто элементарный
интерпретатор.   Для варианта с подзагрузкой целесообразнее
использовать форт-систему при этом VFM на Форте может
передавать команды VFM написанной на языке управления базами
данных.
  Система позволяет минимизировать объем запроса и время его
обработки, но удельное значение этих величин пренебрежимо мало
при работе с большими файлами. По этому с большей
эффективностью можно использовать данную систему для
организации доступа к относительно небольшим файлам. Во первых
это могут быть изначально небольшие базы данных. Во вторых
подмножество большой базы данных, имеющее наибольший спрос
(повышение специализации). В третьих использование
распределенных баз данных.

 Создание  специализированнго OS.

  В разделенном доступе существует проблема эффективности.
  Если представлять компьютер как VFM, то возможено все
  ресурсы предоставить для решения одной проблемы.

Преимущества и сферы применения.

 1. На продажу может быть выставлена информация, которую
    бесплатно не достать.
 2. На продажу выставляется информация, пользующаяся
    повышенным спросом в определенном узле системы. Продавец,
    при этом, возьмет на себя труд по поиску информации.
 3. На продажу выставляются ресурсы машины, которые
    предоставляются в виде прикладных VFM. Среди которых есть
    вычислительные с помощью которых можно организовать
    распределенные вычисления и VFM управляющие базами данных.
    VFM при этом обеспечивает независимость от базовой
    программно-аппаратной среды. Машина при этом может работать
    круглые сутки.
 4. Можно продать машинные ресурсы которые попали некому
    члену системы во временное пользование.
 5. Используя адаптивность системы к cредствам связи можно
    организовать сопряжение сетей, или сама система
    может служить в качестве сети.
 6. Среди членов системы будут такие, которые являются членами
    других  ф-паук-серверов и(или) являются владельцами
    ф-паук-сервера.
    Они могут:
    a) организовать перепродажу товара из одной системы в
       другую.
    в) организовать торговлю внутренней валютой. Финансовые
       игры при этом могут послужыть моделью для традиционных
       финансовых систем.
 7. Могут появиться сетевые азартные игры ставки в которых
    производятся во внутренней валюте.
 8. За счет низкой себестоимости процедуры продажи информации
    можно понизить стоимость информации и выйграть за
    счет большого тиража.
 9. Я надеюсь на появление каскадных разработок программных
    (и не только) продуктов. Которые заключаются в продаже
    полуфабрикатов, которые преобретаются для опрделенной
    степени доработки(переработки). В качестве предмета для
    переработки могут быть, чем-то неустраевающие, готовые
    продукты. При этом произойдет специализация работы. При
    доведение этой специализации работы до определенного
    уровня, можно произвести ее автоматизацию.

  Хочу обратить внимание на то, что члены Глобальной системы
  фпаук будут заинтересованы в ее развитие и станут ее
  пропагандистами. Что обеспечит приток свежей крови.
  (Под голбальной я понимаю совокупность взаимодействующих
  односерверных систем - пункт 6)


                                   Максимов Михаил Олегович

                                        т д (812)105-92-03
                                        т р (812)552-47-64
mak@mail.rtc.neva.ru