Initial import, synchronized with English 1.16

This commit is contained in:
Andrey Zakhvatov 2004-01-28 07:19:12 +00:00
parent cff84d78f6
commit 5b6c4f0b5a
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/www/; revision=19862

256
ru/kse/index.sgml Normal file
View file

@ -0,0 +1,256 @@
<!--
The FreeBSD Russian Documentation Project
$FreeBSDru: frdp/www/ru/kse/index.sgml,v 1.1 2004/01/27 19:03:10 andy Exp $
Original revision: 1.16
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" [
<!ENTITY base CDATA "../..">
<!ENTITY date "$FreeBSD$">
<!ENTITY title "Проект FreeBSD KSE">
<!ENTITY email 'mini'>
<!ENTITY % includes SYSTEM "../includes.sgml"> %includes;
<!-- Status levels -->
<!ENTITY status.done "<font color=green>Выполнено</font>">
<!ENTITY status.wip "<font color=blue>Выполняется</font>">
<!ENTITY status.stalled "<font color=purple>Заброшено</font>">
<!ENTITY status.new "<font color=red>Не начиналось</font>">
<!ENTITY status.resolved "<font color=green>Решено</font>">
<!ENTITY status.unresolved "<font color=red>Не решено</font>">
<!-- The list of contributors was moved to a separate file so that it can
be used by other documents in the FreeBSD web site. -->
<!ENTITY % developers SYSTEM "../developers.sgml"> %developers;
]>
<html>
&header;
<h2>Содержимое</h2>
<ul>
<li><a href="#overview">Обзор проекта</a></li>
<li><a href="#using">Использование KSE</a></li>
<li><a href="#further.reading">Дополнительная литература</a></li>
<li><a href="#status.kernel">Состояние проекта</a></li>
</ul>
<a id="overview" name="overview"></a>
<h2>Обзор</h2>
<p>Объекты планирования ядра (Kernel Scheduler Entities - KSE) представляет
собой систему многопоточного выполнения ядра, архитектура которой подобна
Scheduler Activations [Андерсон и другие]. Она обеспечивает баланс между
моделями многопоточного выполнения пользовательского уровня (1:N) и уровня
ядра (1:1), обладает большинством преимуществ обоих подходов, и несколькими
их отрицательными сторонами.</p>
<p>В этом проекте имеются две стороны: поддержка на уровне ядра и поддержка
на уровне пользователя. Поддержка на уровне ядра представляет собой
модификации к планировщику FreeBSD; пользовательская половина является
реализацией &posix;-потоков выполнения, которые используют преимущества
дополнительных служб ядра.</p>
<p>Целью является замена имеющейся на данный момент пользовательской системы
многопоточного выполнения в библиотеке libc_r и параметре <tt>-pthread</tt>
компилятора gcc, на новую библиотеку libpthread, которая будет
компоноваться при использовании параметра <tt>-lpthread</tt> компилятора
gcc.</p>
<a name="using"></a>
<h2>Использование KSE</h2>
<p>Вся работа над KSE выполняется в 5.0-CURRENT. Для построения ядра с
изменениями, касающимися KSE, не требуется никаких специальных параметров
ядра (изменения не отделимы от планировщика FreeBSD).</p>
<p>Для использования KSE в приложении вам необходимо скомпоновать его с
библиотекой libpthread; это делается весьма однозначнм образом. В
make-файлах приложения измените параметр компилятора <tt>-pthread</tt> или
параметр компоновщика <tt>-lc_r</tt> на <tt>-lpthread</tt> и выполните
компоновку повторно. В качестве альтернативного способа вы можете
использовать файл <tt>/etc/libmap.conf</tt> для отображения libc_r в
libpthread (обратитесь к <tt>libmap.conf(5)</tt>).</p>
<a name="further.reading"></a>
<h2>Дополнительная литература</h2>
<p>
<ul>
<li><a href="http://www.aims.net.au/chris/kse/">
Kernel-Scheduled Entities для FreeBSD</a>, Джейсона Эванса.
(Несколько устарело).</li>
<li><a href="http://www.freebsd.org/cgi/man.cgi?query=kse&amp;apropos=0&amp;sektion=0&amp;manpath=FreeBSD+5.0-current&amp;format=html">
Справочная страница по KSE</a></li>
<li><a href="http://people.freebsd.org/~deischen/docs/Scheduler.pdf">
Scheduler Activations</a>, Андерсон и другие.</li>
</ul>
<a name="status.kernel"></a>
<a name="status"></a>
<h2>Состояние проекта</h2>
<p>Далее приведен неполный общий перечень задач:</p>
<table border=3>
<tr>
<th>Модуль</th>
<th>Задача</th>
<th>Ответственный</th>
<th>Последнее обновление</th>
<th>Состояние</th>
</tr>
<tr>
<td>libpthread</td>
<td>Написание страницы справки kse(2), описывающей новые системные
вызовы.</td>
<td>&a.archie;</td>
<td>10 сентября 2002</td>
<td>&status.done;</td>
</tr>
<tr>
<td>libpthread</td>
<td>Repo-копия библиотеки libpthread из libc_r.</td>
<td>хозяин cvs</td>
<td>16 сентября 2002</td>
<td>&status.done;</td>
</tr>
<tr>
<td>libpthread</td>
<td>Использование KSE для планирования процессов.</td>
<td>&a.mini;</td>
<td>30 октября 2002</td>
<td>&status.done;</td>
</tr>
<tr>
<td>libpthread</td>
<td>Планирование простаивающего контекста по возможности.</td>
<td>&a.mini;</td>
<td>2 ноября 2002</td>
<td>&status.done;</td>
</tr>
<tr>
<td>libpthread</td>
<td>Направление сигналов в потоки.</td>
<td>&a.deischen; &a.davidxu;</td>
<td>28 июня 2003</td>
<td>&status.done;</td>
</tr>
<tr>
<td>libpthread</td>
<td>Разделение для SMP.</td>
<td>&a.deischen;</td>
<td>3 мая 2003</td>
<td>&status.done;</td>
</tr>
<tr>
<td>kernel</td>
<td>Разделение для SMP.</td>
<td>&a.davidxu;</td>
<td>3 мая 2003</td>
<td>&status.done;</td>
</tr>
<tr>
<td>libpthread</td>
<td>Запуск нескольких KSE (один на каждый CPU).</td>
<td>&a.davidxu;</td>
<td>3 мая 2003</td>
<td>&status.done;</td>
</tr>
<tr>
<td>libpthread, kernel</td>
<td>Реализация машинно-зависимых функций для alpha.</td>
<td>&a.marcel;</td>
<td>30 августа 2003</td>
<td>&status.wip;</td>
</tr>
<tr>
<td>libpthread, kernel</td>
<td>Реализация машинно-зависимых функций для amd64.</td>
<td>&a.davidxu; &a.deischen;</td>
<td>30 августа 2003</td>
<td>&status.done;</td>
</tr>
<tr>
<td>libpthread, kernel</td>
<td>Реализация машинно-зависимых функций для i386.</td>
<td>&a.davidxu; &a.deischen;</td>
<td>30 августа 2003</td>
<td>&status.done;</td>
</tr>
<tr>
<td>libpthread, kernel</td>
<td>Реализация машинно-зависимых функций для ia64.</td>
<td>&a.marcel;</td>
<td>30 августа 2003</td>
<td>&status.done;</td>
</tr>
<tr>
<td>libpthread, kernel</td>
<td>Реализация машинно-зависимых функций для sparc64.</td>
<td>&a.jake;</td>
<td>30 августа 2003</td>
<td>&status.wip;</td>
</tr>
<tr>
<td>kernel</td>
<td>Реализация схемы сигналов, специфичной для KSE.</td>
<td>&a.davidxu;</td>
<td>28 июня 2003</td>
<td>&status.done;</td>
</tr>
<tr>
<td>libpthread</td>
<td>Реализация границ системных потоков.</td>
<td>&a.deischen;</td>
<td>3 мая 2003</td>
<td>&status.done;</td>
</tr>
<tr>
<td>kernel</td>
<td>Эффективное ограничение системных потоков (отсутствие вызовов при
их блокировке).</td>
<td>&a.davidxu;</td>
<td>30 августа 2003</td>
<td>&status.done;</td>
</tr>
<!--
<tr>
<td> &nbsp; </td>
<td> </td>
<td> &nbsp; </td>
<td> D M 2002 </td>
<td> &status.new; </td>
</tr>
-->
</table>
&footer;
</body>
</html>