Почему 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!
 

Комментарии

Страницы

Аватар пользователя Aleks
Linux - это здорово и предназначено исключительно для программистов, т.к. нет или немного ПО для офисов и экономических программ. Что касается серверов то, Linux не совсем Unix. Сисопа работающего под Linux содержать дорого. Словом Win для офисов.

Аватар пользователя GENBY
А на домашнем компе у меня Linux, и я не жалуюсь. Нет проблем ни с программированием, ни с разработкой сайтов. Тут достаточно иметь прямые руки и один раз всё настроить как надо.
Аватар пользователя diavolo
насчет БД под линукс: mysql(если для простых задач), а на postgres`е думаю можно много сделать. хотя я пока не встречал задач, чтобы на mysql не сделалось.

насчет юзабилити линукса: работает дома - игрушки, киношки, немного мазохизма и т.д., на работе - выделенка, БД, просто файл-сервер. Главное - научиться и привыкнуть.

насчет обслуживания: линукс настраивается _один_ раз и работает до смены направления работы организации. под винды постоянно надо(так привыкли) обновлять софт, они иногда падают(по причине некомпетентности пользователя), они _дорого_ стоят, под них почти весь софт дорого стоит.

вывод: если бы в нашей стране больнее били за пиратский софт, то многие виндузятники просто не существовали бы в природе.

Аватар пользователя Беня Жупиков
1. линукс рулит.

2. чтобы на него гнать, сначала надо разобраться (это общий подход, и не только к линуксу)

3. мышками-фишками там тоже дергать мона, или всякие авишки смотреть с тыренными фильмами

4. винда имеет право жить только в виде офисной настройки в вмвари в линуксе (что и делаем). :)))

5. Шучу по большей части насчет 4, хотя у меня так и происходит :)

6. Кроме гуляния в цацки, которых куча на виндов, все остальное и на линухе делается номана. Особенно, если пофик совместимость с виндами (винда то о совместимости своих дел с линухом не думает, почему линух должен? )

7. Линух - это линух, не UNIX (tm), тем более не SCO

8. Про "только для программистов" - гон. Просто программистам там интересно по причине открытости исходников операционки и всего свободного софта иже с ней. Не удивлюсь, если в виндах какой-то код с Линуха юзается

9. Знакомый на интеловсий Solaris доставил (скомпилил по большей части) недостающий софт (GNU), посмотрел, плюнул и сказал: "получился линух". Снес солярку и поставил Линух :)))

10. Отакотовот.

Аватар пользователя Мимо шел
1.ИМХО для домашнего компьютерва годится только виндовс98(95) (игрушки, музыка, видео, серфинг по интернет) т.к. не требовательна к ресурсам, проста не только в использовании, но и в установке/настроике(!)

2.Для офиса хорош win2000(NT) - как и в 98 множество приложений, простота + относительная стабильность и больше возможностей при работе с сетью. отличная система для windows-программеров.

3.Для серва - FreeBSD или OpenBSD что там еще... (не админ я еще), но никак не линукс.

4.Ну а куда же линукс? "Линух" годится только для тех, кто вследствие характерных для молодого возраста максимализма и горячести, возомнил себя эдаким <0o|_ . |-| /-\ < |< e R'ом

и готов тратить время на мало полезные с финансовой точки зрения занятия.

PS все 4 выше перечисленные ОС (кроме openbsd) установлены у меня.

Аватар пользователя VitFil
Полностью согласен с мимо_шел: с точки зрения разработки большинства коммерческих проектов Линух абсолютно бесполезен. Из всех моих знакомых линуксоидов, разглагольствющих об всех прелестях открытости кода, только около 10% хоть раз заглядывали в этот самый открытый код и примерно 3% что-то в нем меняли - знают, что ненужно лезть в отлаженный механизм. Программирование под Винду большей частью сводится не к кодированию того, что уже сделано до тебя, с последующими рассказами, какой крутой кусок кода был сегодня написан и будет отлажен в ближайшие 2 недели, а творческой работе по ммммммм... правильной состыковке ранее написаных библиотек в единый работающий продукт. Правда, с такой же 2-недельной отладкой :))))
Аватар пользователя Викинг
> Не удивлюсь, если в виндах какой-то код с Линуха юзается

Вряд-ли - GPL не позволяет. А вот TCP/IP стек в виндах - реализация BSD с небольшими изменениями.Не буду вдаваться в бесполезный спор о полезности Linux, замечу только, что если бы его не возникло, FreeBSD никогда не получило бы приставку Free.

Аватар пользователя Старик
2 Мимо шел

>>и готов тратить время на мало >>полезные с финансовой точки зрения >>занятия.

С финнансовой точки зрения как раз линукс и можно использовать.

Аватар пользователя Orphan
Читал и плакаль - SCO - версия линукся- просто мегарулез. А если говорить серьзно, то ставить надо то, что лучше знаш, иначе при при кривых руках и unix рухнет. Продолжая флейм хочу задать вопрос- вы много серьезных проектов видели под win? Да и смотря под какие задачи вам это необходимо. У меня только в одной из таблиц порядка 7 миллионов записей. а оно еще не тоолько храниться , но и еще обрабатываться должно...
Аватар пользователя Satanicus (programmer)
Не знаю, не знаю...юзаю Линух

из принципа (free). И софта достаточно, причём свободного...а если что и с глюками...так на это есть исходный текст, туева хуча времени и собственные прямые ручки :)

2 Мимо_шёл

>> т.к. не требовательна к ресурсам, проста не только в использовании, но и в установке/настроике

...линух тож можно настроить так что абсолютно не требователен будет.(у меня на ноуте133 летает Рэд Хат...причем и для музыки и для AVIшек моцы хватает) Причём голову особо ломать над этим не надо, благо литературы для юзверей по этому делу хоть зажрись. А по поводу установки...не знаю что может быть проще чем поставить линуха.

Страницы