Разное FreeBSD использует гораздо больше места в свопе, чем Linux. Почему?

Это не так. Наверное, вас интересует, ``почему своп выглядит переполненным?''. Если вы подразумевали именно это, то это объясняется тем, что помещение страницы памяти в своп с последующим восстановлением оттуда выполняется быстрее, чем её сброс с последующим взятием снова из (неизменяемых) блоков выполнимого файла из файловой системы.

Реальное количество ``грязных'' страниц памяти, которое вы можете иметь в системе одновременно, не уменьшается; просто по необходимости происходит сброс ``чистых'' страниц. Почему используются (и что из себя представляют) форматы выполнимых файлов a.aut и ELF?

Для понимания того, почему FreeBSD использует формат a.out, вы должны сначала получить представление о трёх "основных" форматах выполнимых файлов для UNIX:

Это самый старый, `классический' формат объектных файлов для UNIX. В нём используется короткий и компактный заголовок с магическим числом в начале, которое часто используется для определения формата (за подробным описанием обратитесь к странице Справочника о ). Он содержит три загружаемых сегмента: .text, .data и .bss плюс таблицу символов и таблицу строк. COFF

Это формат объектных файлов SVR3. Дополнительно в заголовок включена таблица секций, так что вы можете иметь их больше, чем только .text, .data и .bss. ELF

Преемник FreeBSD каким-то образом пытается решить эту проблему, предоставляя утилиту для пометки конкретного выполнимого файла за подробной информацией.

FreeBSD выросла на "классических" традициях и традиционно использовала формат , технологию, опробованную и проверенную во многих вариациях BSD. Хотя давно уже можно было компилировать и выполнять родные выполнимые файлы (и ядро) в формате В случае FreeBSD, наш механизм работы с совместно используемыми библиотеками очень похож на механизм, применяемый в SunOS, поэтому его очень легко использовать. Однако, начиная с 3.0, FreeBSD официально поддерживает Да, но почему так много разных форматов?

Если вернуться в далёкое тёмное прошлое, то тогда компьютеры были очень просто устроены. На них могла работать простая, маленькая система. Формат a.out полностью решал задачу представления программ на простых системах (PDP-11). Когда же люди перенесли unix с простых систем, они оставили a.out, так как его было достаточно для ранних реализаций unix для таких архитектур, как Motorola 68k, VAX, итд.

Затем какой-то умный инженер решил, что если он может заставить программное обеспечение делать некоторые тонкие манипуляции, то это позволит преодолеть некоторые ограничения при проектировании и позволит ядру процессора работать быстрее. Когда это было сделано с новым типом аппаратуры (в наши дни известном как RISC), оказалось, что Вдобавок к этому, так как размеры программ стали достигать огромных размеров, а дисковая (и физическая) память оставалась сравнительно небольшой, то возникла концепция совместно используемых библиотек. Система VM также стала более мощной. Хотя каждое из этих нововведений продолжало использовать формат Однако с течением времени инструменты разработки, на которых основаны инструменты разработки FreeBSD (особенно ассемблер и загрузчик), разделились на две параллельные ветви. В дерево FreeBSD была добавлена поддержка совместно используемых библиотеки и были исправлены некоторые ошибки. Разработчики из GNU, которые изначально писали эти программы, полностью их переделали, добавив более простую поддержку построения кросс-компиляторов, в котором можно использовать различные форматы, итд. Когда многие захотели строить кросс-компилятор с выходнвм кодом для FreeBSD, то им не повезло, так как старые исходные тексты, которые FreeBSD использовала для as и ld, не подошли. Новый набор утилит от GNU (binutils) поддерживает кросс-компиляцию, Почему невозможно изменить права на символические ссылки?

Чтобы это работало, используйте опции `` и по .

без опций и следуйте символической ссылке с помощью лидирующего слэша (``/''). Например, если `` chmod 555 foo/

Если задан лидирующий слэш, будет следовать символической ссылке, `` Почему длина регистрационного имени

Наверное, вы думаете, что достаточно будет изменить значение константы Во FreeBSD 3.0 и старше, максимальная длина имени была увеличена до 16 символов и все утилиты с предопределённым размером имени были найдены и исправлены. Так как это касается столь многих областей в системе, то такие изменения не делались вплоть до 3.0.

Если вы абсолютно уверены, что сможете найти и исправить проблемы такого рода самостоятельно, когда они возникнут, то можете увеличить длину регистрационного имени в ранних релизах, отредактировав файл /usr/include/utmp.h и изменив соответствующим образом константу UT_NAMESIZE. Вы должны будете также изменить значение MAXLOGNAME в файле /usr/include/sys/param.h, чтобы оно соответствовало UT_NAMESIZE. И наконец, если вы компилируете из исходных текстов, не забудьте, что /usr/include обновляется каждый раз! Делайте изменения в соответствующих файлах каталога /usr/src/..

Можно ли запускать программы для DOS во FreeBSD?

Да, начиная с версии 3.0, вы можете использовать эмулятор DOS , посвящённый эмуляции во FreeBSD, если вы заинтересованы в участии в этом проекте.

Для систем, предшествовавшим 3.0, в коллекции портов есть замечательная утилита , эмулирующая процессор 8088 и функции BIOS, чего достаточно для запуска приложений DOS, работающих в текстовом режиме. Она требует X Window System (что поставляется как XFree86). Что такое ``

Сокращение означает Software Update Protocol, который был разработан в CMU для синхронизации исходных текстов. Мы используем его для синхронизации исходных текстов на удалённых сайтах с основным сервером разработчиков.

Протокол SUP использует пропускную способность канала неэффективно, и был отвергнут. В настоящее время рекомендуемым методом для синхронизации исходных текстов является протокол . Насколько греется процессор при работе FreeBSD?

В. Кто-нибудь делал замеры температуры при работе FreeBSD? Я знаю, что Linux греется меньше, чем DOS, но никогда не видел упоминания FreeBSD. Наверное, он сильно греется.

О. Нет, но мы сделали различные вкусовые тесты у добровольцев с завязанными глазами, которые до этого приняли по 250 микрограмм LSD-25. 35% добровольцев заявило, что FreeBSD имеет вкус апельсина, тогда как вкус Linux расценивался как фиолетовый туман. Насколько я помню, ни одна из групп не отметила значительной разницы в температуре. Вы хотели опубликовать полные результаты этого опроса, когда обнаружиди, что слишком много добровольцев покинули помещение во время тестов, что несколько смазало результаты. Я думаю, что большинство из них работают сейчас в Apple над их новым GUI ``чеши и нюхай''. Это старый добрый бизнес!

Серьёзно, и FreeBSD, и Linux используют инструкцию `` Кто там скребётся в микросхемах памяти??

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

О. Да! Вы, наверное, видели частое упоминание ``даемонов'' в документации по BSD, но не многие знают, что это настоящие нематериальные существа, которые теперь завладели вашим компьютером. Царапающий звук, издаваемый микросхемами памяти - это на самом деле высокочастотное перешёптывание между даемонами, когда они решают, как лучше справиться с различными задачами по администрированию системы.

Если шум достиг ваших ушей. команда DOS ``fdisk /mbr'' их спугнёт, но не удивляйтесь, если они отреагируют соответствующим образом и попытаются вас остановить. Фактически, если во время выполнения этой команды вы услышите сатанинский голос Билла Гейтса из встроенного динамика, бегите и даже не оглядывайтесь! Избавленные от противостояния с даемонами BSD, близнецы-демоны DOS и Windows часто могут захватить полный контроль не только над вашей машиной и навлечь вечное проклятие на вашу душу. Если бы у меня был выбор, я думаю, что предпочту царапающий звук. Что такое 'MFC'?

MFC это сокращение от 'Merged From -CURRENT.' Оно используется в протоколах изменений CVS для отметки того, что изменение было перенесено в ветвь STABLE из CURRENT.