- MFen: articles/5-roadmap/article.sgml 1.27 --> 1.30 (PR: docs/145353)
- reworded a couple of sentences - several letter case swaps Approved by: maxim (mentor), marck (mentor)
This commit is contained in:
parent
6c6b6de4c1
commit
74e729df7b
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=35950
1 changed files with 36 additions and 33 deletions
|
@ -3,7 +3,7 @@
|
|||
|
||||
$FreeBSDru: frdp/doc/ru_RU.KOI8-R/articles/5-roadmap/article.sgml,v 1.7 2007/05/15 06:07:48 gad Exp $
|
||||
|
||||
Original revision: 1.27
|
||||
Original revision: 1.30
|
||||
-->
|
||||
|
||||
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
|
||||
|
@ -55,7 +55,9 @@
|
|||
В качестве иного взгляда на проблему может быть интересна статья
|
||||
<ulink url="&url.articles.version-guide;">
|
||||
<quote>Выбор подходящей для вас версии &os;</quote>
|
||||
</ulink>. Она была написана в Августе 2005 г. (на два с половиной
|
||||
</ulink>.
|
||||
Статья <quote>Выбор подходящей для вас версии &os;</quote>
|
||||
была написана в Августе 2005 г. (на два с половиной
|
||||
года позже) и содержит раздел, в котором описывается как разворачивались
|
||||
планы и события, а также какие уроки были получены.</para>
|
||||
</abstract>
|
||||
|
@ -85,7 +87,7 @@
|
|||
привело к тому, что качество релизов 3.0 и 3.1 не могло удовлетворить
|
||||
большинство пользователей, и так было до версии 3.2, когда линейка была
|
||||
признана <quote>стабильной</quote>. Хуже того, ветка &t.releng.3; была
|
||||
создана на основе релиза 3.0. а ветка &t.releng.head; должна была вести к
|
||||
создана на основе релиза 3.0, а ветка &t.releng.head; должна была вести к
|
||||
4-CURRENT. В результате ветки &t.releng.head; и &t.releng.3; стали
|
||||
сильно отличаться, что значительно осложнило поддержку ветки
|
||||
&t.releng.3;. &os; 2.2.8 была оставлена как последняя версия &os;,
|
||||
|
@ -131,15 +133,15 @@
|
|||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>VM: Функция ядра malloc изолирована и освобождена
|
||||
от Giant. Распределитель зон UMA также не использует Giant.
|
||||
<para>VM: функция ядра malloc изолирована и освобождена
|
||||
от Giant. Аллокатор зон UMA также не использует Giant.
|
||||
Изоляция vm_object находится в работе и является важным шагом в
|
||||
исключении Giant из работы с буферами/кэшем. Изоляция pmap ещё
|
||||
не реализовывалась.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>GEOM: Уровень блоков GEOM был разработан с учётом работы без
|
||||
<para>GEOM: уровень блоков GEOM был разработан с учётом работы без
|
||||
Giant и он позволяет работать модулям GEOM и низлежащим драйверам
|
||||
блочных устройств без Giant. На данный момент только драйверы
|
||||
&man.ata.4; и &man.aac.4; разделены и работают без
|
||||
|
@ -156,7 +158,7 @@
|
|||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Сеть: Работа по переводу на изоляцию сетевого стека была
|
||||
<para>Сеть: работа по переводу на изоляцию сетевого стека была
|
||||
начата заново. Изначально целями были таблицы маршрутизации, ARP,
|
||||
функции моста, IPFW, Fast-Forward, TCP, UDP, IP, Fast IPSEC и
|
||||
уровни интерфейсов, а также некоторые драйверы устройств Ethernet.
|
||||
|
@ -169,21 +171,21 @@
|
|||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>VFS: Начата предварительная подготовка.</para>
|
||||
<para>VFS: начата предварительная подготовка.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>буфер/кэш: Закончена начальная работа по изоляции
|
||||
<para>Буфер/кэш: закончена начальная работа по изоляции
|
||||
буферов.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Proc: Начальное изоляция proc уже есть, во &os; 5.2 ожидается
|
||||
<para>Proc: начальное изоляция proc уже есть, во &os; 5.2 ожидается
|
||||
ещё больший прогресс.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>CAM: На уровне CAM SCSI значительной работы не
|
||||
<para>CAM: на уровне CAM SCSI значительной работы не
|
||||
проделано.</para>
|
||||
</listitem>
|
||||
|
||||
|
@ -214,7 +216,7 @@
|
|||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>kernel encryption: криптографические драйверы и ядро технологии
|
||||
<para>Kernel encryption: криптографические драйверы и ядро технологии
|
||||
&man.crypto.4; не используют Giant. KAME IPsec не
|
||||
отделяются.</para>
|
||||
</listitem>
|
||||
|
@ -225,11 +227,11 @@
|
|||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>вытесняемость ядра: включена вытесняемость для потоков
|
||||
<para>Вытесняемость ядра: включена вытесняемость для потоков
|
||||
выполнения прерываний. Однако несогласованность из-за того, что
|
||||
Giant используется в большинстве кода ядра и подпрограммах
|
||||
обработки прерываний драйверов устройств, вызывает множество
|
||||
лишних переключений контекста и может на самом деле сказаться на
|
||||
лишних переключений контекста и может сказаться на
|
||||
производительности. Ведётся работа по выяснению того, как сделать
|
||||
вытесняемость условной.</para>
|
||||
</listitem>
|
||||
|
@ -244,8 +246,8 @@
|
|||
подпрограммы обслуживания прерываний от устройств могут создавать
|
||||
блокировки для выставления семафоров, выделения памяти и так далее.
|
||||
Хотя это облегчает написание драйверов, при этом понижается
|
||||
реактивность системы из-за того, что для обслуживания ithread должно
|
||||
быть выполнено полное переключение контекста процесса. Это
|
||||
реактивность системы из-за полного переключения контекста процесса,
|
||||
которое должно быть выполнено для обслуживания ithread. Это
|
||||
усугубляется значительным использованием ядром семафора Giant, и часто
|
||||
приводит к множеству пауз и переключений контекстов для обслуживания
|
||||
прерывания. Драйверы, которые зарегистрировали свои прерывания как
|
||||
|
@ -263,18 +265,19 @@
|
|||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>Возможно, особый случай облегчённых ithread. При этом может,
|
||||
придётся уменьшить количество сохраняемых данных контекста для
|
||||
ithread, заимствовать стек из другого kthread и/или создавать
|
||||
новый быстрый способ обхода подпрограммы mi_switch().</para>
|
||||
<para>Как вариант — задействовать особый вид легковесных
|
||||
ithread. Это могло бы привести к уменьшению количества сохраняемых
|
||||
контекстов для ithread, к заимствованию стека из другого kthread
|
||||
и/или к созданию нового быстрого пути, исключающего вызов
|
||||
mi_switch().</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Можно ввести новую модель обработки прерываний, которая
|
||||
позволит драйверам регистрировать 'фильтр прерываний' вместе с
|
||||
обычной процедурой обработки. Это будет похоже на используемую
|
||||
сейчас в Mac OS X модель. Процедуры фильтрации прерываний позволят
|
||||
драйверу определять, должен ли он участвовать в обработке
|
||||
обычной процедурой обработки. Это будет похоже на модель,
|
||||
используемую сейчас в Mac OS X. Процедуры фильтрации прерываний
|
||||
позволят драйверу определять, должен ли он участвовать в обработке
|
||||
прерывания, позволят ему подавлять источник прерываний и, возможно,
|
||||
определять и планировать действия по его обработке. Она будет
|
||||
работать в том же самом контексте, что и низкоуровневая процедура
|
||||
|
@ -305,7 +308,7 @@
|
|||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>Компоненты уровня ядра и пользовательского уровня для KSE и THR
|
||||
должны быть созданы для все платформ уровня Tier-1. Решение о том,
|
||||
должны быть созданы для всех платформ уровня Tier-1. Решение о том,
|
||||
какой пакет реализации потоков выполнения будет использоваться по
|
||||
умолчанию, будет, скорее всего, приниматься для каждой платформы
|
||||
отдельно, в зависимости от стабильности и завершённости каждого
|
||||
|
@ -501,7 +504,7 @@
|
|||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>KSE: И компоненты уровня ядра, и компоненты пользовательского
|
||||
<para>KSE: и компоненты уровня ядра, и компоненты пользовательского
|
||||
уровня должны достичь одинакового уровня функциональности во всех
|
||||
платформах уровня Tier-1 в UP и SMP конфигурациях. Определение
|
||||
того, что является <quote>платформами ранга Tier-1</quote>, можно
|
||||
|
@ -520,7 +523,7 @@
|
|||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>интерфейс и драйверы busdma: такие архитектуры, как PAE/&i386;
|
||||
<para>Интерфейс и драйверы busdma: такие архитектуры, как PAE/&i386;
|
||||
и sparc64, в которых отсутствует прямое отображение адресного
|
||||
пространства хоста в адресное пространство плат расширения, требуют
|
||||
исключения функции vtophys() и ей подобных. Интерфейс busdma был
|
||||
|
@ -536,7 +539,7 @@
|
|||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>распределение ресурсов PCI: соответствие спецификации PC2003
|
||||
<para>Распределение ресурсов PCI: соответствие спецификации PC2003
|
||||
требует, что системы x86 не конфигурировали устройства PCI из
|
||||
системной BIOS, оставляя эту задачу исключительно ОС. Во &os;
|
||||
должна появиться возможность управления и распределения ресурсов
|
||||
|
@ -553,11 +556,11 @@
|
|||
<title>Производительность</title>
|
||||
|
||||
<para>Производительность зависит от хода работ над инфраструктурой SMPng
|
||||
и в следующих областях:</para>
|
||||
в следующих областях:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>Устройства хранения: Технология GEOM позволяет драйверам
|
||||
<para>Устройства хранения: технология GEOM позволяет драйверам
|
||||
устройств хранения работать без использования Giant. Все драйверы,
|
||||
которые взаимодействуют напрямую с GEOM (в противоположность тем,
|
||||
что находятся ниже уровня CAM или другого промежуточного слоя),
|
||||
|
@ -577,7 +580,7 @@
|
|||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Прерывания и переключение контекстов: Как обсуждалось выше,
|
||||
<para>Прерывания и переключение контекстов: как обсуждалось выше,
|
||||
задержки в прерываниях и переключениях контекстов имеют большое
|
||||
влияние на производительность. Переключение контекстов для ithread
|
||||
и kthread на всех платформах должно быть улучшено. Должна быть
|
||||
|
@ -637,7 +640,7 @@
|
|||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>NEWCARD/OLDCARD: Подсистема NEWCARD во &os; 5.0 сделана
|
||||
<para>NEWCARD/OLDCARD: подсистема NEWCARD во &os; 5.0 сделана
|
||||
используемой по умолчанию. К сожалению, в ней отсутствует
|
||||
поддержка для не-Cardbus мостов и на некоторых лэптопах она
|
||||
не работает из-за проблем с маршрутизацией прерываний.
|
||||
|
@ -657,8 +660,8 @@
|
|||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Новый планировщик задач: Он уже готов, и пользователи могут
|
||||
выбирать между классическим планировщиком 44BSD и новым
|
||||
<para>Новый планировщик задач: он уже готов, и пользователи могут
|
||||
выбирать между классическим планировщиком 4BSD и новым
|
||||
планировщиком ULE. В ветке &t.releng.5; должен быть планировщик,
|
||||
имеющий привязку к процессору, поддержку HyperThreading и KSE,
|
||||
а также отсутствие снижения производительности или времени реакции
|
||||
|
|
Loading…
Reference in a new issue