Initial import, synchronized with English 1.27
Obtained from: The FreeBSD Russian Documentation Project
This commit is contained in:
parent
d2a46d32a8
commit
df0aa437c1
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/www/; revision=24758
1 changed files with 374 additions and 0 deletions
374
ru/projects/summerofcode.sgml
Normal file
374
ru/projects/summerofcode.sgml
Normal file
|
@ -0,0 +1,374 @@
|
|||
<!--
|
||||
The FreeBSD Russian Documentation Project
|
||||
|
||||
$FreeBSDru: frdp/www/ru/projects/summerofcode.sgml,v 1.2 2005/06/06 17:40:24 andy Exp $
|
||||
|
||||
Original revision: 1.27
|
||||
-->
|
||||
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" [
|
||||
<!ENTITY base CDATA "..">
|
||||
<!ENTITY date "$FreeBSD$">
|
||||
<!ENTITY title "Проекты FreeBSD на лето">
|
||||
<!ENTITY % includes SYSTEM "../includes.sgml"> %includes;
|
||||
<!ENTITY % developers SYSTEM "../developers.sgml"> %developers;
|
||||
]>
|
||||
|
||||
<html>
|
||||
&header;
|
||||
|
||||
<p>Проект FreeBSD с удовольствием принял участие в программе <a
|
||||
href="http://code.google.com/summerofcode.html">Summer of Code 2005</a>
|
||||
компании Google. В её рамках предполагается оказать финансовую поддержку
|
||||
студентам, которые будут участвовать в проектах с открытым кодом в течение
|
||||
летних каникул.</p>
|
||||
|
||||
<ul>
|
||||
<li> <a href="#ideas">Примеры предложенных идей</a>
|
||||
<ul>
|
||||
<li><a href="#p-userland">Пользовательские программы / Инструменты
|
||||
установки</a></li>
|
||||
|
||||
<li><a href="#p-filesystem">Файловая система</a></li>
|
||||
|
||||
<li><a href="#p-networking">Сетевые возможности</a></li>
|
||||
|
||||
<li><a href="#p-security">Информационная безопасность</a></li>
|
||||
|
||||
<li><a href="#p-kernel">Ядро</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li><a href="#mentors">Возможные руководители</a></li>
|
||||
|
||||
<li><a href="#faq">Часто задаваемые вопросы</a></li>
|
||||
</ul>
|
||||
|
||||
<a name="ideas"></a>
|
||||
<h2>Примеры предложенных идей</h2>
|
||||
|
||||
<a name="p-userland"></a>
|
||||
<h3>Пользовательские программы / Инструменты установки</h3>
|
||||
|
||||
<ul>
|
||||
<!-- <li><strong>Редизайн Web-сайта FreeBSD</strong></li> -->
|
||||
|
||||
<li><strong>Интеграция с BSD Installer</strong>: Подготовка прототипа для
|
||||
интеграции с <a href="http://www.bsdinstaller.org/">программой установки
|
||||
BSD</a>, чтобы полностью заменить устаревшую программу sysinstall,
|
||||
используемую во FreeBSD. Уже было выполнено достаточно много черновой
|
||||
работы, так что любой человек с достаточными знаниями за несколько
|
||||
месяцев может сделать в этой области много хорошего, особенно при
|
||||
соответствующем руководстве более опытных разработчиков FreeBSD.</li>
|
||||
|
||||
<li><strong>Встроенная программа установки через PXE</strong>: Было бы
|
||||
замечательно иметь встроенную возможность выполнять установку через PXE.
|
||||
Это позволило бы создать установочный сервер на базе CDROM с FreeSBIE
|
||||
на одной машине, указать в BIOS других компьютеров на загрузку с PXE, и
|
||||
выполнить оставшиеся действия как по мановению волшебной палочки. Это
|
||||
очень помогло бы при разворачивании кластерных узлов и тому подобных
|
||||
задачах.</li>
|
||||
|
||||
<li><strong>Полностью интегрированный мониторинг SNMP</strong>:
|
||||
Подключаемые модули для нашей технологии BSNMP для мониторинга отдельных
|
||||
состояний системы, в частности, загрузки, дискового пространства,
|
||||
статистики по виртуальной памяти, энтропии, правилам сетевого экрана и
|
||||
его состоянии, очередям и отказам/подтверждениям sendmail и подобным
|
||||
вещам. Клиент SNMP, который мог бы собирать и централизовать снимаемые
|
||||
данные, обрабатывать их и так далее. Координируют <a
|
||||
href="mailto:philip@FreeBSD.org">&a.philip;</a>, <a
|
||||
href="mailto:glebius@FreeBSD.org">&a.glebius;</a>, <a
|
||||
href="mailto:harti@FreeBSD.org">&a.harti;</a> и <a
|
||||
href="mailto:rwatson@FreeBSD.org">&a.rwatson;</a>.</li>
|
||||
|
||||
<li><strong>Интеграция поддержки Xen</strong>: Поддержка <a
|
||||
href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/">монитора
|
||||
виртуальной машины Xen</a> включается во FreeBSD -CURRENT, поэтому
|
||||
установочная программа должна быть обновлена, чтобы могла быть возможна
|
||||
установка системы Xen с несколькими узлами FreeBSD и так далее.</li>
|
||||
|
||||
<li><strong>Переписать CVSup на C</strong>: <a
|
||||
href="http://www.cvsup.org">CVSup</a> представляет собой ориентированную
|
||||
на CVS сетевую систему общего назначения для распространения файлов. Она
|
||||
массово использовалась около 10 лет для распространения CVS-дерева
|
||||
FreeBSD между зеркалами по всему миру. CVSup была написана на Modula-3 и
|
||||
её реализация на языке C позволит улучшать эту систему большему
|
||||
количеству пользователей. Архитектура CVSup является многопоточной, так
|
||||
что претендент должен иметь некоторый опыт работы с pthreads.
|
||||
Дополнительными требованиями является понимание хранилищ исходных текстов
|
||||
Subversion и Perforce. На данный момент часть работ по написанию и
|
||||
проектированию уже выполнена. Координатором является <a
|
||||
href="mailto:mux@FreeBSD.org">&a.mux;</a>.</li>
|
||||
|
||||
<li><strong>Улучшение нашей системы регрессивного тестирования</strong>:
|
||||
Ник Клэйтон создал инфраструктуру проведения регрессивных тестов при
|
||||
помощи языка Perl. Большее количество тестов должно работать с libtap.
|
||||
В основном здесь две части. Во-первых, многие из существующих тестов
|
||||
должны вместо assert() использовать ok() и близкие вызовы из libtap.
|
||||
Во-вторых, нужно написать большее количество регрессивных тестов. К этой
|
||||
работе приглашаются студенты, знакомые с языками написания скриптов и
|
||||
тестированием программного обеспечения. Координатором является <a
|
||||
href="mailto:nik@FreeBSD.org">&a.nik;</a>.</li>
|
||||
|
||||
<li><strong>Отслеживание производительности во времени</strong>: Одной из
|
||||
больших проблем проекта масштаба FreeBSD является мониторинг изменений в
|
||||
характеристиках производительности с течением времени. Для этого
|
||||
требуется несколько вещей. Среди них набор соответствующих тестов,
|
||||
оборудование для их запуска, база данных для хранения результатов и
|
||||
программное обеспечения для извлечения интересующих нас результатов и
|
||||
их выдачи. Решение этих проблем в целом, видимо, выходит за рамки работы
|
||||
на лето, однако интересующая нас часть может быть выполнена.
|
||||
Координатором является <a href="mailto:brooks@FreeBSD.org">
|
||||
&a.brooks;</a>.</li>
|
||||
</ul>
|
||||
|
||||
<a name="p-filesystem"></a>
|
||||
<h3>Файловая система</h3>
|
||||
|
||||
<ul>
|
||||
<li><strong>Журналирование UFS</strong>: Добавление журналирования и
|
||||
функций воспроизведения для файловой системы UFS. Целью является
|
||||
повышение надёжности файловой системы и значительное снижение
|
||||
необходимости проведение полной проверки 'fsck' после сбоя или отключения
|
||||
электроэнергии. Это проект, который будет иметь дело не только с
|
||||
внутренним устройством файловой системы, но и систем виртуальной памяти и
|
||||
буферизации/кэширования, так что это прекрасная возможность изучить
|
||||
многие фундаментальные аспекты операционной системы.<br>
|
||||
|
||||
Работа над этой задачей уже ведётся, но дополнительная помощь всегда
|
||||
нужна и будет приветствоваться. Кандидаты должны иметь хотя бы
|
||||
поверхностное представление о структурах данных файловой системы (i-узлы,
|
||||
свободные списки, каталоги) и сильное желание больше узнать о таких
|
||||
системах. Этот проект станет существенным пунктом любого резюме, но он
|
||||
не для слабых людей. Координатором является <a
|
||||
href="mailto:scottl@FreeBSD.org">&a.scottl;</a>.
|
||||
|
||||
<li><strong>Autofs</strong>: Создание файловой системы autofs по её
|
||||
описанию. Кандидаты должны обладать некоторыми знаниями в области
|
||||
файловых систем, в том числе сетевых. Основная масса работ выполнена,
|
||||
однако транспорт уровня ядра и взаимодействие с автомонтировщиком "amd"
|
||||
ещё требуют завершения. Координирует работы <a
|
||||
href="mailto:alfred@FreeBSD.org">&a.alfred;</a>.</li>
|
||||
|
||||
<li><strong>Менеджер логических томов</strong></li>
|
||||
|
||||
<li><strong>Волшебные символические ссылки</strong>: Реализовать волшебные
|
||||
символические ссылки. Кандидаты должны обладать некоторыми знаниями о
|
||||
файловых системах. Имеются экспериментальные <a
|
||||
href="http://www.freebsd.org/~jwd/magiclinks.tgz">патчи</a> для 4-STABLE,
|
||||
хотя нужно будет изучить реализацию DragonFly в виде утилиты
|
||||
setvar. Координатором может быть <a
|
||||
href="mailto:jwd@FreeBSD.org">&a.jwd;</a>.</li>
|
||||
</ul>
|
||||
|
||||
<a name="p-networking"></a>
|
||||
<h3>Сетевые возможности</h3>
|
||||
|
||||
<ul>
|
||||
<li><strong>Устройство, реализующее сетевой диск</strong>: Добавить
|
||||
возможность удалённого доступа к устройствам из одной машины к другой.
|
||||
Целью является обеспечения удалённого доступа к таким ресурсам, как
|
||||
диски, звуковые адаптеры и другое оборудование, по сети. Перспективные
|
||||
кандидаты должны понимать или иметь интерес к системам удалённого вызова
|
||||
функций, сетевым возможностям (TCP/IP), быть заинтересованными в изучении
|
||||
того, как работают драйверы устройств Unix, будет требоваться также
|
||||
знание управления процессами. Этот проект станет хорошим вкладом в
|
||||
резюме, но но не для слабых людей. Координированием занимается <a
|
||||
href="mailto:alfred@FreeBSD.org">&a.alfred;</a>.</li>
|
||||
|
||||
<li><strong>NFS Lockd (усиление семантики)</strong>: Улучшение работы NFS
|
||||
lockd во FreeBSD. Apple внесла определённые улучшения, которые могут
|
||||
быть и в нашем коде. Реализовать восстановление состояния в lockd.
|
||||
Кандидату предстоит изучить, как переносить код из одного ядра в другое,
|
||||
а также отслеживать состояния на стороне клиента. Этот проект будет
|
||||
хорошим дополнением к резюме. Координирует работу <a
|
||||
href="mailto:alfred@FreeBSD.org">&a.alfred;</a>.</li>
|
||||
|
||||
<li><strong>NFS Lockd (реализация на уровне ядра)</strong>: Улучшение
|
||||
семантики работы NFS lockd во FreeBSD. Перенос реализации lockd в ядро
|
||||
обещает несколько существенных улучшений как в производительности, так и
|
||||
семантике. Кандидаты должны иметь хорошее представление об NFS,
|
||||
блокировке, RPC и работе с сетью на уровне ядра. Это прекрасное
|
||||
дополнение к резюме, взваливающее на вас обязанности "знания NFS" на всю
|
||||
оставшуюся карьеру, и эта работа не для слабых людей. Координацию
|
||||
работ выполняет <a href="mailto:alfred@FreeBSD.org">&a.alfred;</a>.</li>
|
||||
|
||||
<li><strong>Упорядочивание пользовательского/системного интерфейса
|
||||
(net/if_var.h)</strong>: Более <em>восьми</em> лет назад объявления
|
||||
функций сетевого интерфейса были разделены на net/if.h и net/if_var.h.
|
||||
Это было сделано для того, чтобы net/if_var.h присутствовал только в
|
||||
ядре, а net/if.h содержал общедоступные интерфейсы. На сегодняшний день
|
||||
внутренний заголовок, net/if_var.h, всё ещё включается во многие
|
||||
пользовательские приложения. В некоторых случаях это случается из-за
|
||||
интерфейсов, которые на самом деле не являются внутренними для ядра. В
|
||||
других случаях эти структуры использовались вместе с libkvm для прямого
|
||||
обращения к информации ядра. Этот проект должен решить оба типа проблем,
|
||||
в первую очередь за счёт переписывания команды netstat(1) и любых других,
|
||||
работающих с сетью и использующих libkvm, так, чтобы они использовали
|
||||
альтернативные пользовательские интерфейсы, при необходимости их нужно
|
||||
будет создавать. Функции netstat по анализу аварийных дампов, вероятно,
|
||||
нужно будет выделить в отдельную программу. Координацией занимается <a
|
||||
href="mailto:brooks@FreeBSD.org">&a.brooks;</a>.</li>
|
||||
|
||||
<li><strong>Перенос Web100 на FreeBSD</strong>: Проект <a
|
||||
href="http://www.web100.org/">Web100</a> был начат для решения проблем с
|
||||
производительностью TCP при работе поверх длинных и толстых сетевых
|
||||
каналов. В рамках проектах был создан интересный набор патчей для Linux
|
||||
для тонкой настройки и мониторинга, и они обеспечивают значительно лучшую
|
||||
производительность в этой области. Интеграция этой работы во FreeBSD
|
||||
может дать значительные преимущества в плане производительности TCP при
|
||||
определённых средах эксплуатации. Для возможностей Web100 должны быть
|
||||
созданы и интегрированы в систему соответствующие абстракции FreeBSD.
|
||||
Влияние этих изменений на производительность должно быть проверено до
|
||||
того, как они будут внесены в систему. Идеальный кандидат для выполнения
|
||||
этой работы имеет некоторые знания об операциях протокола TCP и знаком с
|
||||
с интерфейсами ядра. Координацию осуществляет <a
|
||||
href="mailto:brooks@FreeBSD.org">&a.brooks;</a>.</li>
|
||||
</ul>
|
||||
|
||||
<a name="p-security"></a>
|
||||
<h3>Информационная безопасность</h3>
|
||||
|
||||
<ul>
|
||||
<li><strong>SecureMines</strong>: Добавить в систему мета-данные,
|
||||
позволяющие отлавливать нарушителей и вести журнал аудита системы. Целью
|
||||
этого проекта является создание нескольких способов обозначения
|
||||
некоторого события как стороннего действия (например, открытие
|
||||
файла-ловушки), которое приводит к остановке системы и выдаче
|
||||
максимального количества информации. Среди возможностей рассматривается
|
||||
использование расширенных атрибутов для пометки таких "мин". Кандидаты
|
||||
должны иметь представление о модели процессов в Unix. Координацией
|
||||
занимается <a href="mailto:alfred@FreeBSD.org">&a.alfred;</a>.</li>
|
||||
</ul>
|
||||
|
||||
<a name="p-kernel"></a>
|
||||
<h3>Ядро</h3>
|
||||
|
||||
<ul>
|
||||
<li><strong>Обновления Linuxulator</strong>: FreeBSD обеспечивает двоичную
|
||||
совместимость с Linux за счёт применения таблицы системных вызовов Linux,
|
||||
которая применяется при исполнении бинарных файлов Linux в формате ELF.
|
||||
Эта реализация должна быть проверена на соответствие современным ядрам
|
||||
Linux, недостающие важные системные вызовы могут быть добавлены для
|
||||
обеспечения работы всех основных приложений во FreeBSD. Студент должен
|
||||
уметь читать и понимать чужой код на языке C, писать код на C и иметь
|
||||
хорошее представление о том, как повторно реализовать код GPL в чистых
|
||||
условиях (без копирования и вставки кода!).</li>
|
||||
|
||||
<li><strong>Реализация пассивного охлаждения в ACPI</strong>: Для
|
||||
охлаждения процессора должен использоваться интерфейс cpufreq, основанный
|
||||
на различных настройках _PSV. Кроме того, нам необходимо реализовать
|
||||
различные интервалы опроса для температурных зон, что основано как на
|
||||
пассивных настройках, так и на опросах, явно задаваемых в ASL. Этот
|
||||
проект требует хорошего знания C, понимания программно/аппаратного
|
||||
интерфейса, наличия лэптопа, работающего с ACPI, и работы с ядром.
|
||||
Координацией занимаются <a href="mailto:njl@FreeBSD.org">&a.njl;</a> и <a
|
||||
href="mailto:bruno@FreeBSD.og">&a.bruno;</a>.</li>
|
||||
|
||||
<li><strong>Остановка со сбросом на диск</strong>: Реализовать механизм
|
||||
остановки/восстановления с использованием диска. Возможно использование
|
||||
функций создания дампа для сброса страниц памяти на диск, затем обращение
|
||||
к ACPI для перевода системы в состояние S4 или выключения питания.
|
||||
Восстановление потребует изменений в загрузчике, обеспечивающих прямую
|
||||
загрузку образа памяти и продолжения выполнения. Этот проект требует
|
||||
хорошего знания C, понимания программно-аппаратного интерфейса, наличия
|
||||
лэптопа, работающего с ACPI, и работы с ядром. Координацию работ
|
||||
выполняют <a href="mailto:njl@FreeBSD.org">&a.njl;</a> и <a
|
||||
href="mailto:bruno@FreeBSD.og">&a.bruno;</a>.</li>
|
||||
|
||||
<li><strong>Реализовать и замерить характеристики различных алгоритмов для
|
||||
powerd(8)</strong>: Реализовать ряд алгоритмов предсказания (а возможно,
|
||||
создать собственные) и замерить их характеристики на предмет
|
||||
энергопотребления и потери производительности. Лучшим алгоритмом будет
|
||||
тот, что экономит максимальное количество энергии с наименьшими потерями
|
||||
производительности. Требует базовых знаний языка C, наличия лэптопа,
|
||||
поддерживаемого cpufreq(4) (предполагается современный процессор
|
||||
Pentium-M) и некоторых знаний статистики. Координацию осуществляют <a
|
||||
href="mailto:njl@FreeBSD.org">&a.njl;</a> и <a
|
||||
href="mailto:bruno@FreeBSD.og">&a.bruno;</a>.</li>
|
||||
|
||||
<li><strong>Мета-язык ядра</strong>: Разработка диалекта языка C,
|
||||
упрощающего написание кода ядра. В нём должны присутствовать расширения
|
||||
языка, позволяющие писать более ясный для понимания код ядра и с меньшим
|
||||
количеством ошибок. Примером может служить языковая поддержка связных
|
||||
списков, устраняющая необходимость в запутанных MACRO. Координируют
|
||||
работу <a href="mailto:gnn@FreeBSD.org">&a.gnn;</a> и <a
|
||||
href="mailto:phk@FreeBSD.org">&a.phk;</a>. Статья Wiki с более полной
|
||||
информацией доступна <a
|
||||
href="http://wikitest.freebsd.org/moin.cgi/K">здесь</a>.</li>
|
||||
</ul>
|
||||
|
||||
<p>Дополнительные проекты можно найти, просмотрев страницу <a
|
||||
href="index.html">Разрабатываемых проектов FreeBSD</a> или некоторые из
|
||||
последних <a href="&base;/news/status">Отчётов о ходе работ</a>.</p>
|
||||
|
||||
<a name="mentors"></a>
|
||||
<h2>Руководители</h2>
|
||||
|
||||
<p>Если вы хотите принять участие в проекте, который здесь в явном виде не
|
||||
указан, вы можете обратиться к одному из потенциальных руководителей,
|
||||
указанных ниже, для того, чтобы составить предложение в одной из следующих
|
||||
больший категорий.</p>
|
||||
|
||||
<ul>
|
||||
<li><strong>Сетевые возможности</strong>: <a
|
||||
href="mailto:alfred@FreeBSD.org">&a.alfred;</a>,
|
||||
<a href="mailto:brooks@FreeBSD.org">&a.brooks;</a> и
|
||||
<a href="mailto:sam@FreeBSD.org">&a.sam;</a></li>
|
||||
|
||||
<li><strong>Файловые системы</strong>:
|
||||
<a href="mailto:scottl@FreeBSD.org">&a.scottl;</a>,
|
||||
<a href="mailto:alfred@FreeBSD.org">&a.alfred;</a></li>
|
||||
|
||||
<li><strong>GEOM</strong>: <a
|
||||
href="mailto:phk@FreeBSD.org">&a.phk;</a></li>
|
||||
|
||||
<li><strong>Подготовка релизов / Интеграция</strong>: <a
|
||||
href="mailto:re@FreeBSD.org">re@FreeBSD.org</a></li>
|
||||
|
||||
<li><strong>TrustedBSD / Информационная безопасность</strong>: <a
|
||||
href="mailto:rwatson@FreeBSD.org">&a.rwatson;</a></li>
|
||||
|
||||
<li><strong>Подключаемые дисковые планировщики</strong>: <a
|
||||
href="mailto:luigi@FreeBSD.org">&a.luigi;</a>.</li>
|
||||
|
||||
<li><strong>ACPI</strong>: <a
|
||||
href="mailto:njl@FreeBSD.org">&a.njl;</a>
|
||||
и <a href="mailto:bruno@FreeBSD.og">&a.bruno;</a>.</li>
|
||||
|
||||
<li><strong>Звук</strong>: <a
|
||||
href="mailto:matk@FreeBSD.org">&a.matk;</a>.</li>
|
||||
</ul>
|
||||
|
||||
<p>Если ваш проект не был выбран компанией Google для финансирования, но вы
|
||||
всё же полагаете, что ваш проект этого заслуживает, сообщите об этом по
|
||||
электронной почте в адрес <a
|
||||
href="mailto:proposals@FreeBSD.org">proposals@FreeBSD.org</a>.</p>
|
||||
|
||||
<a name="faq"></a>
|
||||
<h2>Часто задаваемые вопросы</h2>
|
||||
|
||||
<ul>
|
||||
<li><p><strong>Подойду ли я?</strong></p>
|
||||
|
||||
<p>Пожалуйста, обратитесь к <a
|
||||
href="http://code.google.com/summfaq.html">FAQ для участников</a>
|
||||
компании Google для решения всех вопросов, касающихся
|
||||
требований к участникам.</p></li>
|
||||
|
||||
<li><p><strong>Как написать заявку?</strong></p>
|
||||
|
||||
<p>Фонд Perl имеет хороший документ <a
|
||||
href="http://www.perlfoundation.org/gc/grants/proposals.html">
|
||||
HOWTO</a>, описывающий как написать заявку на разработку с открытым
|
||||
кодом.</p></li>
|
||||
|
||||
<li><p><strong>Когда истекает срок подачи заявок?</strong></p>
|
||||
|
||||
<p>Заявки должны быть получены Google до 14 июня.</p></li>
|
||||
</ul>
|
||||
|
||||
&footer;
|
||||
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in a new issue