Отправляет email-рассылки с помощью сервиса Sendsay

За 2008-12-31

[TC] С Новым годом!

Здравствуйте, друзья!
Да простят меня уважаемые модераторы за это письмо, но я его пишу от всей души!
Поздравляю всех рассылчан с Новым 2009 годом!
Желаю исполнения всех желаний в новом году!
Пусть в нашей жизни будет больше светлого!
С наилучшими пожеланиями, vkvint!

   2008-12-31 20:36:57 (#806300)

[TC] Re[5]: ОСРВ was:Microsoft virtual machine, несколько вопросов

Здравствуйте, i_chay.

Вы писали 31 декабря 2008 г., 9:09:37:

> Егор пишет:
>> плюс виртуальная
>> машина должна работать в системе реального времени,

> По моему мнению, хорошо было бы уточнить, в каком смысле вы используете термин
> "система реального времени".
> Системы реального времени -- это определенный класс операционных систем, которые,
> в строгом смысле, определяются как системы с точно заданным временем реакции
> на события.

Именно в этом смысле.

> Если вы имели в виду, что таймер виртуальной машины должен отмерять промежутки
> времени, соответствующие реальному времени (т.е. тому времени в котором вы
существуете),
> то для этой цели понятие "система реального времени" в контексте исходной темы
> не является удачным.

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

Однако все эти рассуждения я веду не просто так, а к конкретной
проблеме, а именно, к синтезу звука через динамик PC (т.е. не через
звуковую карту). Обычно программы, которые используют динамик,
предварительно измеряют производительность (скорость) процессора, а
затем подают команды в динамик, соотносясь с этой вычисленной
производительностью. Заметим, что речь идёт про старые досовские
программы. Так вот, при вычислении производительности обычно
используется только процессор, который в ВМ работает наиболее быстро.
Далее, при работе программы с устройствами (с тем же динамиком),
скорость выполнения падает, и мы вместо нормального звука слышим
что-то непотребное. С точки зрения программы же оказывается, что после
того, как она вычислила производительность, частота процессора упала,
но она на этот подвох никак не рассчитывает, поэтому звук и плывёт.
Тот же самый эффект с этой программой может быть достигнут на старых
компьютерах (286, 386, 486), имеющих кнопку "турбо", которая
переключает частоту. Если в тот момент, когда программа вычисляет
скорость процессора, кнопка "турбо" находится в положении максимальной
частоты процессора, а потом, когда программа уже начала выводить звук
в динамик, нажать "турбо" и переключить частоту на минимум, мы
заметим, что звук стал выводиться тоже медленнее.

Более продвинутые программы для измерения скорости процессора
пользовались таймером, однако и их в виртуальной машине иногда
поджидают подводные камни, хотя в целом, надо сказать, такие программы
работают намного лучше. Дело в том, что в ВМ, если её сравнивать с
упомянутыми старыми компами с кнопкой "турбо", ситуация обстоит, грубо
говоря, так, как будто мы эту кнопку "турбо" переключаем с частотой
несколько сот раз в секунду, причём, под частотой понимается средняя
частота за некий период времени.

Если бы ВМ работала как система реального времени, таких проблем бы не
было.

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

В современном же мире, когда ВМ используется для запуска современных
ОС и современных программ, вышеописанные трудности, согласитесь, яйца
выеденного не стоят, и поэтому ВМ функционируют так, как они
функционируют, потому что так они работают быстрее. Тем более, что VPC
additions, будучи установленными в гостевую ОС, позволяют решить часть
трудностей.

> К системам реального времени относятся, например, Windows CE и Symbian (хотя
> ОСРВ насчитывается не один десяток).
> Нет ли у вас желания запустить Ms Virtual PC на этих системах? :-)

Наверное, было бы столь же интересно запустить ОС реального времени на
VPC :-). Хотя бы дос реального времени или QNX.

   2008-12-31 14:44:59 (#806229)

[TC] Re[4]: ОСРВ was:Microsoft virtual machine, несколько вопросов

Приветствую всех.

Егор пишет:
> плюс виртуальная
> машина должна работать в системе реального времени,

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

Если вы имели в виду, что таймер виртуальной машины должен отмерять промежутки
времени, соответствующие реальному времени (т.е. тому времени в котором вы существуете),
то для этой цели понятие "система реального времени" в контексте исходной темы
не является удачным.
И ваш упрек в сторону Windows ничем не обоснован.
Проблема, кстати, не в таймере. Таймер на большинстве виртуальных машин реализован
грамотно (и средства "обычных" Windows, Linux, etc. позволяют реализовать программный
таймер, отсчитывающий достаточно точные промежутки времени, но, разумеется, не
точнее, чем это позволяет аппаратная часть). Дело, возможно, в том, что программа
отсчитывает интервалы времени иным способом, а не использует системный таймер.

> а виндовс - не
> такая система.

Если речь идет о семействе Windows NT, то это действительно не система реального
времени, но реальное время она отсчитывает достаточно точно и кванты процессорного
времени у этих ОС не имеют существенного разброса.
К системам реального времени относятся, например, Windows CE и Symbian (хотя
ОСРВ насчитывается не один десяток).
Нет ли у вас желания запустить Ms Virtual PC на этих системах? :-)

Всех с Новым годом!

Успехов. Анатолий.

   "i_chay" 2008-12-31 09:10:55 (#806160)

[TC] Re: Avast и вирусы

Здравствуйте, Андрей!
>
> Yuniks вы пишите: Если очистить папку
>
> SystemVolumeInformation, то вы не сможете откатиться на ранее
>
> созданные точки восстановления, кроме того, вероятнее всего, при
>
> попытке обращения к данной папке вы получите сообщение об отказе в
>
> доступе.
>
>
>
> Подскажите, какие должны быть мои действия, ведь Avast определил, что в
> данной
> папке находится червь.

Я не Yuniks, но попробую дать совет.
Войдите в свойства диска, там есть кнопка "Очистить". вот и очищайте его.
пройдитесь по вкладкам, и найдите "Восстановление системы" и отметте его.
После такой очистки, у вас останется только последняя точка для
восстановления системы, а все остальные удаляться.

--С уважением- Михаил Белогорцев
Рассылка "Тифлотехника" mailto:device.nevbereg-sub@subscribe.ru

   2008-12-31 07:03:28 (#806149)

[TC] Avast и вирусы

Здравствуйте участники рассылки и Yuniks!

Yuniks вы пишите: Если очистить папку

SystemVolumeInformation, то вы не сможете откатиться на ранее

созданные точки восстановления, кроме того, вероятнее всего, при

попытке обращения к данной папке вы получите сообщение об отказе в

доступе.

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

Пока я файл с этой дрянью поместил в хранилище Avasta.

Неужели кроме переустановки системы не чего не поможет?

Заранее спасибо.

Андрей.

   2008-12-31 05:51:45 (#806144)

[TC] Re[3]: Alt Linux и microsoft virtual pc

Здравствуйте, Serge.

Вы писали 29 декабря 2008 г., 1:07:41:

Y>> Можете попробовать VMWare, у неё гораздо больше возможностей, но,
Y>> вместе с тем, она более глючная. Кроме того, в ней эмулируется немного
Y>> другое оборудование.

> А что именно в ней эмулируется и какие есть возможности?

Какое конкретно оборудование эмулируется -- не скажу, но примерно
такое же, как и в VPC. Из дополнительных возможностей -- можно
линковать в виртуальную машину большее количество интерфейсов,
например, usb. Есть ускорение выполнения кода ВМ. Часть памяти,
отведённой для ВМ, может находиться в свопе. Поддерживаются другие ОС,
кроме винды.

Имхо, всё это тонкости не очень принципиальные, но иногда они могут
быть существенными.

   2008-12-31 02:27:44 (#806128)

[TC] Re[3]: Microsoft virtual machine, несколько вопросов

Здравствуйте, Serge.

Вы писали 29 декабря 2008 г., 1:04:38:

Y>> Что значит "отключается"? Подробнее...

> Просто пропадает локалка. "локальная сеть работает в ограниченном
> режиме", или как там оно...

IP адреса вручную выставляете?

Или подождите, я опять не понял, локалка _где_ пропадает, в хостовой
операционке или в гостевой? При этом какая гостевая ОС? Как у Вас сеть
сконфигурирована? В смысле, какой сетевой адаптер (сетевая карта)
используется в виртуальной машине, куда он (адаптер) при этом воткнут
в... "в реале", так сказать, т.е. физически (в свитч, например).
Потому что VPC может использовать только включенный сетевой адаптер, а
если это реальная сетевая карта и в неё при этом не воткнут провод, то
карта считается выключенной и, соответственно, в VPC не используется.
Поэтому обычно и ставится "Адаптер Майкрософт замыкание на себя",
потому что это "программная" сетевая карта.

Y>> Тут, скорее всего, дело в том, что sdrv пользуется системным таймером
Y>> для вывода звука, а в виртуальной машине таймер имеет плохую
Y>> синхронизацию. Например, запущенный под ВМ Эверест может показать
Y>> частоту процессора раза в три большую, чем на самом деле.

> А ежели утилиткой просто его замедлить, не поможет?

Не поможет. Точнее, это не улучшит синхронизацию. Такие уж огрехи
эмуляции. Иначе всё это будет зверски тормозить, плюс виртуальная
машина должна работать в системе реального времени, а виндовс - не
такая система.

Впрочем, ради справедливости стоит заметить, что "правильно"
написанные программы под виртуалкой работают правильно, даже если
пытаются выводить звук через динамик.

Y>> Sound card: Creative Labs Sound Blaster 16 ISA Plug and Play

> Попробовал его прописать в autoexec, ничего это не дало. SDRV все
> равно отказывается выводить речь на звуковую карту. А вы сами не
> пробовали его в этом эмуляторе запускать?

Неа, не пробовал. Но звук в досе у меня работал, это точно. Даже миди
играло.

Да, кстати, а Вы в настройках машины звуковую карту-то включили? :-)

Y>> Для VMWare есть. По-моему, Ghost даже умеет работать с VMWare
Y>> напрямую, т.е. понимает её формат образов.

> Если я все же загружаюсь с системной дискеты, диск виден, но очевидно
> не отформатироваn, так как зайти на него не могу. Мне в этом случае
> следует запустить "format", или сначала "fDisk"?

Если диск создан визардом, то обычно он уже "разбит" на разделы, т.е.
остаётся только форматировать. Впрочем, не помню, давно новые диски не
создавал.

   2008-12-31 01:49:24 (#806117)