Архивы рубрики ‘FreeBSD’

Уменьшение размера FreeBSD

Зачем нужен весь этот исходный код, если не для сборки своей версии операционной системы? FreeBSD предоставляет вам не только исходный код, но и целую серию параметров, позволяющих легко влиять на процесс сборки.

Эти параметры могут быть определены в /etc/make.conf (глава 10) или в /etc/src.conf. Настройки в /etc/src.conf влияют только на сборку системного программного обеспечения FreeBSD из исходного кода, параметры в /etc/make.conf – на сборку любого программного обеспечения. Полный список параметров для файла src.conf есть на странице руководства src.conf(5), а в табл. 13.2 я привел те из них, которые считаю наиболее полезными в определенных ситуациях. В главе 20 мы познакомимся с этими параметрами поближе.

Продолжение …

Управление ретрансляцией FreeBSD

Вообще говоря, почтовый сервер принимает почту, предназначенную для его локальных доменов, или почту, отправляемую с них. Если почтовый сервер домена absolutefreebsd.com получает сообщение для пользователя с адресом в домене absolutefreebsd.com, он принимает это сообщение. Если сообщение от пользователя с адресом в absolutefree- bsd.com предназначено для другого домена и если имеют место другие процедуры контроля доступа, то сервер принимает это сообщение и отправляет его получателю. Если кто-либо, совершенно не связанный с absolutefreebsd.com, пытается использовать данный почтовый сервер как ретранслятор (relay) для перенаправления писем на сторону, сервер отклонит такой запрос.

Продолжение …

RAID-10 FreeBSD

Разбивка на чередующиеся области зеркалированных дисков, или RAID-10, пожалуй, самый быстрый способ получить высокопроизводительное устройство хранения больших объемов данных. Сначала диски объединяются в зеркальные пары, а затем производится запись данных на эти пары с чередованием. В массивах этого типа отсутствует выделенное устройство для хранения контрольных сумм, вместо этого избыточность обеспечивается зеркалированием, а запись с чередованием – производительность. Для создания такого массива требуется много дисков, но RAID-10 – единственный реальный способ обеспечить высокую пропускную способность.

Продолжение …

Составляющие ядра, о которых следует знать

Для этого раздела лучше подошел бы заголовок «Параметры ядра, о которые можно споткнуться, если не знать, для чего они нужны». Если кто-то сообщает вам, что у вас наблюдаются проблемы с ACPI, вы должны понимать, о чем идет речь. Когда система извергает страшное проклятие: «lock order reversals» (аннулирован запрос на блокировку), вы должны знать, что неприятности вам гарантированы. Основные источники проблем – это ACPI, РАЕ, SMP и аннулирование запроса на блокировку.

Продолжение …

Пейджинг и свопинг FreeBSD

В применении пространства свопинга (области подкачки) нет ничего плохого. FreeBSD использует область подкачки как виртуальную память. Жесткий диск намного медленнее оперативной памяти, однако область подкачки так или иначе работает, а многим программам вовсе не надо хранить все данные в оперативной памяти. Обычно программы тратят 80% своего времени на исполнение 20% своего кода. Большая часть остального кода – это код запуска и завершения программы, обработки ошибок и т. д. Вы можете поместить этот код в область подкачки без серьезного снижения производительности.

Продолжение …

Потоки, потоки и еще раз потоки FreeBSD

Слово поток, или нить (thread), встречается в разных контекстах. Некоторые процессоры поддерживают технологию HyperThreading. Некоторые процессы запускают несколько потоков исполнения (нитей). Операционная система FreeBSD содержит три отдельные библиотеки, позволяющие реализовать многопоточную модель исполнения. Некоторые части ядра работают как отдельные потоки исполнения (нити). Мои штаны состоят из огромного множества нитей (хотя в некоторых предметах одежды этих нитей так мало, что в них, по мнению моей жены, неприлично появляться на публике).1 Что же это за потоки и что подразумевается под этим словом?

Продолжение …

Создание файловых систем FreeBSD

Создав участки и разделы, вы уже практически подготовили диск к использованию. Все, что остается сделать, – это создать файловые системы. Создать новую файловую систему UFS можно с помощью утилиты newfs(8). Используйте ключ -U, чтобы разрешить применение механизма Soft Updates. О некоторых других параметрах newfs(8) мы поговорим в оставшейся части этой главы, а пока просто создадим стандартную файловую систему UFS2:

Продолжение …

Файлы по умолчанию FreeBSD

В системе FreeBSD файлы с настройками подразделяются на файлы по умолчанию и изменяемые файлы. Файлы по умолчанию содержат присваивания переменных. Эти файлы не предназначены для редактирования администратором; их роль – подмена файлами с теми же

именами. Файлы с настройками по умолчанию хранятся в каталоге, который так и называется – defaults.

Продолжение …

Включения, исключения и расширения ядра FreeBSD

Теперь, когда вы научились собирать ядро, можно попробовать включить свою фантазию и посмотреть, как можно использовать включения, ключевые слова с префиксом по и файл NOTES.

NOTES

Ядро FreeBSD включает в себя самые разнообразные функциональные возможности, которые не включены в GENERIC. Многие из этих возможностей предназначены для построения весьма специфических систем или сетей особого вида. Полный перечень особенностей, зависящих от аппаратного обеспечения, можно найти в файле NOTES, в каталоге с конфигурациями ядра для каждой из аппаратных архитектур, например /sys/amd64/conf/NOTES. Перечень особенностей, поддерживаемых системой FreeBSD и не зависящих от аппаратного окружения, можно найти в файле /sys/conf/NOTES. Если у вас имеется аппаратное устройство, которое не поддерживается ядром GENERIC, загляните в файл NOTES. Некоторые из перечисленных в этом файле особенностей имеют неясное назначение, но если у вас имеется определенное устройство, то вы сможете разобраться, какая запись ему соответствует. Давайте взглянем на типичную запись из файла NOTES:

Продолжение …

Разработка FreeBSD

Существует старая поговорка, согласно которой управление программистами подобно выгулу группы котов. Несмотря на тот факт, что разработчики FreeBSD разбросаны по всему миру и говорят на разных языках, они отлично работают вместе в составе единой команды. Они больше напоминают семью львов, чем группу кошек. И, в отличие от некоторых других проектов, вся разработка FreeBSD ведется открыто. Систему разрабатывают три группы: создатели (committers), помощники (contributors) и пользователи (users).

Продолжение …