История создания UNIX весьма занятна. В 1969 году была запущена первая версия системы Multics, разработка которой велась фирмой Bell Telephone Laboratories совместно с компанией General Electric и Массачусетским технологическим институтом. Однако Multics не обеспечивала решение задач, для которых создавались: высокая скорость вычислений, одновременный доступ многих пользователей к ресурсам ЭВМ и совместное использование хранимых данных. И даже не ясно было, когда эти задачи будут решены. Bell отказалась от участия в проекте. При этом сотрудники Bell Laboratories оказались без, как позже сказал Ричи, "достаточно интерактивного вычислительного средства".
Это подтолкнуло Кена Томпсона, Дэнниса Ричи и других к созданию простейшего ядра и файловой системы, получившей дальнейшее развитие в первых версиях UNIX. В то же время Томпсон писал на Фортране игровую программу "Космическое путешествие" для системы GECOS. Были проблемы с машинным временем на GECOS и в то же время подвернулся компьютер PDP-7, имевший отличный графический дисплей и свободное машинное время. Продолжая разрабатывать "Космическое путешествие" на PDP-7, Томпсон был вынужден компилировать программу на GECOS и потом с ленты вводить ее в PDP-7. Когда это ему надоело, Томпсон и Ричи реализовали на PDP-7 свой проект новой системы, дополнив его набором базовых утилит.
Полученная система больше не нуждалась в поддержке со стороны GECOS. Брайан Керниган придумал название для новой системы - UNIX, по аналогии с Multics. В 1971 году система была перенесена на PDP-11 и привлечена к серьёзной работе - обработке текстов. В 1973 году систему переписали заново на разработанном Ричи языке С, а начиная с 1977 года, она начала распространяться на отличных от PDP архитектурах. Ясность и простота системы побудила многих разработчиков к созданию собственных версий. В дальнейшем Bell Laboratories собрала разные варианты в один, официально распространяемый фирмой AT&T как UNIX-версия V.
Керниган... Ричи... Томпсон... Мужчины! Жалок программист, умеющий строгать окна в Delphi, но не читавший Пайка или Кернигана, не знающий лирической поэзии адресного пространства процессов.
Вот такое вот вступление. К чему это я? К тому, что уже 2.5 года на сервере нашего отделения разработки живёт Linux, во враждебном окружении Netware 4.11 и Windows NT. И отлично справляется со своими задачами: файловый сервис, совместимый с Novell Netware 3.12, FTP, HTTP, IRC, SQL, MAIL и NEWS-сервисы. Всё это изначально работало на Pentium-100/16 Mб/1G IDE, правда, сейчас компьютер более мощный.
Ортодоксы скажут: "Linux - не UNIX". И будут правы. Так как не только Linux - не UNIX , но и AIX, SCO, SunOS, 386BSD, FreeBSD, HURD и т.д. То есть всё, кроме UNIX от AT&T. Остальное - UNIX-совместимые ОС. Тем не менее, опыта работы с Linux хватило, например, чтобы поднять и настроить пару сетевых интерфейсов на Solaris. А почему? А потому, что Linux достаточно соответствует стандартам UNIX. Можно ли говорить о стандартах в разношёрстном мире UNIX-подобных систем - это отдельный вопрос. Споры среди приверженцев различных UNIX-систем не утихают. Сторонники коммерческих реализаций снисходительно смотрят в сторону открытых исходников: "Если не заплачено - значит некачественно" (интересно, наверное, попытаться объяснить любимой девушке преимущества платной любви), сторонники открытых исходников утверждают, что им достаточно того, что дают им некоммерческие дистрибутивы. Но всё это напоминает внутрисемейные споры, споры же с приверженцами не-UNIX'ов напоминают уже выяснения отношения с соседями по площадке, а то и по подъезду.
Ставить Unix пользователю, работающему с MS Office или средами разработки для Windows, глупо. Всё-таки лучшей платформой для запуска MS Office, Delphi или MS Visual C++ является MS Windows. И избитый в прессе Internet Explorer - всё-таки самый безглючный, хоть и тормознуто-монстроидальный браузер. Пока весь этот набор можно купить по цене десяти бутылок пива - лучшего варианта для компьютера общего назначения не придумать. Довольно распространена ситуация, когда непосильным трудом ставится на машину Linux, а потом задаётся хрестоматийный вопрос: "Ну, поставил я Linux, и что мне с ним делать? Фотошоп не работает в нём, Halflife тоже не запускается, с русскими буквами - беда". Ставить Windows NT и не дурить голову. Возможно, Windows 2000 в этом отношении ещё лучше.
Другое дело - сервер. Можно поставить, конечно, Netware и получить очень быстрый файловый сервис на очень большой дискете, в которую превращается компьютер. Потому что если и удастся запустить на сервере свои собственные процессы, то это всё равно будет напоминать рубку сахарного тростника вприсядку. Windows NT - другое дело. Но стоит ли отдавать 30% ресурсов компьютера для интерфейса пользователя на сервере - вопрос спорный (цифра названа Гейтсом, хотя можно ли тому Гейтсу верить?). Но всё же NT может, помимо обработки запросов пользователей, выполнять и другие полезные программы. Например, трёхмерный хранитель экрана, грузящий на 90% процессор компьютера.
Для небольшого сервера лучше использовать UNIX. Для большого - тоже, но с условием, что системному администратору нравится работать с компьютером и делать на нём интересные штуки, если он увлечённый компьютерами человек. UNIX - не просто операционная система, это стиль работы и, возможно, в некоторой мере и стиль жизни, это свобода, свобода реализовать свои идеи (ну прям как лозунг 60-х). Но, повторяю, если эти идеи есть. Иначе намного проще, например, ругать Гейтса, жаловаться на отсутствие средств на покупку дополнительного ПО, писать письма разработчикам и т.д. Вместо того, чтобы, например, подправить скрипт дозвонки к провайдеру или одной строкой команды поднять firewall на сетевом интерфейсе.
Что даёт сисадмину UNIX?
- Надёжность. UNIX может вести себя странно во время настройки, иногда довольно сложно разобраться в настройках, но один раз отстроенный UNIX уже не падает в процессе работы.
- Производительность. FreeBSD свободно поддерживает почтовый сервис для десятка тысяч пользователей (кстати, как ни странно, но это считается одним из факторов, обусловивших рост количества Windows NT, так как вместо одного сервера с FreeBSD приходится ставить несколько с Windows NT). А как вам нравится то, что Oracle на Unix работает в несколько раз быстрее, чем на NT и, тем более, чем на Netware 4.1?
- UNIX даёт сисадмину кучу детальной технической документации, устанавливаемой прямо в процессе инсталляции и всегда находящейся под рукой (тут, правда, необходимо знание английского).
- UNIX имеет отличные средства удалённого доступа, позволяющие, управляя сервером с расстояния в десятки километров, чувствовать себя как за его локальной консолью.
- Принципы иерархической файловой системы UNIX позволяют очень гибко использовать аппаратные средства. Например, если каталог /home/pupkin/ занимает на диске чрезвычайно много места, то подкаталог /home/pupkin/sexpictures/, занимающий три четверти объёма, можно перенести на совершенно отдельный жёсткий диск или даже компьютер. При этом для пользователя этот перенос будет практически незаметен.
- Система квот для процессов и пользователей. Например, "накрутить уши" Web-серверу так, чтобы он больше 10% ресурсов никогда не занимал.
- Наличие командной строки, базового набора простых, но мощных утилит, позволяющего, комбинируя их в сочетании с полным доступом к аппаратной части компьютера, решать практически любые проблемы, начиная от периодического архивирования файлов пользователя pupkin в архивы с текущей датой в имени архива, до, например, автоматического "скрывания" каталога /home/cat/sexpictures, если в сети замечена активность компьютера босса с адресом 172.16.1.21 и сегодня пятница, 13-е. Учитывая, что всё это решается несколькими строками на языке процессора команд, можно представить мощь скриптов размером в десятки килобайт.
В чём секрет долголетия UNIX? Это сложный вопрос. Возможно, секрет в том, что UNIX разрабатывался в первую очередь как универсальное средство для решения насущных компьютерных проблем. UNIX десятилетиями развивается в условиях отсутствия централизованной стандартизации, и это играет роль своего рода естественного отбора наилучших решений. Архитектура машины скрыта от пользователя, благодаря чему облегчено написание программ, работающих на различных аппаратных средствах, и, соответственно, наиболее удачные решения легко переносятся на другие платформы и версии.
Кстати, очень забавно наблюдать, как совершаются "революционные" прорывы в области компьютерных технологий, такие как переход к "длинным" именам файлов, осуществление автоматического реплицирования данных о пользователях на разных серверах сети, поддержка протокола IP, синхронизация времени на серверах, удалённое выполнение подпрограмм (RPC, DCOM и т.д.), файловые, почтовые и сервисы печати на серверах, объединение компьютеров с помощью модемов, выполнение программ по расписанию и многое-многое другое. То есть, как компьютерный мир открывает для себя то, что десятилетиями имеется в UNIX.
PS: По сообщениям, проскочившим в Интернете (см. www.wininformant.com/display.asp?ID=2874), Microsoft совместно с фирмой Mainsoft собираются переносить MS Office на Linux. Кто-то видит в этом универсальность MS Office, кто-то - скорый конец MS Windows. Посмотрим.
Валерий БУРАК,
Null@linuxfan.com
При подготовке статьи использованы факты из "Серии книг по программному обеспечению издательства Prentice Hall. Энглвуд Клиффс, Нью-Джерси 07632"
Комментарии
Страницы
Страницы