Одной из альтернатив семейству ОС Windows,является семейство ОС UNIX. Основное отличие и преимущество этой системы заключается в том, что она реализована для очень широкого круга аппаратных платформ. Пример: серверная ОС Windows NT существует только для аппаратных платформ Alpha и Intel. При этом различные версии UNIX созданы для практически любых компьютеров различных производителей от персональных до суперкомпьютеров. Благодаря гибкости, начиная с момента своего появления в 1969 году, ОС UNIX получила широкое распространение на машинах различной мощности и архитектуры, обеспечивая на них общие условия выполнения программ.
UNIX является не только многозадачной ОС, но и многопользовательской системой, которая позволяет нескольким пользователям разделять вычислительные ресурсы одного компьютера. Это свойство позволяет использовать UNIX в качестве ОС для миникомпьютеров и суперкомпьютеров, к которым пользователи подключаются через терминалы. В первых версиях UNIX взаимодействие с пользователем осуществлялось с помощью командной строки. Затем появились варианты графического интерфейса для UNIX.Графический интерфейс позволил существенно облегчить работу пользователя и сделать систему легкодоступной для тех, кто начинал в среде WINDOWS.
Среди ПО кроме мощных СУБД, системы управления предприятием банковских систем, систем автоматизированного проектирования для Unix написано большое количество прикладных программ, ( текстовые процессоры, электронные таблицы, графические редакторы), что делает UNIX еще более универсальной системой.
Средства сетевого взаимодействия являются неотъемлемой частью Unix, что делает эту систему удобной для создания сетевых приложений, а также для использования в качестве основной серверной платформы в Интернете.
В настоящее время существует множество версий ОС Unix от различных производителей. Среди них можно выделить несколько наиболее известных коммерческих версий: SUN OS и Solaris для компьютеров компании SUN, AIX –для IBM, IRIX – для Siliction Graphics, Scounix – для SCO. Это все для компьютеров на платформе Intel, а также свободно распространяемых Free BSD и Linux на платформе Intel. Таким образом, можно определить основные причины популярности Unix:
1.Unix написана на языке высокого уровня, благодаря чему ее легко понимать, измерять и переносить на другие аппаратные платформы.
2.Наличие простого пользовательского интерфейса, в котором имеется возможность предоставлять все необходимые пользователю услуги.
3.Наличие иерархической файловой системы легкой в сопровождении и эффективной в работе.
4.Обеспечение согласования форматов в файлах, работа с последовательным потоком байта. Наличие простого последовательного интерфейса с периферийными устройствами.
5.Наличие встроенных средств поддержки компьютерных сетей, что делает Unix одной из самых популярных платформ в Интернете.
6.Система является многопользовательской и многозадачной, каждый пользователь может выполнить одновременно несколько процессов.
Архитектура машины скрыта от пользователя, благодаря чему облегчен процесс написания программ, работающих на различных конфигурациях аппаратных средств.
Отличительными особенностями Unix являются наличие ядра и организации файловой системы. Ядро взаимодействует с аппаратной частью компьютера, изолируя прикладные программы от особенностей архитектуры компьютера. Ядро представляет прикладным программам набор услуг:
Операции ввода-вывода, создания и управления процессами, синхронизации и межпроцессорного взаимодействия.
В основе взаимодействия ядра и прикладных программ лежит концепция процесса единицы управления и единицы потребления ресурсов. Процесс представляет собой программу в состоянии выполнения, причем в Unix в рамках одного процесса не могут выполнять ни какие параллельные действия. Каждый процесс работает в своем виртуальном адресном пространстве. Совокупность участков физической памяти, отображаемая на виртуальных адресах процесса, называется образом процесса.
При управлении процессами ОС используются два основных типа операционных структур: дескриптор процесса и контекст процесса. Дескриптор процесса содержит такую информацию о процессе, которая необходима ядру в течение всего жизненного цикла, процесса не зависимо от того, в каком состоянии он находится, а также независимо от того, находится ли образ процесса в оперативной памяти или выгружен на диск.
Дескриптор отдельных процессов объединен в список, образующий таблицу процесса. Память для таблицы процесса отводится динамически в области ядра. На основании информации, содержащейся в таблице процесса, ОС осуществляет планирование и синхронизацию процесса. В дескрипторе прямо или косвенно содержится информация о состоянии процесса, расположении образа процесса в оперативной памяти и на жестком диске, о значении отдельных составляющих приоритета и его итоговом значении – глобальном приоритете.
Дескриптор содержит идентификатор пользователя, создавшего процесс, информацию о родственных процессах, событиях, осуществление которых ожидает данный процесс, и др. информации. Контекст процесса содержит менее оперативную, но более объемную часть информации о процессе, необходимую для возобновления выполняемого процесса с прерванного листа: Содержимое регистров процессора, коды ошибок, выполняемых системных процессоров, информацию обо всех открытых данным процессом файлах, о незавершенных операциях ввода-вывода и другие данные, характеризующие состояние вычислительной среды в момент прерывания.
По аналогии с дескриптором процесса, контекст доступен только программам ядра.B UNIX для процессов предусмотрены два режима выполнения: привилегированный и обычный. В привилегированном режиме выполняются функции ядра системы, а в обычном – программы пользователя.
Файловая система UNIX обеспечивает единый интерфейс доступа к данным, расположенных на накопителях, к периферийным устройствам. Одни и те же функции могут использоваться при записи данных на жесткий диск и при выводе информации на принтер. Программы, выполняемые под управлением UNIX, не содержат никакой информации относительно формата, в котором ядро хранит файлы данных. Данные в программах хранятся как бесформатный поток данных. Программы могут интерпретировать поток байтов по своему желанию, при этом любые интерпретация никак не будет связана с фактическим способом хранения данных в ОС.
В последнее время все большую популярность приобретает версия UNIX для ПК. Одной из таких реализаций является Linux. Linux – это оригинальная реализация UNIX для платформы INTEL, являющейся экономичной ОС. Linux поддерживает большинство свойств, присущих другим реализациям UNIX и является полной многозадачной и многопользовательской ОС. Большинство свободно распространенных по сети программ для UNIX можно откомпилировать для Linux практически без изменений. Кроме того, все исходные тексты для Linux , включая ядро, драйверы устройств, библиотеки, пользовательские программы и инструментальные средства, распространяются свободно.
Другой отличительной особенностью Linux является поддержка национальной и стандартной клавиатур, динамически загружаемых драйверами, что делает эту систему более универсальной. Linux поддерживает различные типы файловых систем для хранения данных. Некоторые файловые системы были созданы специально для Linux. В Linux реализована также файловая система MS DOS,позволяющая прямо обращаться к файлам MS DOS на жестком диске, а также ISO 9660 CD ROM для работы с дисками CD ROM. Linux обеспечивает полный набор протоколов TCP /IP для работы в сети.