Почему UNIX?

История создания 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"

Версия для печатиВерсия для печати

Номер: 

36 за 2000 год

Рубрика: 

Software
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!
 

Комментарии

Страницы

Аватар пользователя fly
2 Мимо_шёл: Знаешь, являясь большим поклонником FreeBSD, дома машина на нем летает вполне, я по долгу работы сильно завязан именно на Linux. Так вот, сведения об этой системе у тебя на наверное на уровне года 96-97. Это уже я бы сказал не детская система по сравнению с FreeBSD даже. Плохо другое -она движется по экстенсивному путии развития. - kernel , особенно линейка 2.4. начала набиваетья безумным количеством кода. Вот плохо это или хорошо - покаажет время. Пока что это нравится не очень. Но пока это очень сильно напоминает путь нашего мелкомягкого собрата.

OpenBSD - дома держать слабо? Честно, оставляет худшие впечатления по сравнению с фрей,Правда стоит в гадюшнике моем тоже (4_nix+NT4.0+MSDOS) .

2: Satanicus А ты считаешь, что ее просто поставить? Ну я бы так не говорил. И в каком смысле поставить - с компакт диска, что ли ? ;) Хотя это впрочем проще чем FreeBSD :)

Аватар пользователя ДМ
Очередной раз напоминаю, что принимаются на работу юникс-профессионалы разного калибру.

denis_margolin@mail.ru

Аватар пользователя Satanicus (programmer)
2 fly

проинсталить и настроить толково...Ж-)

Аватар пользователя fly
Сначала бы разобрались некоторые со своей рекламой в КВ. А то смотреть противно. "Типа работая на нас - вы помогаете Linux-сообществу". Хотел бы я увидеть хоть один OpenSource проект от вас. Прямое нарушение GNU PL.
Аватар пользователя fly
2All: Я извиняюсь за резкий тон своего предыдущего письма. Но скажу честно, что (по моему личному мнению) некоторые фирмы на территории РБ зарабатывают деньги в той или иной мере связанные с OpenSource, мягко скажу, (по моим меркам) - некорректной рекламой, и выдавая желаемое за действительное.

Да, принимать на работу программистов пишущих под код (даже частично)под OpenSource-проекты, и брать их же но выдавать в рекламе (проекты как OpenSource)как минимум некорректную информацию по пунктам 1 и 2b. GPL - это не совсем одно и то же.

Вот собственно и все.

2All: Еще раз приношу свои извинения. контекст слова "Все" в предыдущем письме прошу читать как "некоторые организации"

Аватар пользователя Satanicus (programmer)
Pravilo, pravilo!...Polnostu soglasen s poslednilmi zamechanijami fly'a !:) Tudy ih vseh, nakruti im ushi!
Аватар пользователя Викинг
2 fly: OpenSource и GPL - не одно и то же. Во всяком случае, Столлмэн (автор GPL) не очень любит, когда GPL отождествляют с opensource и наоборот.
Аватар пользователя ДМ
Кроме того, патчи от нашей команды включены в Samba, один из наших патчей мы пытаемся интегрировать в ядро.
Аватар пользователя pit
Только ради интереса пытался для себя выяснить надежность разных ОС. Windows не в счет. Но Linux`a тоже очень быстро можно "уложить",оказывается ...Труднее с Irix и Sun. И практически невозможно ни умышленно, ни (тем более) случайно повесить SiSOs ( вот что значит

"сделано в Росии") ;)Если где-нибудь сможете достать SiS`ку, считайте что вам КРУПНО повезло!

Аватар пользователя fly
2 DM: По поводу Самбы до жути стало интересно, но СVS не поднимал,сами понимаете еще этого не хватало. В Samba mailing list обнаружил UTF-8 patch от Бородаенко. Что ж, немного, но в действительности приятно. Честное слово. Хочу извинится за в_какой_то_мере_ необоснованный наезд. :). А что в ядре патчили ? А то это как-то для души заметно ближе... :o)

2 Викинг: Stollman - очень уважаемый человек, спору нет. Линукс - система, ядро которое базируется на GPL основу для которой положило FSF, которую основал Столмен, которое является частью сообщества OpenSource. В моем понимании, OpenSource -более емкое понятие под которое подпадают GPL, BSD-подобные лицензии.

2 ALL: в каком состоянии находится сейчас mlug?

Страницы