diamond
А оно нам надо?
Хотя если горишь желанием можно попробовать, но сомневаюсь, что письмо хотя бы прочтут - отсеют вместе со спамом.
Колибри 0.7.1.0
А от этого письма разве убудет от кого-то? Я бы послал.
А оно ещё поддерживается?
in code we trust
Последняя версия - Virtual PC 2007 - свободно распространяется с сайта Microsoft. (В поисках подлянки прочитал даже лицензионное соглашение - нашёл небольшую подлянку, официально продукт можно юзать только на лицензионной винде ) Так что поддерживаться должна.
Письмо пошлю, когда окончательно убежусь, в чём глюк.
Письмо пошлю, когда окончательно убежусь, в чём глюк.
Ушёл к умным, знающим и культурным людям.
У меня VPC2004, там этого глюка нет, но есть другой - разрушается фоновая картинка. То есть какой-то код её затирает. Ещё он начал сильно тормозить. Раньше работал заметно быстрее Qemu, теперь медленне раза в два.
У меня также 2004, глюк именно в нем и проявляется. Фон портится, когда перетаскиваешь приложение.
3ds view 0.05
http://www.menuet.xt.pl/
http://www.menuet.xt.pl/
Всё забываю написать про один баг, замечанный еще в K0700. В режимах 0 и 9 приложения, использующие сменный курсор мыши(ANIMAGE,DOSBOX), вылетают при запуске. Хотя раньше работали в этих режимах.
KolibriOS-перспективная ос!
Kolibri is best operation system in the world!
Kolibri is best operation system in the world!
Наблюдаю аналогичную проблему - при попытке запуска KFM, система виснет намертво. Через некоторое время Virtual PC выдаёт сообщение, что мол Virtual Machine Additions не установлены, а это как известно, обращение к спецовому порту, значит есть подозрение, что выполняется не код, а рандом.
Далее - многие картинки, в том числе рабочий стол и область под курсором в экранной заставке, искажаются, значит гдето есть некорректные обращения к памяти. Учитывая, что мой комп я опасности подвергать не хочу, на реале запускать не буду. Один раз уже пришлось везти в сервис центр, когда попытался установить WinNT4. Он тоже чёто видимо с портами накосячил, потом биос не стартовал.
Команду асма invlpg не знаю, это привилегированная? Неудивительно, если на разных процах она работает по разному, в том числе и "затирая" EAX. Я бы заменил на более приемлемую и документированную последовательность команд, и для программистов было бы понятно.
Чтобы избавится от мерцания и торможения графики, предлагаю как вариант использование двойного буффера. В 256-байтных демах помогало.
Эту идею неплохо было бы преподнести разработчикам libGUI. Дело как правило в низкой пропускной способности графической шины. Проще отрендерить окна в память, а затем строковыми инструкциями скинуть в видео. Причём желательно сделать возможным отрисовку как напрямую в видео память, так и с использованием двойного буффера, потому что иногда есть возможность пожертвовать памятью, а иногда временем отрисовки. Соответственно настройку по умолчанию, и чтобы программы могли принудительно выбрать нужный режим.
Чтобы было проще, может стоит как следует спроектировать ОСь, и всёже использовать объектный подход? На примере GUI видно, что всё к этому и идёт. Если так, то было бы интересно, если бы вся ОСь была основана на объектах, и они подразумевались изначально, как идеология, а не функции, как в обычных ОС.
Вобщем, порадовало, в отличие от MeOS то, что CPUID вывела логотип Transmeta.
По поводу привосходства VirtualPC в скорости хочу добавить своё мнение - она вроде исполняет участки кода на реальном проце (а не интерпретируя каждую инструкцию), поэтому должно получаться "близко к оригиналу", особенно учитывая, что и винда и MeOS вроде работают в одном и том же режиме. Юзаю VirtualPC изза маленького размера, приемлемой скорости и простоты установки.
Далее - многие картинки, в том числе рабочий стол и область под курсором в экранной заставке, искажаются, значит гдето есть некорректные обращения к памяти. Учитывая, что мой комп я опасности подвергать не хочу, на реале запускать не буду. Один раз уже пришлось везти в сервис центр, когда попытался установить WinNT4. Он тоже чёто видимо с портами накосячил, потом биос не стартовал.
Команду асма invlpg не знаю, это привилегированная? Неудивительно, если на разных процах она работает по разному, в том числе и "затирая" EAX. Я бы заменил на более приемлемую и документированную последовательность команд, и для программистов было бы понятно.
Чтобы избавится от мерцания и торможения графики, предлагаю как вариант использование двойного буффера. В 256-байтных демах помогало.
Эту идею неплохо было бы преподнести разработчикам libGUI. Дело как правило в низкой пропускной способности графической шины. Проще отрендерить окна в память, а затем строковыми инструкциями скинуть в видео. Причём желательно сделать возможным отрисовку как напрямую в видео память, так и с использованием двойного буффера, потому что иногда есть возможность пожертвовать памятью, а иногда временем отрисовки. Соответственно настройку по умолчанию, и чтобы программы могли принудительно выбрать нужный режим.
Чтобы было проще, может стоит как следует спроектировать ОСь, и всёже использовать объектный подход? На примере GUI видно, что всё к этому и идёт. Если так, то было бы интересно, если бы вся ОСь была основана на объектах, и они подразумевались изначально, как идеология, а не функции, как в обычных ОС.
Вобщем, порадовало, в отличие от MeOS то, что CPUID вывела логотип Transmeta.
По поводу привосходства VirtualPC в скорости хочу добавить своё мнение - она вроде исполняет участки кода на реальном проце (а не интерпретируя каждую инструкцию), поэтому должно получаться "близко к оригиналу", особенно учитывая, что и винда и MeOS вроде работают в одном и том же режиме. Юзаю VirtualPC изза маленького размера, приемлемой скорости и простоты установки.
IA-32 Intel® Architecture Software Developer’s Manual, Volume 2: Instruction Set Reference
INVLPG—Invalidate TLB Entry
Description
Invalidates (flushes) the translation lookaside buffer (TLB) entry specified with the source
operand. The source operand is a memory address. The processor determines the page that
contains that address and flushes the TLB entry for that page.
The INVLPG instruction is a privileged instruction. When the processor is running in protected
mode, the CPL of a program or procedure must be 0 to execute this instruction.
The INVLPG instruction normally flushes the TLB entry only for the specified page; however,
in some cases, it flushes the entire TLB. See “MOV—Move to/from Control Registers” in this
chapter for further information on operations that flush the TLB.
IA-32 Architecture Compatibility
The INVLPG instruction is implementation dependent, and its function may be implemented
differently on future IA-32 processors. This instruction is not supported on IA-32 processors
earlier than the Intel486 processor.
Operation
Flush(RelevantTLBEntries);
Continue (* Continue execution);
куда уж докумменированее?
P.S. VirtualPC, VMWare, Qemu, TwoOSTwo, Parallels, да наверное все кроме Bochs выполняют код на реальном камне, только борьшь интерпретирует комманды, посему так тормозит, зато не привязан к архитектуре как остальные.
INVLPG—Invalidate TLB Entry
Description
Invalidates (flushes) the translation lookaside buffer (TLB) entry specified with the source
operand. The source operand is a memory address. The processor determines the page that
contains that address and flushes the TLB entry for that page.
The INVLPG instruction is a privileged instruction. When the processor is running in protected
mode, the CPL of a program or procedure must be 0 to execute this instruction.
The INVLPG instruction normally flushes the TLB entry only for the specified page; however,
in some cases, it flushes the entire TLB. See “MOV—Move to/from Control Registers” in this
chapter for further information on operations that flush the TLB.
IA-32 Architecture Compatibility
The INVLPG instruction is implementation dependent, and its function may be implemented
differently on future IA-32 processors. This instruction is not supported on IA-32 processors
earlier than the Intel486 processor.
Operation
Flush(RelevantTLBEntries);
Continue (* Continue execution);
куда уж докумменированее?
P.S. VirtualPC, VMWare, Qemu, TwoOSTwo, Parallels, да наверное все кроме Bochs выполняют код на реальном камне, только борьшь интерпретирует комманды, посему так тормозит, зато не привязан к архитектуре как остальные.
Как известно, лучший способ протащить какую-нибудь сомнительную идею – начать ее со слов «естественно», «очевидно» или «как известно»Через некоторое время Virtual PC выдаёт сообщение, что мол Virtual Machine Additions не установлены, а это как известно, обращение к спецовому порту, значит есть подозрение, что выполняется не код, а рандом.
Откуда информация про "спецовый порт"? Я лично уверен, что VirtualPC выдаёт это сообщение спустя некоторое время независимо ни от каких обращений, а просто как напоминание, что если юзер установит additions, то будет хорошо...
Нету нигде некорректных обращений к памяти. Фон рабочего стола в конфигурации по умолчанию устанавливается jpegview, и под VirtualPC он, видимо, падает. Причём ни на реальных машинах, ни под другими эмуляторами (Bochs, VMWare, qemu) этого нет. В отладочном образе, где фон с самого начала устанавливается генератором pic4, этого нет. Ну а насчёт области под курсором (вообще области, независимо от заставки) - это результат давным-давно известных погрешностей в коде вывода курсора.Далее - многие картинки, в том числе рабочий стол и область под курсором в экранной заставке, искажаются, значит где-то есть некорректные обращения к памяти.
Да, это привилегированная и хорошо документированная команда, которая ни на каком реальном процессоре не разрушает никаких регистров. Причём единственная в своём роде, её нельзя заменить ни на какую более приемлемлую и тем более более документированную (mov ecx,cr3/mov cr3,ecx неприемлемо, ибо медленно).Команду асма invlpg не знаю, это привилегированная? Неудивительно, если на разных процах она работает по разному, в том числе и "затирая" EAX. Я бы заменил на более приемлемую и документированную последовательность команд, и для программистов было бы понятно.
Не надо путать реализацию GUI в ядре и библиотеку стандартных GUI-компонентов. libGUI никакого отношения ни к ядру, ни к перерисовке не имеет.Эту идею неплохо было бы преподнести разработчикам libGUI.
Да, код исполняется на реальном процессоре. Но не в реальной среде. Привилегированные инструкции на самом деле не исполняются, а вызывают исключения, которые перехватывает драйвер и эмулирует. Видимо, в эмуляции invlpg есть ошибка.По поводу превосходства VirtualPC в скорости хочу добавить своё мнение - она вроде исполняет участки кода на реальном проце (а не интерпретируя каждую инструкцию), поэтому должно получаться "близко к оригиналу", особенно учитывая, что и винда и MeOS вроде работают в одном и том же режиме. Юзаю VirtualPC из-за маленького размера, приемлемой скорости и простоты установки.
P.S. В qemu используется динамическая трансляция - это не то же самое, что простое исполнение на реальном компе, немного медленнее.
Буду знать Кстати, где я учусь, очень часто употребляют «очевидно», и я похоже подхватил эту тенденциюdiamond wrote: Как известно, лучший способ протащить какую-нибудь сомнительную идею – начать ее со слов «естественно», «очевидно» или «как известно»
К сожалению, только мнение, думаю, если комуто будет интересно копнуть в сторону совместимости, то он наткнётся на этот факт (или не наткнётся) В любом случае без фактов обсуждать не имеет смысла.diamond wrote: Откуда информация про "спецовый порт"?
Звучит веско, возможно и VirtPC глючит, не исключаю.diamond wrote: Нету нигде некорректных обращений к памяти.
Постараюсь не путать, я имел ввиду механизмы работы с отрисовкой GUI.diamond wrote: Не надо путать реализацию GUI в ядре и библиотеку стандартных GUI-компонентов.
Если оффтоп - то киляйте.
Сообщил. Уже пришло ответное послание:diamond wrote:(подумав) Послать багрепорт команде поддержки VirtualPC?
I will see that a bug gets filed.
Cheers,
Ben
Windows Virtualization Program Manager.
http://blogs.msdn.com/Virtual_PC_Guy
Please note: This email was probably written using Voice Recognition technology. If some of the words do not appear to be correct, I apologize for not catching the error.
-----Original Message-----
From: diamondz@land.ru [mailto:diamondz@land.ru]
Sent: Monday, October 22, 2007 1:20 PM
To: Ben Armstrong
Subject: (Virtual PC Guy's WebLog) : "invlpg" instruction bug
Importance: High
The core of Virtual PC emulates assembler instruction 'invlpg' in a guest system incorrectly: the register eax is destroyed (more strictly, it is set to the calculated operand of this command before segment address translation). I use Virtual PC 2007, my processor is AMD Athlon, host system - Windows XP.
Probably it is not right place to report such bug; if so, could you please tell me whom should I let know?
----------------------------------
This message was generated from a contact form at: http://blogs.msdn.com/virtual_pc_guy/default.aspx
It was submitted by Grechnikov Eugene (diamondz@land.ru)
Your contact information was not shared with the user.
Ушёл к умным, знающим и культурным людям.
http://kolibrios.isgreat.org/index.php?tipo=dwnl_
На kolibrios.org эту ссылку и новость - появился дистрибутив из Латинской Америки
>Вобщем, порадовало, в отличие от MeOS то, что CPUID вывела логотип Transmeta.
Если использовал версию из M32, то там CPUID 0.81, а поддержка Transmeta была введена в версии 0.83.
На kolibrios.org эту ссылку и новость - появился дистрибутив из Латинской Америки
>Вобщем, порадовало, в отличие от MeOS то, что CPUID вывела логотип Transmeta.
Если использовал версию из M32, то там CPUID 0.81, а поддержка Transmeta была введена в версии 0.83.
С ядром 669 демки Cubeline и Cubetext некорректно работают полноэкранном режиме: в оконном режиме нормально, а в полноэкранном - чёрный экран и больше ничего. Странно.
Who is online
Users browsing this forum: No registered users and 6 guests