Колибри 0.7.1.0

Share your distros and discuss others'
  • А от этого письма разве убудет от кого-то? Я бы послал.
  • А оно ещё поддерживается? :)
    in code we trust
  • Последняя версия - Virtual PC 2007 - свободно распространяется с сайта Microsoft. (В поисках подлянки прочитал даже лицензионное соглашение - нашёл небольшую подлянку, официально продукт можно юзать только на лицензионной винде :)) Так что поддерживаться должна.
    Письмо пошлю, когда окончательно убежусь, в чём глюк.
    Ушёл к умным, знающим и культурным людям.
  • У меня VPC2004, там этого глюка нет, но есть другой - разрушается фоновая картинка. То есть какой-то код её затирает. Ещё он начал сильно тормозить. Раньше работал заметно быстрее Qemu, теперь медленне раза в два.
  • У меня также 2004, глюк именно в нем и проявляется. Фон портится, когда перетаскиваешь приложение.
  • Всё забываю написать про один баг, замечанный еще в K0700. В режимах 0 и 9 приложения, использующие сменный курсор мыши(ANIMAGE,DOSBOX), вылетают при запуске. Хотя раньше работали в этих режимах.
    KolibriOS-перспективная ос!
    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 изза маленького размера, приемлемой скорости и простоты установки.
  • 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 выполняют код на реальном камне, только борьшь интерпретирует комманды, посему так тормозит, зато не привязан к архитектуре как остальные.
  • Через некоторое время 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 используется динамическая трансляция - это не то же самое, что простое исполнение на реальном компе, немного медленнее.
  • diamond wrote: Как известно, лучший способ протащить какую-нибудь сомнительную идею – начать ее со слов «естественно», «очевидно» или «как известно» :)
    Буду знать ;) Кстати, где я учусь, очень часто употребляют «очевидно», и я похоже подхватил эту тенденцию :)
    diamond wrote: Откуда информация про "спецовый порт"?
    К сожалению, только мнение, думаю, если комуто будет интересно копнуть в сторону совместимости, то он наткнётся на этот факт (или не наткнётся) ;) В любом случае без фактов обсуждать не имеет смысла.
    diamond wrote: Нету нигде некорректных обращений к памяти.
    Звучит веско, возможно и VirtPC глючит, не исключаю.
    diamond wrote: Не надо путать реализацию GUI в ядре и библиотеку стандартных 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.
  • С ядром 669 демки Cubeline и Cubetext некорректно работают полноэкранном режиме: в оконном режиме нормально, а в полноэкранном - чёрный экран и больше ничего. Странно.
  • Who is online

    Users browsing this forum: No registered users and 8 guests