Это только кажется, что для FreeBSD требуется больше места на разделе подкачки, чем для Linux. На самом деле это не так. Главное отличие FreeBSD от Linux в этом плане заключается в том, что FreeBSD активно перемещает неиспользуемые страницы памяти, к которым не было обращений, в раздел подкачки, чтобы увеличить объём доступной физической памяти для активного использования. Linux же перемещает страницы памяти в раздел подкачки только в крайнем случае. Получаемое во FreeBSD увеличение нагрузки на раздел подкачки компенсируется более эффективным использованием оперативной памяти.
Заметьте, что, хотя FreeBSD предпочитает использовать раздел подкачки,
она не может сбросить все неактивные страницы в своп при полностью
неактивной системе. Так что вряд ли может возникнуть ситуация, когда,
проснувшись рано утром, вы обнаружите, что вся ваша система находится в
разделе подкачки, хотя она простаивала всю ночь.
Для понимания того, почему FreeBSD использует формат a.out,
вы должны сначала получить представление о трёх "основных" форматах
выполнимых файлов для UNIX:
Это самый старый, `классический' формат объектных файлов для UNIX.
В нём используется короткий и компактный заголовок с магическим числом
в начале, которое часто используется для определения формата
(за подробным описанием обратитесь к странице Справочника о Это формат объектных файлов SVR3. Дополнительно в заголовок
включена таблица секций, так что вы можете иметь их больше, чем только
.text, .data и .bss. Преемник FreeBSD каким-то образом пытается решить эту проблему, предоставляя
утилиту для пометки конкретного выполнимого файла
за подробной информацией.
FreeBSD выросла на "классических" традициях и традиционно использовала
формат Если вернуться в далёкое тёмное прошлое, то тогда компьютеры были
очень просто устроены. На них могла работать простая, маленькая
система. Формат a.out полностью решал задачу представления программ
на простых системах (PDP-11). Когда же люди перенесли unix с простых
систем, они оставили a.out, так как его было достаточно для ранних
реализаций unix для таких архитектур, как Motorola 68k, VAX, итд.
Затем какой-то умный инженер решил, что если он может заставить
программное обеспечение делать некоторые тонкие манипуляции, то это
позволит преодолеть некоторые ограничения при проектировании и позволит
ядру процессора работать быстрее. Когда это было сделано с новым типом
аппаратуры (в наши дни известном как RISC), оказалось, что Вдобавок к этому, так как размеры программ стали достигать огромных
размеров, а дисковая (и физическая) память оставалась сравнительно
небольшой, то возникла концепция совместно используемых библиотек.
Система VM также стала более мощной. Хотя каждое из этих нововведений
продолжало использовать формат Однако с течением времени инструменты разработки, на которых
основаны инструменты разработки FreeBSD (особенно ассемблер и
загрузчик), разделились на две параллельные ветви. В дерево FreeBSD
была добавлена поддержка совместно используемых библиотеки и были
исправлены некоторые ошибки. Разработчики из GNU, которые изначально
писали эти программы, полностью их переделали, добавив более простую
поддержку построения кросс-компиляторов, в котором можно использовать
различные форматы, итд. Когда многие захотели строить кросс-компилятор
с выходнвм кодом для FreeBSD, то им не повезло, так как старые исходные
тексты, которые FreeBSD использовала для as и ld, не подошли. Новый
набор утилит от GNU (binutils) поддерживает кросс-компиляцию,
Чтобы это работало, используйте опции `` и по Если задан лидирующий слэш, Наверное, вы думаете, что достаточно будет изменить значение
константы Если вы абсолютно уверены, что сможете найти и исправить проблемы
такого рода самостоятельно, когда они возникнут, то можете увеличить
длину регистрационного имени в ранних релизах, отредактировав файл
/usr/include/utmp.h и изменив соответствующим образом константу
UT_NAMESIZE. Вы должны будете также изменить значение MAXLOGNAME в
файле /usr/include/sys/param.h, чтобы оно соответствовало UT_NAMESIZE.
И наконец, если вы компилируете из исходных текстов, не забудьте, что
/usr/include обновляется каждый раз! Делайте изменения в
соответствующих файлах каталога /usr/src/.. Да, начиная с версии 3.0, вы можете использовать эмулятор DOS
,
посвящённый эмуляции во FreeBSD, если вы заинтересованы в участии в
этом проекте.
Для систем, предшествовавшим 3.0, в коллекции портов есть
замечательная утилита Сокращение Протокол SUP использует пропускную способность канала неэффективно,
и был отвергнут. В настоящее время рекомендуемым методом для
синхронизации исходных текстов является протокол В. Кто-нибудь делал замеры температуры при работе FreeBSD? Я
знаю, что Linux греется меньше, чем DOS, но никогда не видел упоминания
FreeBSD. Наверное, он сильно греется.
О. Нет, но мы сделали различные вкусовые тесты у добровольцев с
завязанными глазами, которые до этого приняли по 250 микрограмм
LSD-25. 35% добровольцев заявило, что FreeBSD имеет вкус апельсина,
тогда как вкус Linux расценивался как фиолетовый туман. Насколько
я помню, ни одна из групп не отметила значительной разницы в
температуре. Вы хотели опубликовать полные результаты этого опроса,
когда обнаружиди, что слишком много добровольцев покинули помещение
во время тестов, что несколько смазало результаты. Я думаю, что
большинство из них работают сейчас в Apple над их новым GUI
``чеши и нюхай''. Это старый добрый бизнес!
Серьёзно, и FreeBSD, и Linux используют инструкцию ``
В. Делает ли FreeBSD что-нибудь эдакое при компиляции ядра, что
вызывает поскрипывание микросхем памяти? При компиляции (и в короткий
промежуток времени после обнаружения дисковода при старте системы)
от микросхем памяти исходит странный царапающий звук.
О. Да! Вы, наверное, видели частое упоминание ``даемонов'' в
документации по BSD, но не многие знают, что это настоящие нематериальные
существа, которые теперь завладели вашим компьютером. Царапающий звук,
издаваемый микросхемами памяти - это на самом деле высокочастотное
перешёптывание между даемонами, когда они решают, как лучше справиться
с различными задачами по администрированию системы.
Если шум достиг ваших ушей. команда DOS ``fdisk /mbr''
их спугнёт, но не удивляйтесь, если они отреагируют соответствующим
образом и попытаются вас остановить. Фактически, если во время
выполнения этой команды вы услышите сатанинский голос Билла Гейтса из
встроенного динамика, бегите и даже не оглядывайтесь! Избавленные
от противостояния с даемонами BSD, близнецы-демоны DOS и Windows часто
могут захватить полный контроль не только над вашей машиной и
навлечь вечное проклятие на вашу душу. Если бы у меня был выбор, я
думаю, что предпочту царапающий звук.
MFC это сокращение от 'Merged From -CURRENT.' Оно используется в
протоколах изменений CVS для отметки того, что изменение было
перенесено в ветвь STABLE из CURRENT.
Это сокращение значит что-то на секретном языке, который могут знать
только посвящённые. Это нельзя перевести один к одному, однако
достаточно сказать, что перевод с BSD - это что-то между 'Команда
Formula-1", 'Пингвины - это вкусные плюшки' и 'Мы прикольнее, чем
Linux.' :-)
Если серьёзно, то BSD является сокращением от 'Berkeley Software
Distribution', названия, которое было выбрано Berkeley CSRG (Computer
Systems Research Group) для их дистрибутива Unix.