Главная

Пристально взглянем на новое ядро Zeta.

Вашему вниманию предлагается обзор нового ядра ОС Zeta, опубликованный на сайте ZetaNews. Хотя статья опубликована под именем Joyce, реальным её автором является Франс Ван Ниспен, автор программ Refraction и SampleStudio.

    Существует множество загадок о ядре операционной системы Zeta. Чтобы их разрешить, мы решили пристально взгляуть на последнее ядро, включённое в последнюю beta–версию Zeta, и проверили его на нескольких новых процессорах.

    Поддержка процессоров.

    Как многие знают, Zeta основана на BeOS R5.x. R5 — великолепная ОС, но имеет некоторые ограничения (в частности, касательно объёма памяти и поддержки новых инструкций процессоров).

    Некоторое время назад BeOS не могла загружаться на процессорах AMD, в которые включена поддержка SSE (KNI) инструкций. Это было вызвано тем, что ядро было разработано до появления этих инструкций в процессорах AMD и это обстоятельство приводило к фатальным ошибкам при загрузке.

    Существуют патчи, которые активизируют поддержку SSE (KNI) инструкций на AMD процессорах или же полностью запрещают их использование.

    Выявлены некоторые особенности ядра Zeta, отличающиеся от Dano. Их можно увидеть, если просмотреть syslog. На стандартном BeOS ядре вы увидете строку: 'cpu features: 00000010', а ядро Zeta на Athlon 64 сообщает:

    KERN 'BOOT': Boot CPU
    KERN 'BOOT': Features: 78bfbff ( FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CMPXCHG8,APIC,SEP,MTRR,PGE,MCA,CMOV
    KERN 'BOOT': PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2

    Взглянув на изменения, можно увидеть любопытные вещи — ядро использует новые инструкции! ОС использует эту оптимизацию при помощи .patch файла. Любое приложение или библиотека могут через него использовать эти инструкции, но только, если они поддерживаются процессором.

    В файле kernel.patch можно увидеть какие “CPUFEATURE” поддерживает ваш процессор (memcopy и memset).

    kernel.patch на последней бета версии Zeta содержит более пяти версий memcpy и memset, включая версию для AMD Athlon 64. Так это правда?

    Чтобы проверить это, мы создали программу, которая копирует блоки памяти. Дабы получить достоверные результаты, мы скопировали блоки разных размеров. Тестирование проводилось на всех процессорах, которые были у нас в наличии. .patch файлы редактировались в соответствии с syslog–ом.

    Syslog на разных процессорах показывает, что действительно используются разные методы memcpy. С его помощью мы меняли memcpy для всех процессоров.

    Результаты показаны в гигабайтах, скопированных в секунду в blocksize за время равное 10 секундам.

    MEMCPY Zeta Neo Edition

    Blocksize Athlon64 3000+ XP 3200+ P4 3.0Ghz Centrino 2Ghz P3 933 Sempron 2800 Barton 2500+
    64b blocks Gb/s 2,102 0,273 0,293 1,677 0,642 0,764 0,262
    256b blocks Gb/s 3,857 1,407 0,943 3,455 1,278 1,852 1,179
    1Kb blocks Gb/s 4,226 1,993 2,174 5,359 1,921 2,167 1,685
    4Kb blocks Gb/s 4,576 2,326 3,030 4,526 2,191 2,103 1,946
    64Kb blocks Gb/s 1,909 2,418 2,439 2,877 1,347 1,270 1,991
    1Mb blocks Gb/s 0,727 1,005 1,124 1,261 0,105 1,096 0,586
    Average 2,900 1,570 1,667 3,193 1,247 1,542 1,275
    MEMCPY Zeta Venture Edition

    Blocksize Athlon64 3000+ XP 3200+ P4 3.0Ghz Centrino 2Ghz P3 933 Sempron 2800 Barton 2500+
    64b blocks Gb/s 4,133 1,917 1,064 3,108 0,658 1,589 1,614
    256b blocks Gb/s 6,995 4,628 3,030 3,172 1,533 3,658 3,955
    1Kb blocks Gb/s 5,519 7,980 5,263 10,128 2,617 6,308 6,687
    4Kb blocks Gb/s 6,019 10,126 7,143 7,087 3,346 8,165 8,627
    64Kb blocks Gb/s 3,246 2,645 5,000 3,370 1,356 2,819 2,227
    1Mb blocks Gb/s 1,737 0,675 2,778 1,230 0,336 0,626 0,756
    Average 4,608 4,662 4,046 4,683 1,641 3,861 3,978

    Увеличение скорости на процессорах AMD внушительное.

    Также было замечено, что bootmenu (при загрузке) игнорирует некоторые строки в .patch файле. И в этом случае (например safe mode) ОС загружается с настройками по умолчанию.

    Память.

    По заявлению yellowTAB, новая версия Zeta действительно поддерживает 1Gb памяти и больше (прежние версии BeOS ограничивались объёмом 768–1024Mb), но это требует проверки.

    Для тестирования мы использовали Intel Pentium 4 с памятью 2x256Mb и 2x512Mb. Для загрузки устанавливали следующие конфигурации: 256Mb, 512Mb, 768Mb, 1024Mb, 1280Mb и 1536Mb. К сожалению, у нас не оказалось в наличии 2Gb для тестирования.

    Компьютер загрузился со всеми вариантами! Все тестовые программы правильно определили объём памяти! Теперь у меня стоит 1.5 GB ОЗУ.

    syslog показал:

    KERN 'BOOT':
    KERN 'BOOT': Zeta Intel Pentium Kernel version of Mar 14 2005 time 11:21:32
    KERN 'BOOT': (C) Copyright 2004–2005 yellowTAB, GmbH. All Rights Reserved.
    KERN 'BOOT':
    KERN 'BOOT': Total Memory 1536 MB
    KERN 'BOOT': Found an SMP MP table at 0x000ff780, version 1.4
    KERN 'BOOT': APIC_BASE_MSR = 0x00000000fee00900
    KERN 'BOOT': Connecting PIC to IOAPIC int_line 0
    KERN 'BOOT': IBM PC Compatible platform
    KERN 'BOOT': CPU speed is 1802Mhz
    KERN 'BOOT': The platform is Intel MPS compliant
    KERN 'BOOT': APIC Timer clock is 50
    KERN 'BOOT': Non–default MP configuration was found. Using BIOS provided MP configuration.
    KERN 'BOOT': MP Configuration Table: 0x0201e928 :
    KERN 'BOOT': Header: base_len 312, spec_rev 1.4, OEM_ID ASUSTeK, product_id Deluxe
    OEM_table_ptr 00000000, OEM_table_size 0, entry_count: 32, LAPIC addr fee00000, ext_table_size 0
    KERN 'BOOT': CPU0, LAPIC_version 10/10, enabled, family 15, model 15, stepping 0
    KERN 'BOOT': Boot CPU
    KERN 'BOOT': Features: 78bfbff ( FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CMPXCHG8,APIC,SEP,MTRR,PGE,MCA,CMOV
    KERN 'BOOT': PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2KERN Last message repeated 1 times
    KERN 'BOOT': Bus: bus_id 0, type: PCI
    KERN 'BOOT': Bus: bus_id 1, type: PCI
    KERN 'BOOT': Bus: bus_id 2, type: ISA 

    Финальный аккорд.

    Осталось только две проблемы: «убегание часов» на процессорах с частотой выше 2.2 GHz (это уже решено — прим. переводчика) и ограничение на использование аддонами не более 32 Mb оперативной памяти. Хотя yellowTAB недавно сообщила, что увеличила это ограничение с 32 Mb до 256 Mb.

    У нас получилось без проблем работать в SampleStudio со всеми доступными VST–плагинами, а также в Refraction, хотя я точно не могу сказать, сколько оперативной памяти используют эти программы.

    То, что я смог полностью проверить — это «убегание часов». Pentium 4 3.0 GHz работал в течение 3–х дней, и часы показывали правильное время, так что эту прблему можно считать устранённой.

    Заключение.

    Пока что новое ядро внушает большие надежды, оно работает на всех процессорах, которые мы смогли протестировать, а также быстрее работает с ОЗУ. И теперь можно использовать BeOS на системах с более, чем 1 Gb памяти!

Оригинал статьи: A close look at the…

а может...

гм, а ядро от зеты можно запихать в дано или р5+боне?? никто не извращался??

Неужеле Корц сказал правду???

Ну что ж…
Что я могу сказать по этому поводу:
1)С точки зрения скептика — статья писалась программистом Refraction, которому было бы выгодно продвжение Зеты…так что некоторые статистичесткие данные могли бы быть и преукрашенны(но всё же верю в то что ЗЕТА действительно РОДИЛАСЬ!!!:))
2)Что ж…теперь посмотрим как на это отреагируют Дезертиры и предатели и пингвиноводы;) Ибо это есть доказательство!:) (какое никакое:))

Неужели Корц сказал правду???

Да, чувак!!!

Жду когда слить можно будет :–)

Re: Неужеле Корц сказал правду???

Скорее всего это правда:)

Увеличить размер под адд–оны можно и без исходников, и проблемму с памятью тоже можно пофиксить поменяв пару констант… при наличии исходников это делаеться за пару минут.
А вот поддержку больше 2гб памяти им не сделать на данный момент тк слетит бинарная совместимость.

Проблемма убегания часов лечиться сменой типа двух переменных.

Если у них есть право использовать исходники то я верю в это.

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Allowed HTML tags: <a> <em> <i> <img> <strong> <b> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и параграфы переносятся автоматически.

Подробнее о форматировании

CAPTCHA
Введите перечисленные символы, чтобы мы убедились, что вы не робот. Не требуется для зарегистрированных пользователей.
q
D
D
y
V
x
Enter the code without spaces and pay attention to upper/lower case.