diff --git a/ru/kse/index.sgml b/ru/kse/index.sgml new file mode 100644 index 0000000000..78b12e53d9 --- /dev/null +++ b/ru/kse/index.sgml @@ -0,0 +1,256 @@ + + + + + + + %includes; + + +Выполнено"> +Выполняется"> +Заброшено"> +Не начиналось"> +Решено"> +Не решено"> + + + + %developers; + +]> + + + &header; + +

Содержимое

+ + + +

Обзор

+ +

Объекты планирования ядра (Kernel Scheduler Entities - KSE) представляет + собой систему многопоточного выполнения ядра, архитектура которой подобна + Scheduler Activations [Андерсон и другие]. Она обеспечивает баланс между + моделями многопоточного выполнения пользовательского уровня (1:N) и уровня + ядра (1:1), обладает большинством преимуществ обоих подходов, и несколькими + их отрицательными сторонами.

+ +

В этом проекте имеются две стороны: поддержка на уровне ядра и поддержка + на уровне пользователя. Поддержка на уровне ядра представляет собой + модификации к планировщику FreeBSD; пользовательская половина является + реализацией &posix;-потоков выполнения, которые используют преимущества + дополнительных служб ядра.

+ +

Целью является замена имеющейся на данный момент пользовательской системы + многопоточного выполнения в библиотеке libc_r и параметре -pthread + компилятора gcc, на новую библиотеку libpthread, которая будет + компоноваться при использовании параметра -lpthread компилятора + gcc.

+ + +

Использование KSE

+ +

Вся работа над KSE выполняется в 5.0-CURRENT. Для построения ядра с + изменениями, касающимися KSE, не требуется никаких специальных параметров + ядра (изменения не отделимы от планировщика FreeBSD).

+ +

Для использования KSE в приложении вам необходимо скомпоновать его с + библиотекой libpthread; это делается весьма однозначнм образом. В + make-файлах приложения измените параметр компилятора -pthread или + параметр компоновщика -lc_r на -lpthread и выполните + компоновку повторно. В качестве альтернативного способа вы можете + использовать файл /etc/libmap.conf для отображения libc_r в + libpthread (обратитесь к libmap.conf(5)).

+ + +

Дополнительная литература

+ +

+ +

+ + + +

Состояние проекта

+ +

Далее приведен неполный общий перечень задач:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
МодульЗадачаОтветственныйПоследнее обновлениеСостояние
libpthreadНаписание страницы справки kse(2), описывающей новые системные + вызовы.&a.archie;10 сентября 2002&status.done;
libpthreadRepo-копия библиотеки libpthread из libc_r.хозяин cvs16 сентября 2002&status.done;
libpthreadИспользование KSE для планирования процессов.&a.mini;30 октября 2002&status.done;
libpthreadПланирование простаивающего контекста по возможности.&a.mini;2 ноября 2002&status.done;
libpthreadНаправление сигналов в потоки.&a.deischen; &a.davidxu;28 июня 2003&status.done;
libpthreadРазделение для SMP.&a.deischen;3 мая 2003&status.done;
kernelРазделение для SMP.&a.davidxu;3 мая 2003&status.done;
libpthreadЗапуск нескольких KSE (один на каждый CPU).&a.davidxu;3 мая 2003&status.done;
libpthread, kernelРеализация машинно-зависимых функций для alpha.&a.marcel;30 августа 2003&status.wip;
libpthread, kernelРеализация машинно-зависимых функций для amd64.&a.davidxu; &a.deischen;30 августа 2003&status.done;
libpthread, kernelРеализация машинно-зависимых функций для i386.&a.davidxu; &a.deischen;30 августа 2003&status.done;
libpthread, kernelРеализация машинно-зависимых функций для ia64.&a.marcel;30 августа 2003&status.done;
libpthread, kernelРеализация машинно-зависимых функций для sparc64.&a.jake;30 августа 2003&status.wip;
kernelРеализация схемы сигналов, специфичной для KSE.&a.davidxu;28 июня 2003&status.done;
libpthreadРеализация границ системных потоков.&a.deischen;3 мая 2003&status.done;
kernelЭффективное ограничение системных потоков (отсутствие вызовов при + их блокировке).&a.davidxu;30 августа 2003&status.done;
+ + &footer; + + + \ No newline at end of file