Плюсы и минусы unix кратко

Обновлено: 06.07.2024

В 1970-х годах в мире появился UNIX — операционная система, из которой растут ноги у большинства современных операционок. Для своего времени это был технологический прорыв, а заложенные там принципы мы используем до сих пор. В этой статье — что же там было такого революционного.

👍 Статья расширяет кругозор и помогает лучше понять информатику, но не имеет прикладной ценности. Если вам нужно что-то прикладное — прочитайте про размеры элементов в CSS.

Однозадачные компьютеры

Когда компьютеры только начали появляться, то работали они примерно так:

  1. Компьютер включался.
  2. Находил на носителе информации первую команду программы, которую нужно выполнить.
  3. Выполнял эту команду и переходил к следующей.
  4. Так происходило, пока в программе не заканчивались шаги или она сама не останавливалась. Тогда специальными командами оператор говорил компьютеру, где найти код для другой программы, или запускал первую программу заново.

Получается, что они работали в однозадачном режиме: работает только одна программа, а для запуска второй нужно остановить первую. По этому принципу до сих пор работают контроллеры в ваших микроволновках и холодильниках, а также контроллеры типа Arduino.

Сначала такой подход всех устраивал, потом стало неудобно.

Многозадачные компьютеры

Чтобы компьютер работал более эффективно, программисты написали код, который управляет работой всего компьютера — операционную систему.

Первые операционные системы были псевдомногозадачными. Это значит, что они не запускали одновременно несколько программ, а в цикле по очереди брали по одной команде из каждой программы и выполняли их. Так как переключение между командами из разных программ происходит быстро, то создаётся впечатление, что они работают одновременно.

Потом эту проблему тоже решили, и компьютер мог выполнять несколько программ действительно одновременно, чтобы они не мешали друг другу. Так появились многозадачные операционные системы.

Но в то время домашних компьютеров не было, а желающих поработать за университетским компьютером было много, поэтому все работали по очереди. Например, один лаборант работал на нём с часу до двух, второй — с двух до трёх, а научный руководитель работал за компьютером с трёх до шести.

При этом мощности компьютеров уже хватало на то, чтобы с ним мог работать второй пользователь, не замедляя работу первого. А вот операционных систем, которые бы так умели, — не было. И здесь появляется UNIX.

UNIX — многопользовательская операционная система

Создатели UNIX Кен Томпсон и Деннис Ритчи (который потом напишет язык C) решили проблему так:

  1. Есть один центральный компьютер — сервер, на котором выполняются все программы.
  2. Если кто-то хочет поработать за этим компьютером, то он подключается к нему не напрямую, а через терминал. Терминал — это монитор и клавиатура, которые соединены с сервером. Сам терминал ничего не считает, а только отправляет и получает результаты с сервера.
  3. Пользователь вводит свой логин и пароль и получает право запускать на сервере программы, которые ему нужны. При этом на сервере может быть запущено одновременно много программ от разных пользователей.
  4. Сервер помнит, кто на каком терминале зашёл под каким логином, поэтому результаты работы программы он отправляет в нужный терминал.

Со стороны пользователя кажется, что весь сервер в его распоряжении, но на самом деле сервером могут пользоваться одновременно десятки человек и не знать о том, что сервер выполняет что-то ещё. Сейчас это звучит обычно и примитивно, но для того времени это был прорыв.

Операционную систему, которая умеет всё это делать, назвали UNIX — сокращение от Uniplexed Information and Computing Service (единый информационно-вычислительный сервис). Изначально это называлось UNICS, но потом последние две буквы превратились в одну.

Что нового появилось в UNIX, чего до неё не было

Вот что впервые появилось именно в UNIX — и в виде идей, и в виде готового кода:

Файловая система с любой глубиной вложенности. Мы сейчас привыкли к папкам, в которых можно создавать другие папки, а в них третьи и так почти до бесконечности. Но до UNIX глубина вложенности была ограничена — нельзя было создать, например, папку внутри другой папки.

Модель работы с файлами. Пользователю раньше нужно было самому предусмотреть формат, размер и физическое размещение файлов на диске. В UNIX это всё взяла на себя операционная система.

Работа с программами напрямую. До UNIX настройку работы всех программ можно было сделать только в командной строке: запустил → компьютер что-то посчитал → показал результат. Если нужно изменить параметры, то это надо было делать через командную строку. В новой системе можно было менять настройки программ прямо внутри них — именно так и устроены сейчас все программы.

Вывод всего как текста. Раньше компьютеры работали с битами и выводили битовые последовательности. Их нужно было отдельно разбивать на нужные фрагменты или использовать встроенные программы для перевода битов в байты, а из них — в текст.

В UNIX единица вывода — это не бит, а байт. А в байт как раз умещается символ текста, а значит, с ним можно работать как с текстом: искать, склеивать с другими, отправлять в файл и так далее.

Регулярные выражения стали использоваться не только в профессиональных задачах, но и как основа для обработки вывода программ.

Язык C. Этот язык появился в UNIX как замена языка B. Но B был интерпретируемым языком (как Python), и для запуска программ нужен был его интерпретатор. Язык C — компилируемый, а значит, готовые программы можно запускать на любом совместимом компьютере, даже если на нём нет компилятора C.

Протокол TCP/IP. До UNIX этот протокол не был популярен, и компьютеры связывались друг с другом по более старому протоколу, который не имел столько возможностей. Теперь благодаря этой операционной системе весь мир пользуется интернетом, построенным на протоколе TCP/IP. Справедливости ради, этот протокол появился не в первой поставке UNIX.

Как работают в UNIX

Для управления этой системой почти всегда используется командная строка. Есть, конечно, и графический интерфейс для некоторых систем и задач, но штука в том, что UNIX заточен на работу в серверах. А у серверов чаще всего нет ни клавиатуры, ни монитора — только сетевые соединения, через которые пользователи и соединяются с сервером, чтобы им управлять.

Что такое UNIX и зачем он нужен

Интерфейс командной строки в FreeBSD — Unix-подобной операционной системе

Как UNIX стал стандартом

С середины 1970-х годов идёт довольно мутная история, в которой компания
AT&T долго и небезуспешно пытается заработать на UNIX, а американские университеты и инженеры-любители делают свою открытую версию. Идёт конкуренция между стандартами, инструментами, поставками и протоколами.

Конкуренция выливается в то, что у UNIX появляется множество более совершенных потомков. Их мы называем Unix-подобными системами.

Можно сказать, что Unix-подобность — это такой набор правил, условностей и стандартов, которых должны придерживаться новые операционки, чтобы сохранять преемственность и некоторую совместимость. То есть такой ГОСТ для операционных систем. Операционка может быть и без ГОСТа, но с ним лучше.

Где сегодня используется UNIX

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

Зато если нужна гарантированная надёжность, производительность и масштабируемость, особенно при сетевых нагрузках, — используют UNIX или производные от неё. Про них сейчас тоже расскажем.

UNIX-подобные системы

На основе оригинальных версий Юникса появилось много разных операционных систем: BSD, Solaris, HP-UX и даже MacOS, который сделан на основе BSD версии 4.4. Идеи, которые были заложены 50 лет назад, оказались настолько рабочими, что применяются до сих пор.

А ещё есть Linux и его производные — RedHat, Calculate, Ubuntu и ещё сотня дистрибутивов. Многие думают, что Линукс — это развитие Юникса, но на самом деле это полностью самостоятельное и независимое от него семейство операционных систем, хотя и слова похожие. Про Линукс обязательно расскажем в следующей статье.

UNIX - это операционная система, которая чаще всего встречается в университетах, исследовательских лабораториях и крупных государственных учреждениях. Он был написан в 1969 году Кеннетом Томпсоном в Bell Labs. Он отличался от других операционных систем того времени несколькими способами. В отличие от большинства других операционных систем, UNIX была бесплатной, а также независимой от компьютера, что означало, что ее можно запускать на любой машине.


Unix была одной из первых великих операционных систем.

Как работает UNIX

UNIX Pros

У UNIX есть много плюсов, кроме того, что он бесплатный и работает практически на любой машине. У вас больше контроля над компьютером с UNIX. Операционные системы, такие как Mac OS и Windows, основаны на значках и мыши; используя их, вы можете активировать только то, что позволяет активировать операционная система. В UNIX вы можете делать все то, что может делать операционная система. Это означает или, конечно, что вы действительно можете все испортить, если не знаете, что делаете. Еще одна свобода и опасность, которую вы имеете с UNIX, заключается в том, что вы можете изменить операционную систему, чтобы сделать ее более совместимой с тем, что вы хотите делать. Если вы знаете, что делаете, UNIX может быть мощным и настраиваемым, и теперь, когда он существует в течение столь длительного времени, большинство ошибок исчезло, и это очень надежно.

UNIX Минусы

Успешное использование UNIX будет означать наличие эксперта по UNIX на месте. Даже такие простые вещи, как установка новых продуктов и обновлений, могут быть сложными, если вы не являетесь экспертом по UNIX. Командный характер системы UNIX сложен, особенно для начинающих, поэтому, если у вас есть магазин, где новичкам нужно быстро набрать скорость, UNIX может оказаться не лучшим выбором. Вот почему UNIX наиболее популярен в местах, где есть опытные пользователи.

Структура операционной системы Unix

Структура операционной системы Unix

Операционная система UNIX (ОС) состоит из уровня ядра, уровня оболочки и уровня утилит и приложений. Эти три слоя создают портативный, многопользовательский, многозадачность .

Особенности операционной системы UNIX

Особенности операционной системы UNIX

По мнению Intel, высокая надежность, масштабируемость и мощные функции делают UNIX популярной операционной системой. Сейчас, после своего 40-летия по состоянию на 2010 год, UNIX является основой многих .

Преимущества и недостатки операционной системы Unix

Преимущества и недостатки операционной системы Unix

Операционная система Unix была впервые разработана в Bell Labs AT & T в 1970-х годах в качестве альтернативы более сложной компьютерной операционной системе под названием Multics.

В последнее время наблюдается большой приток пользователей Linux. Как правило это люди уже имеющие вполне приличный опыт в общении с компьютером, но этот опыт в большинстве случаев ограничен одной системой. Естественно, что этой системой является самая распространенная на сегодня на дескотопах операционная система компании Microsoft MS Windows. Большое число пользователей Windows также ставят Linux, или запускают его с "Live CD" "на посмотреть".

И тут возникает сразу несколько проблем, связанных с тем, что новые пользователи Linux ожидают увидеть перед собой "еще один Windows". А Linux — это совсем не клон Windows, это совсем другая система, с другой основой, другими традициями, другими возможностями и другими требованиями к пользователю.

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

Очень глубоко лезть в устройство этих двух операционных систем нам, я думаю, ни к чему, будем рассматривать их в основном с точки зрения пользователя.

Экскурс в историю (очень краткий)

Для сравнения, думаю невредно освежить в памяти краткую историю сравниваемых операционных систем.

История Unix

Операционная система UNIX была создана еще до эры коммерческого софта. Она писалась инженерами, как система "для себя". Поэтому в нее были заложены передовые на то время концепции. В дальнейшем своем развитии при добавлении новых черт, обычно считалось, что делать нужно "правильно". Т.е. например если нужно было выбирать из двух решений, одно из которых было с инженерной точки зрения "неправильным", например повышало производительность сегодня, но могло принести затруднения в дальнейшем, как правило, такое решение отвергалось и выбиралось "правильное" решение, пусть и с определенной потерей производительности.

Первые версии UNIX были написаны на Ассеблере, затем система была переписана на СИ. Это дало системе уникальную переносимость. На PC UNIX был портирован, а точнее заново написан (Linux) сразу, как только развитие PC, а точнее выпуск PC на процессоре i386, позволило это сделать.

В 1985 году стартовал проект POSIX. Это стандарт на интерфейсы UNIX-подобных ОС. Во многом благодаря наличию такого стандарта, так быстро смог появится на свет и достигнуть зрелости Linux — свободная воплощение UNIX.

Развитие интернета с самого начала и до нашего времени неразрывно связано с серверами под управлением ОС UNIX. Сначала с коммерческими, а теперь все больше и больше со свободными.

С точки зрения коммерциализации развитие UNIX можно разделить на три этапа.

  1. Некоммерческое распространение в университетах.
  2. Распространение коммерческих UNIX систем.
  3. Появление свободных реализаций (Linux, FreeBSD) и вытеснение коммерческих систем (настоящий момент).

До появления системы X Window System UNIX была системой с текстовым интерфейсом, затем добавился графический, но традиционно текстовый интерфейс сохраняет важное значение.

Очень важно то, что UNIX с самого начала был многозадачной и многопользовательской системой. Т.е. на одной машине могут работать сразу несколько пользователей, и выполняться несколько программ одновременно.

Фирменной чертой всех UNIX-подобных ОС была и остается надежность.

Год Событие Комментарий Разр Многопольз. Многозадачн.
1971 Первая версия UNIX На ассемблере 32 Есть Есть
1973 Третья версия UNIX На Си 32 Есть Есть
1983 TCP/IP - 32 Есть Есть
1983 Проект GNU стартовал Подготовил свободную обвязку для UNIX- подобных ОС 32 Есть Есть
1984 X Window System Оконная система 32 Есть Есть
1985 Стартовал проект POSIX Стандарты интерфейсов UNIX-подобных систем 32 Есть Есть
1991 Появление Linux Первая свободная реализация ядра UNIX для PC, 32 разрядная, сеть 32 Есть Есть
1993 Появление FreeBSD Еще одна свободная реализация ядра UNIX для PC, 32 разрядная, сеть 32 Есть Есть

История Windows

Истоки зарождения операционной системы Windows следует искать в предшествующей ей операционной системе той же самой фирмы — DOS. Все операционные системы компании Microsoft, это прежде всего коммерческие проекты. Об этом нужно помнить всегда, особенно, когда стараешься понять истоки тех или других решений, как коммерческого плана, так и технического.

Первой ОС из этого семейства была DOS. Может показаться, что DOS собственно имеет косвенное отношение к обсуждаемому предмету. Но, многие традиции, база пользователей и разработчиков, их привычки, идут именно оттуда.

DOS была однозадачной однопользовательской операционной системой с текстовым интерфейсом. Первая версия Windows представляла собой нечто, негодное для работы и распространения не получила. Работать стало в Windows стало возможно, начиная с версии 3. В версии Windows For Workgroups 3.1 появилась возможность работы с сетью. Winodws серии 3 представляли собой запускаемую поверх DOS систему. Отличались невысокой надежностью.

В 1995 годы вышла новая версия — Windows 95. Код частично был 32 разрядным, частично 16 разрядным, встроенная сеть. По сравнению с Windows серии 3 это был серьезный шаг вперед. Повысилась надежность, но до надежности UNIX-подобных ОС было еще далеко. В качестве рабочей станции с натяжкой конечно, надежности хватало, в качестве сервера, нет. Позже были выпущены еще две ОС этой линии, Windows 98 и Windows Me. После этого линия была закрыта.

В 1993 году вышла новая версия — Windows NT 3.1. Это уже была полностью 32 разрядная система. Разработана она была с нуля, для ее разработки были наняты известные специалисты. Были внедрены новые концепции. Это подняло надежность почти до уровня надежности UNIX-подобных систем. Эта ОС уже могла работать в качестве сервера. Продолжение этой линии, операционные системы Windows 2000, Windows XP и Windows Vista.

ОС линии NT были многозадачными, начиная с Windows XP появилась и возможность работать нескольким пользователям, хотя и более ограниченная и гораздо менее удобная, чем у UNIX-подобных ОС.

Год Событие Комментарий Разр Многопольз. Многозадачн.
1981 DOS - 16 Нет Нет
1985 Windows 1.0 Надстройка над DOS 16 Нет Нет
1990 Windows 3.0 Надстройка над DOS 16 Нет Есть
1992 Windows For Workgroups 3.1 Надстройка над DOS, сеть 16 Нет Есть
1995 Windows 95 сеть 16/32 Нет Есть
1993 Windows NT сеть 32 с 1998 Есть
2000 Windows 2000 сеть 32 Есть Есть
2005 Windows XP сеть 32 Есть Есть
2007 Windows Vista сеть 32 Есть Есть

Техническое устройство с точки зрения пользователя

С точки зрения пользователя UNIX устроен примерно так:

  1. Ядро. Работает с устройствами, управляет памятью и процессами.
  2. Текстовая подсистема, работа с системой через терминал. Причем для управления всеми возможностями ОС достаточно только текстовой подсистемы. Возможно вход через эту подсистему многих пользователей. Богатый набор как встроенных утилит, так и приложений, работающих в текстовом режиме.
  3. Графическая подсистема Xwindow. Запускается как процесс в системе.
  4. Система удаленного доступа в текстовом режиме. Позволяет полноценную работу с ОС в текстовом режиме. Потребляет мало ресурсов. Позволяет работать на сравнительно слабых компьютерах одновременно десяткам и сотням пользователей. Количество сессий ограничено ресурсами компьютеров.
  5. Система удаленного доступа в графическом режиме. Позволяет одновременно работать нескольким пользователям в графическом режиме. Количество сессий ограничено ресурсами компьютеров.
  6. Система передачи графического окна приложения на другой компьютер. Позволяет запустив приложение на одном компьютере, управлять им с другого компьютера, через окно приложения, передаваемое на этот другой компьютер. Количество сессий ограничено ресурсами компьютеров.
Windows
  1. Ядро. Работает с устройствами, управляет памятью и процессами, управляет графической подсистемой.
  2. Графическая подсистема. Обеспечивает интерфейс с пользователем. Приоритетная система для пользовательского интерфейса.
  3. Текстовая подсистема. Обеспечивает текстовый интерфейс с пользователем. Текстовый интерфейс весьма урезанный. Набор утилит текстового режима как встроенных, так и других производителей весьма куцый. Синтаксис и состав команд текстового режима меняется от версии к версии. Запускается только поверх графического режима.
  4. Система удаленного доступа. Появилась впервые, как встроенная в систему, в Windows NT Server 4.0. До этого были только продукты других фирм. В связи с тем, что запускается полноценная графическая сессия, кушает очень много ресурсов. Наличие системы удаленного доступа и количество одновременных сессий может вообще отсутствовать или быть ограничено в разных версиях из коммерческих соображений.
Сравнение концепций

Давайте теперь рассмотрим, чем отличается подход к работе в этих двух системах.

UNIX: Концепция "Toolbox"

Поскольку UNIX разрабатывалась инженерами и для инженеров, в ее основу была положена концепция toolbox (ящик с инструментами). Что это значит? Это значит, что при создании софта и встроенных утилит для UNIX не делали универсальные программы, каждая из которых выполняла бы внутри себя все, необходимые пользователю действия, а для каждой небольшой задачи создавалась своя утилита, которая выполняла свою задачу, только одну, но делала это хорошо. Дело пользователя было при помощи набора этих утилит выполнить операции, которые ему нужно сделать.

При этом из этого набора утилит можно составлять цепочки и последовательности действий, что позволяет легко автоматизировать рутинные, часто повторяющиеся операции.

Для того, чтобы утилиты могли обмениваться между собой результатами своей работы, в качестве носителя информации был выбран текстовый файл. Для обмена информацией между утилитами были изобретены "pipes" (трубы). При помощи "труб" информация с выхода одной команды может быть передана на вход второй, та ее обрабатывает, выдает свою информацию на выход, которая может быть передана на вход третьей и так далее.

В общем, в результате UNIX позволяет пользователю легко создавать простые программные комплексы, выполняющие повторяющиеся действия как по команде пользователя, так и в автономном режиме.

Такой подход имеет как плюсы, так и недостатки. С одной стороны он дает больший контроль над системой, гибкость в настройке, но при этом повышается порог вхождения в систему, или говоря простыми словами, прежде, чем что нибудь сделать, как правило, нужно изучить основы.

Windows: Концепция "Тостер"

В Windows доминирует другая концепция. Эта концепция — максимально облегчить вхождение пользователя в задачу. Программы в Windows как правило большие, на каждое действие есть пункт в меню или иконка. В системы программы связываются как правило с большим трудом.

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

Плюс такого подхода — легкость вхождения неподготовленного пользователя. Минус — то, что обманутый кажущейся легкостью пользователь вообще не хочет ничему учиться и не выполнять необходимых действий. На поводу идут и производители софта. Это одна из причин такого обилия документов отформатированных пробелами, пренебрежения безопасностью и как следствие вирусных эпидемий.

Заключение

Конечно, в обоих системах не доминирует свой подход на 100 процентов. Как в Windows есть возможность пользоваться текстовой консолью и создавать .bat файлы, так и в UNIX есть большой набор программ, со свойствами присущими скорее "тостерному" подходу. И все таки описанная разница в подходах есть и она достаточно ярко выражена.

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

UNIX – это семейство операционных систем. Первоначально ОС UNIX создавалась для проведения исследовательских работ и подготовки текстовых документов. Вначале 70-х была начата работа по созданию ОС UNIX. К середине 70-х она получила распространение в академической среде. В 80-х была признана деловыми кругами как средство борьбы за создание ПО обладающее более высоким качеством и большим сроком жизни.

Основные преимущества Unix можно сформулировать так:

1. Наличие единого языка взаимодействия пользователей с системой вне зависимости от применяемой ЭВМ.

2. Возможность применения в пользовательских программах единого набора системных вызовов, обеспечивающих реализацию различных функций.

3. Унифицированная файловая структура, обеспечивающая единообразие представления данных, что создаёт дополнительные условия переносимости программ.

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

5. Применение полностью унифицированных языков программирования, порождающих функционально тождественные объектные модули, упрощающих проблему переносимости программ.

6. Введение таких мощных и уникальных средств программирования как конвейеры, программные каналы, язык интерпретатора SHELL, генераторы анализаторов синтаксиса и семантики, которые способствуют повышению производительности труда программиста при сохранении единообразия конечного продукта.

UNIX имеет два недостатка по сравнению с другими ОС:

1. Эта система эффективна, если пользователи выполняют различные действия. Если же решается несколько одинаковых задач, то её эффективность падает.

2. Слабая приспосабливаемость к работе в режиме реального времени, когда требуется быстрая реакция на изменения в ходе течения процессов. UNIX может быть адаптирована и к таким режимам, но специализированные ОС реального времени лучше приспособлены для решения таких задач.

Читайте также: