Unix
Первая версия этой ОС была разработана в 1968г. К. Томпсоном "для себя и для своих друзей". С самого начала UNIX разрабатывалась, как многопользовательская интерактивная ОС. В 1972г. к работе над UNIX подключился Д. Ритчи, переписавший большую часть ОС на языке C, специально разработанном для этой цели. Это придало UNIX еще одно чрезвычайно важное достоинство – переносимость на другие аппаратные платформы. Долгое время ОС UNIX была некоммерческой системой и применялась в основном в университетах. С этим обстоятельством связано возникновение отдельной ее эволюционной ветви – BSD UNIX, развиваемой в Калифорнийском университете (существуют как коммерческая, так и свободно распространяемая версии).
Заложенные в UNIX идеи не только обеспечили ее многолетнее существование и развитие, но и оказали значительное влияние на все последующие ОС. Еще одна ветвь этой ОС– OSF/1 – связана с тем, что ряд фирм (IBM, DEC, HP и др.), желая иметь свою UNIX-подобную ОС, независимую от AT&T, учредили Организацию Открытого Программного Обеспечения (OSF– Open Software Foundation) и установили спецификацию OSF/1. В настоящее время «оригинал» UNIX – UnixWare 7 – принадлежит фирме Santa Crouse Operation, которая поддерживает также и свой собственный UNIX – SCO Open Server. Существует целое семейство UNIX-подобных ОС, выпускаемых другими фирмами в рамках OSF/1: HP-UX (Hewlett-Packard), AIX (IBM), Solaris (Sun) и др.
Еще одна ветвь UNIX-систем связана с движением Открытых Кодов. Наиболее популярной в этой группе систем является LINUX, разработанный Линусом Торвальдсом и распространяемый свободно. В 1999г. поддержку и распространение LINUX взяли на себя несколько фирм, наиболее популярна сейчас– бесплатная версия фирмы RedHat. В связи с популярностью LINUX несколько ведущих фирм заявили о его поддержке и о портировании на него своих программных продуктов (IBM, HP и др.). Усилиями этих фирм LINUX может со временем превратиться в серьезную промышленную систему.
По своей структуре UNIX является монолитной ОС с достаточно большим ядром, работающим в режиме ядра. Окружение ядра – системные утилиты, обычно также работают в режиме ядра. В ядро включаются также и драйверы устройств. Многопользовательская природа этой ОС заключается в том, что обработка идентификатора пользователя заложена в функции ядра системы. К числу характерных черт, присущих этой ОС с самого начала ее существования, относятся практически неограниченные возможности порождения новых процессов. При запуске ОС порождает процесс ожидания на терминале. |
Начало пользователем сеанса, в конце концов, порождает процесс – командный интерпретатор shell, который является предком для процессов, порождаемых пользователем. Пользователь может запускать параллельно неограниченное число процессов, каждый из которых может в свою очередь порождать дочерние процессы. Дочерний процесс в Unix порождается как копия родительского и наследует все его ресурсы. В связи с тем, что порождение процессов в Unix происходит весьма просто и “дешево”, механизм потоков внедрился в Unix сравнительно недавно, однако, сейчас существует практически во всех версиях Unix.
Средства взаимодействия между процессами в той форме, которая является стандартом для современных ОС, сложились именно в Unix – общая память, семафоры, каналы-трубопроводы, сообщения, сигналы.
Логическая ФС Unix представляет собой единое дерево, включающее в себя все доступные тома – в виде отдельных ветвей/подветвей этого дерева, а также специальные каталоги устройств, также представляемых как файлы. В Unix элемент каталога и дескриптор физического файла являются разнесенными структурами данных, хранящимися в разных местах. Это позволяет легко реализовать здесь такие особенности логической ФС, как «связи»– ссылку двух и более элементов каталога на один физический файл и «символьные связи» – ссылку одного элемента каталога на другой. В классической ФС для Unix – s5 – физическая структура ФС создает возможность существенной фрагментации файла по дисковому пространству. План размещения файла представляется прямой адресацией для начального участка файла, косвенной для следующего и 2- и 3-уровневой косвенной адресацией– для следующих участков. В более поздних ФС (во многих коммерческих Unix сейчас применяется ФС Veritas) при сохранении логической структуры ФС на физическом уровне обеспечивается смежное размещение файлов.
Драйверы устройств включаются в ядро ОС, но представляются также и в ФС как специальные файлы. В Unix родилась идея потоков ввода-вывода– возможность вставлять между приложением и драйвером устройства цепочки “модулей потока”, осуществляющих дополнительную обработку информации.
Несомненным достоинством Unix является развитый язык командного интерпретатора shell, обладающий алгоритмическими возможностями, а также возможностями перенаправления ввода-вывода, конвейеризации команд и параллельного выполнения команд.
Десятилетие назад расхождения между UNIX-ами разных производителей достигли угрожающих размеров, однако, ситуация обещает измениться к лучшему: две ведущие фирмы– SCO и IBM – скооперировались для производства общей системы, в которой соединятся UnixWare, AIX и Dynix фирмы Sequent. Большинство ведущих производителей аппаратуры и программного обеспечения уже в той или иной форме присоединились к проекту Monteray.
Linux RedHat
Среди программистов, работающих на ПК, некоторое распространение имеет ОС Linux, являющаяся одним из вариантов ОС UNIX. В этой ОС объединены мощь и гибкость рабочей станции UNIX, она позволяет полностью использовать Internet и имеет полнофункциональный графический интерфейс.Эту систему можно установить практически на любом персональном компьютере.
В ОС Linux существует два стандартных графических интерфейса: Gnome и K Desktop Environment (KDE). Оба этих интерфейса достаточно мощные, гибкие и созданы для разработки прикладного ПО.
В Linux присутствует полный набор командных интерпретаторов UNIX (BASH, TCSH и Z-shell). ОС Linux используется как платформа для разнообразных приложений Internet, локальных сетей. Имеется широкий набор административных средств стандартной UNIX.
Важным фактором является бесплатность, как самой ОС, так и приложений, разработанных на ее основе.