Пристально взглянем на новое ядро Zeta.
michael_s 7 апреля, 2005 - 06:21.Вашему вниманию предлагается обзор нового ядра ОС 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гб памяти им не сделать на данный момент тк слетит бинарная совместимость.
Проблемма убегания часов лечиться сменой типа двух переменных.
Если у них есть право использовать исходники то я верю в это.
Отправить комментарий