Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Вт мар 19, 2024 07:26

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 31 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Вт май 06, 2008 09:02 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
mOleg писал(а):
(хотя интерпретатор ШК таки скушатет много времени).

Это основной (исходно закладываемый) недостаток, причем практически никак не сглаживаемый возможной оптимизацией.
Есть же и другие способы защиты ОС так впрямую не затрагивающие один из основных параметров ОС - быстродействие.

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт май 06, 2008 09:31 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
chess писал(а):
mOleg писал(а):
(хотя интерпретатор ШК таки скушатет много времени).

Это основной (исходно закладываемый) недостаток, причем практически никак не сглаживаемый возможной оптимизацией.
Есть же и другие способы защиты ОС так впрямую не затрагивающие один из основных параметров ОС - быстродействие.
Почему скушает - понимаю, но вот отчего "никак не сглаживаемый возможной оптимизацией" - не понимаю

_________________
понимаю некоторую бестолковость некоторых вопросов


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт май 06, 2008 09:40 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
вопрос писал(а):
Почему скушает - понимаю, но вот отчего "никак не сглаживаемый возможной
оптимизацией" - не понимаю


mOleg писал(а):
NEXT для такого типа ШК будет несколько более сложным: Код:

MOV index, [IP]
ADD IP , # CELL
MOV addr, [index*16+i_table+off_codebase]
MOV temp, [index*16+i_table+off_vmcode]
JMP temp


Тут просто нечего оптимизировать.

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт май 06, 2008 10:10 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
chess писал(а):
mOleg писал(а):
NEXT для такого типа ШК будет несколько более сложным: Код:
MOV index, [IP]
ADD IP , # CELL
MOV addr, [index*16+i_table+off_codebase]
MOV temp, [index*16+i_table+off_vmcode]
JMP temp

Тут просто нечего оптимизировать.

Я видимо что-то не так помню - была же тема, не успел поучаствовать - можно "сливать" слова (делать из нескольких одно), это не упростит NEXT , но уменьшит их "количество"

_________________
понимаю некоторую бестолковость некоторых вопросов


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт май 06, 2008 11:07 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
вопрос писал(а):
Я видимо что-то не так помню - была же тема, не успел поучаствовать - можно "сливать" слова (делать из нескольких одно), это не упростит NEXT , но уменьшит их "количество"

Это относилось к другой ФВМ, а не к предложенной.

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт май 06, 2008 11:24 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
chess писал(а):
вопрос писал(а):
Я видимо что-то не так помню - была же тема, не успел поучаствовать - можно "сливать" слова (делать из нескольких одно), это не упростит NEXT , но уменьшит их "количество"

Это относилось к другой ФВМ, а не к предложенной.
Мне кажется, такой способ оптимизации непринципиален, для какой ВМ

_________________
понимаю некоторую бестолковость некоторых вопросов


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт май 06, 2008 17:09 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
вопрос писал(а):
Если делать ОС на основе ФВМ, то вопрос о защищённости возникает сам собою.


Чем недостаточны аппаратные средства защиты?

mOleg писал(а):
ну не знаю, вирусописателей в мире нет, например.


Защита от вирусов в основном относится к файловой системе.
До вирусов еще дожить надо. Я бы хотел увидеть вирус к своей ОС.

mOleg писал(а):
Mihail писал(а):
Защищенная ВМ, мною давно реализована.

описание в студию, пожалуйста.


Если кому надо пусть задает вопросы.
Могу сказать, что CFA в моей машине содержит индекс к массиву ссылок на функции.

mOleg писал(а):
Mihail писал(а):
Сейчас я бы сделал на базе http://devbiol.zoo.uwo.ca/~kvt/relf-0.2.zip

в чем ее преимущества?


Главное, что она релизована, отлажена и многоим освоена.
Интересной особенностью является то, что она сочетает в себе косвенный и подпрограммный шитый коды.
Это обеспечивает совместимость с обоими видами форт-систем. Ресурсы (особенно память)
используются весьма рационально.

mOleg писал(а):
моя ВМ получается полностью изолированной от реального процессора.


Для изоляции relf достаточно организовать виртуальную память.
Т.е. просто все функции работающие с адресами памяти, следует заменить на функции работающие с
индексом в массиве.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт май 06, 2008 21:21 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Mihail писал(а):
Могу сказать, что CFA в моей машине содержит индекс к массиву ссылок на функции.
Как и предполагалось ...

_________________
понимаю некоторую бестолковость некоторых вопросов


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт май 08, 2008 09:03 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
chess писал(а):
вопрос писал(а):Почему скушает - понимаю, но вот отчего "никак не сглаживаемый возможной оптимизацией" - не понимаю

mOleg писал(а):NEXT для такого типа ШК будет несколько более сложным: Код:

MOV index, [IP]
ADD IP , # CELL
MOV addr, [index*16+i_table+off_codebase]
MOV temp, [index*16+i_table+off_vmcode]
JMP temp

Тут просто нечего оптимизировать.

я же привел пример, когда в таблице не ссылка находится а код, тогда получается быстрее:

MOV regg , # 'pfa
JMP # 'pfa

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

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт май 08, 2008 09:06 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
chess писал(а):
вопрос писал(а):Я видимо что-то не так помню - была же тема, не успел поучаствовать - можно "сливать" слова (делать из нескольких одно), это не упростит NEXT , но уменьшит их "количество"
Это относилось к другой ФВМ, а не к предложенной.

вообще, можно ряд слов компилировать в другую облась (за пределами пользовательского пространства), только тогда будет сложно поддерживать трюки с модификацией кода.

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт май 08, 2008 09:16 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
Mihail писал(а):
вопрос писал(а):Если делать ОС на основе ФВМ, то вопрос о защищённости возникает сам собою.
Чем недостаточны аппаратные средства защиты?

они достаточны, но не везде одинаковые, сложнее предложенного механизма.
Я же предлагаю механизм, который подойдет и дляя 16битного проца, и для 64 битного, необходимо лишь, чтобы процессор мог более-менее сложные методы адресации поддерживать.

Mihail писал(а):
mOleg писал(а):ну не знаю, вирусописателей в мире нет, например.
Защита от вирусов в основном относится к файловой системе.
До вирусов еще дожить надо. Я бы хотел увидеть вирус к своей ОС.

сейчас создавать с нуля ОС и не предвидеть методов защиты бессмысленно. А вносить защиту поверх когда прижмет и сложнее, и глупее.

Mihail писал(а):
mOleg писал(а):Mihail писал(а):

Защищенная ВМ, мною давно реализована.
описание в студию, пожалуйста.

Если кому надо пусть задает вопросы.
Могу сказать, что CFA в моей машине содержит индекс к массиву ссылок на функции.

о, так тут то же самое, но главное, разделены поля кода и данных
Mihail писал(а):
Интересной особенностью является то, что она сочетает в себе косвенный и подпрограммный шитый коды.
Это обеспечивает совместимость с обоими видами форт-систем. Ресурсы (особенно память)
используются весьма рационально.

ничто не мешает в предложенном мною варианте использовать несколько видов ШК. Даже, я бы сказал логично в ядре пользовать заоптимизированный код типа СПФовского, а в пользовательском пространстве процесса, предложенный вариант TTC.
Приятной особенностью данного подхода является переносимость бинарного кода, что тоже не маловажно, более того, даже пересборка ядра не должна приводить к перекомпиляции кода пользовательских приложений.

Mihail писал(а):
mOleg писал(а):моя ВМ получается полностью изолированной от реального процессора.
Для изоляции relf достаточно организовать виртуальную память.

да, так ведь то, что я описал и является частью менеджера памяти процесса.
Mihail писал(а):
Т.е. просто все функции работающие с адресами памяти, следует заменить на функции работающие с
индексом в массиве.

об этом и речь, только я зашел со стороны организации ШК, а не со стороны уже существующей системы.

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт май 08, 2008 09:41 
Не в сети
Аватара пользователя

Зарегистрирован: Вс мар 04, 2007 08:02
Сообщения: 229
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
Тема интересна, но под несколько иным углом зрения.
Во встраиваемых системах, основанных на микроконтроллерах гарвардской архитектуры имеется несколько различных адресных пространств ( ОЗУ, флеш память команд, пространство ввода-вывода, флеш память во внешнем чипе, и тд), требующих различных методов доступа. Если озадачиться возможностью исполнять шитый код из различных адресных пространств, то потребуется иметь для каждой области свой собственный адресный интерпретатор ( возможно через векторное слово). На первый взгляд выглядит симпатично, но сложновато ( либо удваивать ячеки в стеке возвратов, либо выделять дополнительный стек под указатель на адресный интерпретатор) что ведет к потере производительности...
Возможно я чегото недопонимаю


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт май 08, 2008 11:39 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
mOleg писал(а):
я же привел пример, когда в таблице не ссылка находится а код, тогда получается быстрее:

MOV regg , # 'pfa
JMP # 'pfa


А в этом случае не надо ли забыть о бинарной переносимости кода?

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт май 08, 2008 11:58 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
chess писал(а):
А в этом случае не надо ли забыть о бинарной переносимости кода?

нет, не надо. Так как речь будет идти только о PFA частях, которые и так должны быть в коде описаны.
Под бинарной переносимостью кода я подразумевал именно ту часть, которая находится в пользовательском пространстве. Там не будет никаких завязок на ассемблерный код, и никаких завязок на адреса.

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн июн 02, 2008 22:26 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
chess писал(а):
mOleg писал(а):(хотя интерпретатор ШК таки скушатет много времени).
Это основной (исходно закладываемый) недостаток, причем практически никак не сглаживаемый возможной оптимизацией.

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

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 31 ]  На страницу Пред.  1, 2, 3  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB