Page 8 of 17
Re: Колибри 0.7.1.0
Posted: Wed Oct 17, 2007 5:37 pm
by Mario79
diamond
А оно нам надо?
Хотя если горишь желанием можно попробовать, но сомневаюсь, что письмо хотя бы прочтут - отсеют вместе со спамом.
Re: Колибри 0.7.1.0
Posted: Thu Oct 18, 2007 5:35 pm
by Hack_phoenix
А от этого письма разве убудет от кого-то? Я бы послал.
Re: Колибри 0.7.1.0
Posted: Thu Oct 18, 2007 5:46 pm
by mike.dld
А оно ещё поддерживается?

Re: Колибри 0.7.1.0
Posted: Thu Oct 18, 2007 9:15 pm
by diamond
Последняя версия - Virtual PC 2007 - свободно распространяется с сайта Microsoft. (В поисках подлянки прочитал даже лицензионное соглашение - нашёл небольшую подлянку, официально продукт можно юзать только на лицензионной винде

) Так что поддерживаться должна.
Письмо пошлю, когда окончательно убежусь, в чём глюк.
Re: Колибри 0.7.1.0
Posted: Fri Oct 19, 2007 1:00 am
by Serge
У меня VPC2004, там этого глюка нет, но есть другой - разрушается фоновая картинка. То есть какой-то код её затирает. Ещё он начал сильно тормозить. Раньше работал заметно быстрее Qemu, теперь медленне раза в два.
Re: Колибри 0.7.1.0
Posted: Fri Oct 19, 2007 1:18 am
by Mario79
У меня также 2004, глюк именно в нем и проявляется. Фон портится, когда перетаскиваешь приложение.
Re: Колибри 0.7.1.0
Posted: Sat Oct 20, 2007 2:08 pm
by Wildwest
Re: Колибри 0.7.1.0
Posted: Mon Oct 22, 2007 3:43 pm
by andrew_programmer
Всё забываю написать про один баг, замечанный еще в K0700. В режимах 0 и 9 приложения, использующие сменный курсор мыши(ANIMAGE,DOSBOX), вылетают при запуске. Хотя раньше работали в этих режимах.
Re: Колибри 0.7.1.0
Posted: Mon Oct 22, 2007 9:21 pm
by Dragon
Наблюдаю аналогичную проблему - при попытке запуска KFM, система виснет намертво. Через некоторое время Virtual PC выдаёт сообщение, что мол Virtual Machine Additions не установлены, а это как известно, обращение к спецовому порту, значит есть подозрение, что выполняется не код, а рандом.
Далее - многие картинки, в том числе рабочий стол и область под курсором в экранной заставке, искажаются, значит гдето есть некорректные обращения к памяти. Учитывая, что мой комп я опасности подвергать не хочу, на реале запускать не буду. Один раз уже пришлось везти в сервис центр, когда попытался установить WinNT4. Он тоже чёто видимо с портами накосячил, потом биос не стартовал.
Команду асма invlpg не знаю, это привилегированная? Неудивительно, если на разных процах она работает по разному, в том числе и "затирая" EAX. Я бы заменил на более приемлемую и документированную последовательность команд, и для программистов было бы понятно.
Чтобы избавится от мерцания и торможения графики, предлагаю как вариант использование двойного буффера. В 256-байтных демах помогало.
Эту идею неплохо было бы преподнести разработчикам libGUI. Дело как правило в низкой пропускной способности графической шины. Проще отрендерить окна в память, а затем строковыми инструкциями скинуть в видео. Причём желательно сделать возможным отрисовку как напрямую в видео память, так и с использованием двойного буффера, потому что иногда есть возможность пожертвовать памятью, а иногда временем отрисовки. Соответственно настройку по умолчанию, и чтобы программы могли принудительно выбрать нужный режим.
Чтобы было проще, может стоит как следует спроектировать ОСь, и всёже использовать объектный подход? На примере GUI видно, что всё к этому и идёт. Если так, то было бы интересно, если бы вся ОСь была основана на объектах, и они подразумевались изначально, как идеология, а не функции, как в обычных ОС.
Вобщем, порадовало, в отличие от MeOS то, что CPUID вывела логотип Transmeta.
По поводу привосходства VirtualPC в скорости хочу добавить своё мнение - она вроде исполняет участки кода на реальном проце (а не интерпретируя каждую инструкцию), поэтому должно получаться "близко к оригиналу", особенно учитывая, что и винда и MeOS вроде работают в одном и том же режиме. Юзаю VirtualPC изза маленького размера, приемлемой скорости и простоты установки.
Re: Колибри 0.7.1.0
Posted: Mon Oct 22, 2007 10:08 pm
by Ghost
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 выполняют код на реальном камне, только борьшь интерпретирует комманды, посему так тормозит, зато не привязан к архитектуре как остальные.
Re: Колибри 0.7.1.0
Posted: Mon Oct 22, 2007 10:29 pm
by diamond
Через некоторое время Virtual PC выдаёт сообщение, что мол Virtual Machine Additions не установлены, а это как известно, обращение к спецовому порту, значит есть подозрение, что выполняется не код, а рандом.
Как известно, лучший способ протащить какую-нибудь сомнительную идею – начать ее со слов «естественно», «очевидно» или «как известно»

Откуда информация про "спецовый порт"? Я лично уверен, что VirtualPC выдаёт это сообщение спустя некоторое время независимо ни от каких обращений, а просто как напоминание, что если юзер установит additions, то будет хорошо...
Далее - многие картинки, в том числе рабочий стол и область под курсором в экранной заставке, искажаются, значит где-то есть некорректные обращения к памяти.
Нету нигде некорректных обращений к памяти. Фон рабочего стола в конфигурации по умолчанию устанавливается jpegview, и под VirtualPC он, видимо, падает. Причём ни на реальных машинах, ни под другими эмуляторами (Bochs, VMWare, qemu) этого нет. В отладочном образе, где фон с самого начала устанавливается генератором pic4, этого нет. Ну а насчёт области под курсором (вообще области, независимо от заставки) - это результат давным-давно известных погрешностей в коде вывода курсора.
Команду асма invlpg не знаю, это привилегированная? Неудивительно, если на разных процах она работает по разному, в том числе и "затирая" EAX. Я бы заменил на более приемлемую и документированную последовательность команд, и для программистов было бы понятно.
Да, это привилегированная и хорошо документированная команда, которая ни на каком реальном процессоре не разрушает никаких регистров. Причём единственная в своём роде, её нельзя заменить ни на какую более приемлемлую и тем более более документированную (mov ecx,cr3/mov cr3,ecx неприемлемо, ибо медленно).
Эту идею неплохо было бы преподнести разработчикам libGUI.
Не надо путать реализацию GUI в ядре и библиотеку стандартных GUI-компонентов. libGUI никакого отношения ни к ядру, ни к перерисовке не имеет.
По поводу превосходства VirtualPC в скорости хочу добавить своё мнение - она вроде исполняет участки кода на реальном проце (а не интерпретируя каждую инструкцию), поэтому должно получаться "близко к оригиналу", особенно учитывая, что и винда и MeOS вроде работают в одном и том же режиме. Юзаю VirtualPC из-за маленького размера, приемлемой скорости и простоты установки.
Да, код исполняется на реальном процессоре. Но не в реальной среде. Привилегированные инструкции на самом деле не исполняются, а вызывают исключения, которые перехватывает драйвер и
эмулирует. Видимо, в эмуляции invlpg есть ошибка.
P.S. В qemu используется динамическая трансляция - это не то же самое, что простое исполнение на реальном компе, немного медленнее.
Re: Колибри 0.7.1.0
Posted: Mon Oct 22, 2007 11:05 pm
by Dragon
diamond wrote:
Как известно, лучший способ протащить какую-нибудь сомнительную идею – начать ее со слов «естественно», «очевидно» или «как известно»
Буду знать

Кстати, где я учусь, очень часто употребляют «очевидно», и я похоже подхватил эту тенденцию
diamond wrote:
Откуда информация про "спецовый порт"?
К сожалению, только мнение, думаю, если комуто будет интересно копнуть в сторону совместимости, то он наткнётся на этот факт (или не наткнётся)

В любом случае без фактов обсуждать не имеет смысла.
diamond wrote:
Нету нигде некорректных обращений к памяти.
Звучит веско, возможно и VirtPC глючит, не исключаю.
diamond wrote:
Не надо путать реализацию GUI в ядре и библиотеку стандартных GUI-компонентов.
Постараюсь не путать, я имел ввиду механизмы работы с отрисовкой GUI.
Если оффтоп - то киляйте.
Re: Колибри 0.7.1.0
Posted: Tue Oct 23, 2007 12:18 am
by diamond
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.
Re: Колибри 0.7.1.0
Posted: Tue Oct 23, 2007 1:25 am
by Wildwest
http://kolibrios.isgreat.org/index.php?tipo=dwnl_
На kolibrios.org эту ссылку и новость - появился дистрибутив из Латинской Америки
>Вобщем, порадовало, в отличие от MeOS то, что CPUID вывела логотип Transmeta.
Если использовал версию из M32, то там CPUID 0.81, а поддержка Transmeta была введена в версии 0.83.
Re: Колибри 0.7.1.0
Posted: Wed Oct 31, 2007 5:30 pm
by DmitrySokolowsky
С ядром 669 демки Cubeline и Cubetext некорректно работают полноэкранном режиме: в оконном режиме нормально, а в полноэкранном - чёрный экран и больше ничего. Странно.