Смекни!
smekni.com

Операционная система FreeBSD (стр. 4 из 8)

Стоит заметить, что с технической точки зрения название UNIX относится к официальным версиям именно этой системы. Иногда официальные версии обозначают словом UNIX (все прописные), а другие однотипные системы называют Unix (с заглавной буквы). Но такое различие почти незаметно, поэтому в данной книге словом UNIX обозначаются официальные версии либо все семейство в целом, а когда нужно подчеркнуть, что речь идет также о других подобных операционных системах, например Linux, употребляется выражение "UNIX-подобные системы".

Итак, в 1969 г. Кен Томпсон (Ken Thompson) и Деннис Ритчи (Dennis Ritchie) написали первую версию UNIX. Очередной крупной вехой на пути к появлению FreeBSD стала установка четвертой версии UNIX в Калифорнийском университете в Беркли в 1974 году. В течение следующих нескольких лет преподаватели, научные сотрудники и студенты университета знакомились с операционной системой, писали программы для нее и даже модифицировали саму систему. В 1977 г. все наработки были включены в единый пакет программ, названный BSD (Berkeley Software Distribution).

В 1978 г. был выпущен пакет 2BSD), содержащий улучшенный и расширенный набор утилит исходного дистрибутива. Последующие разработки привели к появлению пакетов 2.11BSD, 3BSD, 4BSD. На очереди было название 5BSD, однако компания AT&T возражала против этого, т.к. боялась потенциальной путаницы с System V — своим вариантом UNIX. В результате следующие версии стали называться 4.1BSD, 4.2BSD и т.д. В это время и появился ТСР/IР — базовый стек сетевых протоколов, лежащих в основе современной сети Internet.

Упомянутые BSD-пакеты представляли собой дополнения к ОС UNIX компании AT&T. Это не были полноценные операционные системы. Кроме того, лицензионные требования постоянно ужесточались. Один из вариантов пакета 4.3BSD, известный как 4.3BSD-Tahoe, был доступен только при условии приобретения исходной лицензии AT&T, которая определяла правила распространения ОС UNIX в семидесятые и восьмидесятые годы. Но в 1989 г. ситуация изменилась: разработчики из Беркли выпустили пакет Networking Release 1, который допускал свободное распространение кода независимо от того, имел ли получатель лицензию на исходный код AT&T. Это был первый и очень важный шаг на пути к современным системам с открытым исходным кодом. Без изменений в правилах лицензирования, впервые воплощенных в Networking Release 1, не было бы современной FreeBSD.

В 1991 г. появился пакет Networking Release 2. Несмотря на сходство названий, изменения оказались разительными. Это была практически полноценная операционная система; не хватало лишь шести файлов с исходными кодами ядра AT&T UNIX. В течение шести месяцев программист Билл Джолиц (Bill Jolitz) переписал их, назвав полученный пакет 386/BSD. Эта система является непосредственной предшественницей NetBSD и FreeBSD (OpenBSD отделилась от ветви NetBSD в середине 90-х). Она предназначалась для работы на процессорах Intel x86, точнее, 80386 — самой последней на то время модели. Как уже отмечалось выше, FreeBSD по-прежнему тесно связана с платформой х86, хотя и предпринимаются попытки ее переноса на другие процессоры.

С 1993 г. (дата рождения системы как отдельного проекта) FreeBSD целенаправленно развивается независимо от других систем. Она, конечно же, заимствует что-то из других проектов с открытым исходным кодом; иногда заимствуют ее код. Старший номер версии увеличивается в среднем каждые несколько лет. В начале 2002 г. Была выпущена версия 4.5, а версия 5.0 появилась в конце того же года. Именно эти две версии и рассматриваются в курсовой работе.


Взаимодействие с другими компьютерами по сети

Одной из вех в истории (или, если хотите, предыстории) FreeBSD было появление стека протоколов ТСР/IP в 4.2BSD. Он послужил основой для аналогичных стеков других операционных систем. Даже некоторые сетевые утилиты компании Microsoft до сих пор отображают сообщения об авторских правах, свидетельствующие о том, что эти утилиты заимствованы из BSD. С учетом этих обстоятельств, казалось бы, у FreeBSD не должно быть никаких проблем при взаимодействии с другими системами по сети. В некоторых случаях это действительно так, но есть нюансы и ограничения, которые обязательно следует учитывать.

· Альтернативные стеки сетевых протоколов. ТСР/IP — не единственный существующий стек сетевых протоколов. В некоторых локальных сетях используются другие семейства протоколов, например AppleTalk компании Apple, NetBEUI в Windows и IPX компании Novell. Поддержка этих стеков во FreeBSD ограничена в сравнении с ТСР/IP. К счастью, немногие сетевые утилиты сегодня работают исключительно с альтернативными протоколами. К примеру, в Windows утилиты совместного доступа к файлам и принтерам поддерживают как NetBIOS, так и ТСР/IP. Этот факт учитывает программа Samba , предоставляющая Windows-клиентам доступ к файлам.

· Непостоянство стандартов. Редко какой поставщик использует сторонний код в том виде, в каком он был получен. Даже авторы время от времени переделывают свои творения. По этой причине исходный стек ТСР/IP, появившийся в 4.2BSD, за годы эксплуатации "мутировал", и в каждой следующей операционной системе использовалась несколько иная его реализация, иногда даже совершенно новая. Но при всем многообразии изменений нельзя не отметить тот факт, что большинство операционных систем может взаимодействовать друг с другом по протоколам ТСР/IP. С практической точки зрения важно то, что FreeBSD как одна из основных серверных систем крайне редко бывает несовместима с другими системами, с которыми ведется работа по сети. Проблемы чаще возникают с конкретными протоколами, применяемыми клиентом или сервером. Например, Web-страницы, разработанные для браузера Internet Explorer компании Microsoft, не всегда корректно отображаются в браузерах, доступных во FreeBSD, таких как Mozilla или Konqueror.

· Проблемы с безопасностью. Протоколы семейства ТСР/IP разрабатывались во времена взаимного доверия, поэтому в них заложено очень мало средств защиты. В результате с наступлением эры Internet в сетевом программном обеспечении стали постоянно обнаруживаться "дыры", позволяющие злоумышленникам получать несанкционированный доступ к компьютерам. В плане безопасности у FreeBSD хорошая репутация, но это не значит, что вопросы безопасности можно игнорировать. Неправильная конфигурация системы почти наверняка приводит к появлению "дыр".

В целом FreeBSD прекрасно подходит для выполнения многих сетевых функций. В ней реализован стабильный и эффективный стек ТСР/IP, что особенно важно для серверов. Написано множество серверных программ, позволяющих пользователям FreeBSD взаимодействовать с другими системами. Что касается безопасности, то FreeBSD обладает хорошими средствами защиты.

Безопасность — весьма относительное понятие. Заявления "FreeBSD—защищенная система" нельзя воспринимать как стопроцентную гарантию защиты. В лучшем случае можно надеяться на то, что система капитулирует лишь перед наиболее опытными и настойчивыми хакерами. Кроме того, стандарты безопасности постоянно меняются по мере выявления все новых ошибок в программах наряду с изобретением новых способов взлома. Система, которая сегодня кажется разумно защищенной, завтра может оказаться абсолютно беззащитной перед лицом очередной угрозы.


Сосуществование с другими операционными системами на одном компьютере

С самого начала разработки BSD-систем возникла потребность в сосуществовании UNIX с другими операционными системами на одном компьютере. Например, на PDP 11/45, первом UNIX-компьютере в Беркли, ОС UNIX выполнялась лишь треть рабочего времени. Остальное время отводилось другой операционной системе (RSTS). Но для компьютера, работающего в режиме разделения времени, это чрезвычайно неуклюжий подход, поэтому на большинстве UNIX-компьютеров в 1970 — 1980 гг. выполнялась одна операционная система. С появлением 386/BSD вопрос сосуществования различных операционных систем стал гораздо острее. Многие программисты-любители имели всего один компьютер и часто сталкивались с необходимостью писать программы для более популярной DOS (позднее — Windows). Такое положение дел сохранилось и сегодня. Если FreeBSD устанавливается на выделенный компьютер (сервер или специализированную рабочую станцию), то задача упрощается, так как использовать другие операционные системы не предполагается. Если же планируется время от времени запускать программы в другой ОС, то нужно разобраться, как FreeBSD работает с жесткими дисками и как на персональных компьютерах загружается операционная система.

Одна из ключевых концепций мультисистемных компьютеров — разделы. Если представить жесткий диск как шкаф для бумаг, то раздел — это один из его ящиков, часть большого документохранилища, содержащая взаимосвязанные файлы. Разделы создаются при подготовке диска к использованию. Это называется разбивкой на разделы. После того как раздел создан, его не так-то легко модифицировать. Следовательно, важно продумать такую структуру жесткого диска, которая в обозримом будущем отвечала бы потребностям пользователя.

Есть утилиты, позволяющие менять размеры существующих разделов. Это, в частности, коммерческие программы PartitionMagic и PartitionCommander. Среди программ с открытым исходным кодом назовем FIPS и GNUParted. Это более простые программы с ограниченными возможностями, но свою работу они выполняют. Особенно полезны они в том случае, когда FreeBSD устанавливается в системе, где уже инсталлирована DOS, Windows, OS/2, Linux или другая операционная система.