Отец демона и пингвина Vint (vint@vpost.ru) Спецвыпуск: Хакер, номер #047, стр. 047-008-2 Переносимость кода Одним из самых существенных достоинств всех клонов UNIX является возможность переноса ОС практически под любые платформы. Если раньше ядро и некоторые драйвера были написаны на ассемблере, дающем заметный прирост производительности, но, вместе с тем, практически полную несовместимость с архитектурами, отличными от данной, то сейчас вся система написана на языке высокого уровня C. Это означает, что для запуска UNIX на любой новой архитектуре достаточно портировать компилятор языка С и пересобрать систему из исходных кодов. Таким образом, мы получаем практически универсальную ОС со множеством приложений. Свободное распространение Это один из основных плюсов UNIX-клонов наших дней. Изначально UNIX была платной и закрытой системой, но с течением времени все изменилось в лучшую сторону, и сейчас активно развиваются две основных лицензии для *nix: BSD (под ней выпускается FreeBSD) и GPL. Основное отличие BSD от GPL в том, что, в принципе, по инициативе разработчиков, возможно превращение продукта из свободного в закрытый, коммерческий. Самая демократичная и популярная на сегодняшний день - это GPL, под ней выпускается Linux и его клоны. Существуют также разного вида коммерческие лицензии, основанные на продаже ОС. Нетребовательность к ресурсам PC На сегодняшний день для х86 *nix-системы - самые малотребовательные относительно аппаратной стороны машины. Для работы роутера на *BSD достаточно 386-го процессора и 4 мегабайт памяти. Обеспечить данные функции на других распространенных системах при такой конфигурации PC просто невозможно. Причем даже на такой слабой машине, по нынешним меркам, UNIX показывает все свои лучшие стороны. Объяснить такое поведение можно, рассмотрев архитектуру ОС более подробно. Аксиомы UNIX-like ОС Собственная файловая система Основными понятиями файловых систем *nix являются следующие: <ВЫДЕЛИТЬ> Каталог</ВЫДЕЛИТЬ> (аналогия в Windows – папка, директория) - это, прежде всего, файл, содержащий системную информацию о файлах, входящих в данный каталог. В директории могут быть каталоги более низкого уровня, обычные файлы, специальные файлы. Каталоги создает пользователь или система при выполнении определенных действий. <ВЫДЕЛИТЬ> Обычный файл</ВЫДЕЛИТЬ> (аналогия в Windows – все файлы системы). Вся информация, хранимая на компьютере, содержится в обычных файлах. Создавать, удалять, изменять файлы может любой пользователь, имеющий права на запись в каталог и изменение файла. Именно в файлах содержатся все системные программы, настройки и данные. <ВЫДЕЛИТЬ> Специальный файл</ВЫДЕЛИТЬ> - особый тип файлов, присущий *nix-системам. Представляет собой служебную запись на диске, символизирующую сокет, участок памяти, процесс и некоторые другие вещи. Чаще всего эти файлы имеют нулевую или очень маленькую длину и после перезагрузки удаляются. Специальные файлы создает ядро системы или прикладные программы по мере необходимости. Обычный пользователь создавать такие записи не может. Главная особенность этого типа – файлы создаются и удаляются системой автоматически, юзер чаще всего не может прочитать их содержимое – они не содержат данных, доступных для обработки. |