Самым популярным проектом UNIX-системы конца XX века стала недорогая альтернатива дорогостоящим (HP-UNIX, SUN Solaris, Digital UNIX) решениям - ОС Linux. Сегодня темпы освоения рынка данной системой по сравнению с остальными известными ОС являются самыми интенсивными.
Сильной стороной ОС Linux является ее универсальность: система покрывает весь диапазон применений -- от настольного PC до сверхмощных многопроцессорных серверов и кластеров. В настоящее время многопроцессорная ОС Linux устойчиво работает на платформах PC, Alpha, PowerPC, Macintosh, SGI MIPS, Strong ARM, SGI Visual Workstations, VAX, 8086, PC-98, Palm Pilot, HP PA-RISC, Sparc & UltraSparc64 systems, m68k.
Будучи операционной системой, Linux выполняет многие из функций, характерных для DOS и Windows. Однако следует отметить, что эта ОС отличается особой мощью и гибкостью. Большинство операционных систем персональных компьютеров, например DOS, создавались для небольших ПК, обладавших ограниченными возможностями и лишь недавно превратившихся в универсальные машины. Такие ОС постоянно модернизируются, поскольку они должны соответствовать непрерывно развивающимся возможностям аппаратных средств персональных компьютеров. Система же Linux разрабатывалась совершенно в ином контексте. Она представляет собой ПК-версию операционной системы Unix, которая десятилетиями используется на мэйнфреймах и мини-ЭВМ и является основной ОС рабочих станций. Linux предоставляет в распоряжение вашего ПК скорость, эффективность и гибкость Unix, используя при этом все преимущества современных персональных машин.
С финансовой точки зрения Linux обладает одним весьма существенным достоинством — она не коммерческая. В отличие от операционной системы Unix, Linux распространяется бесплатно по генеральной открытой лицензии GNU в рамках Фонда бесплатного программного обеспечения (Free Software Foundation), благодаря чему эта ОС доступа всем желающим. В действительности система Linux защищена авторским правом и не находится в общедоступном пользовании, однако открытая лицензия GNU — это почти то же самое, что и передача в общедоступное пользование. Она составлена таким образом, что Linux остается бесплатной и в то же время стандартизированной системой. Существует лишь один официальный вариант Linux.
Некоммерческий характер Linux иногда создает у людей неверное впечатление о ней: некоторые считают, что эта операционная система не относится к числу профессиональных. По сути дела, Linux является ПК-версией ОС Unix. Для того чтобы оценить ее по достоинству, нужно уяснить тот особый контекст, в котором разрабатывалась система Unix. В отличие от большинства других операционных систем, Unix разрабатывали в университетской, академической среде. Для университетов и исследовательских лабораторий Unix — то, что надо. Ее разработка шла параллельно с революцией в области вычислительной техники и коммуникаций, которая длится вот уже несколько десятилетий. Профессионалы по части компьютерной техники нередко разрабатывали на базе Unix новые технологии. В частности, это касается средств для работы в Internet. Будучи весьма сложной системой, Unix, тем не менее, с самого начала строилась как система очень гибкая. Ее можно запросто модифицировать, создавая тем самым различные версии. Так, многие фирмы-производители поддерживают разные официальные варианты Unix. Фирмы IBM, Sun, Hewlett-Packard продают и осуществляют техническое сопровождение собственных вариантов. Специалисты, занятые в научно-исследовательских программах, создают свои версии, соответствующие их конкретным задачам. Эта внутренняя гибкость структуры ОС Unix никоим образом не сказывается на ее высочайшем качестве. Наоборот, она подтверждает ее устойчивость, позволяя в то же время адаптировать систему практически к любой среде. Именно в этом контексте разрабатывалась ОС Linux. В этом смысле Linux — всего лишь еще один вариант Unix, версия для ПК. Процесс ее разработки компьютерными профессионалами, работающими в научной и околонаучной среде, соответствует обычной процедуре разработки версий Unix. Однако Linux распространяется по открытой лицензии. Linux — это высококлассная операционная система, доступная всем, причем бесплатно.
Операционная система — это программа, которая управляет аппаратными и программными средствами компьютера, предназначенными для выполнения задач пользователя. На первой стадии своего развития операционные системы предназначались для выполнения базовых задач по управлению аппаратными средствами. Эти задачи в основном касались управления файлами, выполнения программ и приема команд от пользователя. Взаимодействие пользователя с операционной системой осуществляется через пользовательский интерфейс. Этот интерфейс позволяет операционной системе принимать и интерпретировать инструкции, вводимые пользователем в компьютер. Для выполнения задачи — например, чтения файла или печати документа — достаточно лишь послать соответствующую инструкцию в операционную систему.
Управление файлами, управление программами и взаимодействие с пользователями — это традиционные функции, общие для всех операционных систем. У Linux, как и у всех версий Unix, есть еще две особенности: она является многопользовательской и многозадачной системой. Многозадачность означает, что систему можно "попросить" выполнить несколько задач одновременно. Пока выполняется одна задача, вы работаете с другой. Например, когда печатается один файл, можно редактировать другой, не ожидая окончания процесса печати. Многопользовательский режим означает, что в системе одновременно могут быть зарегистрированы несколько пользователей, каждый из которых взаимодействует с нею через свой терминал.
Первоначально операционные системы предназначались для повышения эффективности работы аппаратных средств. Возможности первых компьютеров были ограниченными, и операционной системе приходилось извлекать их них максимум возможного. В этом отношении операционные системы были рассчитаны не на пользователя, а на аппаратные средства. Как правило, ОС отличались жесткостью, вынуждая пользователя приспосабливаться к требованиям эффективности использования аппаратных средств.
Как версия системы Unix, Linux отличается характерной для этой ОС гибкостью, обусловленной в первую очередь тем, что эта ОС развивалась в среде исследователей и ученых. Операционную систему Unix разработал Кен Томпсон, сотрудник фирмы Bell Laboratories концерна AT&T, в конце 60-х — начале 70-х годов. Unix вобрала в себя целый ряд новых разработок в области операционных систем. Она создавалась как операционная система для исследователей. При разработке Unix была поставлена задача создать систему, которая могла бы удовлетворять непрерывно изменяющимся требованиям сотрудников, занимающихся разнообразными исследованиями. Для достижения этой цели Томпсону пришлось разрабатывать систему, которая могла решать множество разнотипных задач. Гибкость системы стала более важным качеством, нежели эффективность работы аппаратных средств. Как и Unix, Linux позволяет пользователям справиться с решением чрезвычайно широкого круга задач.
ОС рассматривается как механизм, предоставляющий в распоряжение пользователя набор высокоэффективных инструментов. Такая ориентация на пользователя означает, что вы можете конфигурировать и программировать систему в соответствии со своими конкретными потребностями. В случае с Linux операционная система действительно становится операционной средой.
История создания Linux и Unix
Естественно, история Linux начинается с Unix. Свой рассказ я начну с конца 60-х годов, когда прилагались согласованные усилия по выработке новых подходов к созданию операционных систем. В 1968 году консорциум исследователей, представляющих фирмы General Electric, AT&T Bell Laboratories и Массачусетский технологический институт, завершил работу над научно-исследовательским проектом Multics, результатом которого стала одноименная операционная система, вобравшая в себя последние достижения в решении проблем многозадачности, управления файлами и взаимодействия с пользователем. В 1969 году уже упомянутый нами Кен Томпсон разработал операционную систему Unix, в которой использовались многие результаты проекта Multics. Он приспособил эту систему, предназначенную для работы на мини-ЭВМ, к потребностям исследователей. С самого начала Unix стала удобной для всех и эффективной многопользовательской и многозадачной операционной системой.
Со временем популярность Unix в Bell Laboratories росла, и в 1970 году Деннис Ритчи и Кен Томпсон переписали код системы на языке программирования С. Деннис Ритчи, коллега Томпсона по Bell Labs, создал этот язык с целью обеспечения гибкости при разработке программ. Одно из преимуществ языка С состоит в том, что он позволяет обращаться непосредственно к аппаратным средствам компьютера за счет использования обобщенного набора команд. До этого текст программы операционной системы нужно было специально переписывать на аппаратно-зависимом языке ассемблера для каждого типа компьютера. Язык С позволил Ритчи и Томпсону написать всего одну версию операционной системы Unix, которую затем можно было компилировать С-компиляторами на различных машинах. Операционная система Unix стала мобильной, т.е. способной работать на разных типах машин практически без перепрограммирования.
Постепенно Unix выросла из персонального творения одного человека в стандартный программный продукт, распространяемый многими фирмами, включая Novell и IBM. Сначала эту ОС считали исследовательским продуктом, поэтому первые версии Unix распространялись бесплатно по факультетам вычислительной техники многих известных университетов. В 1972 году Bell Labs начала выпускать официальные версии Unix и продавать лицензии на нее различным пользователям. Одним из таких пользователей был факультет вычислительной техники Калифорнийского университета в Беркли. Его специалисты ввели в систему много новых особенностей, которые впоследствии стали стандартными. В 1975 году в Беркли была выпущена собственная версия Unix, известная как Berkeley Software Distribution (BSD). Эта версия Unix стала основным соперником версии AT&T Bell Labs. Постепенно стали появляться и другие независимо разрабатываемые версии Unix. В 1980 году фирма Microsoft выпустила версию Unix для ПК, получившую название Xenix. Компания AT&T разработала несколько версий Unix, а в 1982 году выпустила первую коммерческую версию, System 3. За ней последовала System V, которая стала весьма серьезно поддерживаемым программным продуктом.