Unix приложения что это
Что такое UNIX и зачем он нужен
Операционная система, которая изменила мир, хотя в ней почти никто не работал
В 1970-х годах в мире появился UNIX — операционная система, из которой растут ноги у большинства современных операционок. Для своего времени это был технологический прорыв, а заложенные там принципы мы используем до сих пор. В этой статье — что же там было такого революционного.
👍 Статья расширяет кругозор и помогает лучше понять информатику, но не имеет прикладной ценности. Если вам нужно что-то прикладное — прочитайте про размеры элементов в CSS.
Однозадачные компьютеры
Когда компьютеры только начали появляться, то работали они примерно так:
Получается, что они работали в однозадачном режиме: работает только одна программа, а для запуска второй нужно остановить первую. По этому принципу до сих пор работают контроллеры в ваших микроволновках и холодильниках, а также контроллеры типа Arduino.
Сначала такой подход всех устраивал, потом стало неудобно.
Многозадачные компьютеры
Чтобы компьютер работал более эффективно, программисты написали код, который управляет работой всего компьютера — операционную систему.
Первые операционные системы были псевдомногозадачными. Это значит, что они не запускали одновременно несколько программ, а в цикле по очереди брали по одной команде из каждой программы и выполняли их. Так как переключение между командами из разных программ происходит быстро, то создаётся впечатление, что они работают одновременно.
Потом эту проблему тоже решили, и компьютер мог выполнять несколько программ действительно одновременно, чтобы они не мешали друг другу. Так появились многозадачные операционные системы.
Но в то время домашних компьютеров не было, а желающих поработать за университетским компьютером было много, поэтому все работали по очереди. Например, один лаборант работал на нём с часу до двух, второй — с двух до трёх, а научный руководитель работал за компьютером с трёх до шести.
При этом мощности компьютеров уже хватало на то, чтобы с ним мог работать второй пользователь, не замедляя работу первого. А вот операционных систем, которые бы так умели, — не было. И здесь появляется UNIX.
UNIX — многопользовательская операционная система
Создатели UNIX Кен Томпсон и Деннис Ритчи (который потом напишет язык C) решили проблему так:
Со стороны пользователя кажется, что весь сервер в его распоряжении, но на самом деле сервером могут пользоваться одновременно десятки человек и не знать о том, что сервер выполняет что-то ещё. Сейчас это звучит обычно и примитивно, но для того времени это был прорыв.
Операционную систему, которая умеет всё это делать, назвали 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 стал стандартом
С середины 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
Подобно подсистеме POSIX в Windows NT, Interix не эмулирует править] Состав
Как и подсистема Microsoft POSIX в Windows NT, Interix не эмулирует работу ядра Unix, это лишь реализация на уровне пользователя, запущенная поверх ядра Windows NT.
Важно, что и Cygwin (свободная альтернатива Interix) и Windows Services for Unix предлагают заголовочные файлы и библиотеки, что упрощает перекомпиляцию приложений Unix для их использования в Windows. Естественно, форматы исполняемых файлов Windows и Unix по-прежнему остаются несовместимыми.
Текущая версия включает:
SFU не включает в себя (однако, возможно установить отдельно):
SFU не содержит встроенного X-сервера (только утилиты и библиотеки, как упоминалось выше), но может быть использован практически любой из имеющихся, например, Cygwin/X, Xming, WeirdMind или WeirdX.
Версии
Последний релиз — 3.5 от ноября 2007 года.
Windows Server 2003 R2 содержит довольно много предустановленных компонент SFU, в том числе сервисы Microsoft для сетевой файловой системы (NFS), подсистема для приложений UNIX (Interix) и управление аутентификацией для UNIX.
Microsoft не планирует далее выпускать отдельные версии данного пакета. Возможность скачать последнюю версию с официального сайта будет доступна по крайней мере до 2009 года, официальная общая поддержка оканчивается в 2011, расширенная поддержка в 2014.
Поддерживаемые операционные системы (для версии 3.5)
Microsoft Windows Services for UNIX предназначен для Windows редакций Server и Professional. Потребительскими версиями Windows не поддерживается.
См. также
Примечания
Ссылки
Контакты • DVD Maker • Факсы и сканирование • Internet Explorer • Журнал • Экранная лупа • Media Center • Проигрыватель Windows Media • Программа совместной работы • Центр устройств Windows Mobile • Центр мобильности • Экранный диктор • Paint • Редактор личных символов • Удалённый помощник • Распознавание речи • WordPad • Блокнот • Боковая панель • Звукозапись • Календарь • Калькулятор • Ножницы • Почта • Таблица символов • Исторические: Movie Maker • NetMeeting • Outlook Express • Диспетчер программ • Диспетчер файлов • Фотоальбом
Chess Titans • Mahjong Titans • Purble Place • Пасьянсы (Косынка • Паук • Солитер) • Сапёр • Пинбол • Червы
Autorun.inf • Фоновая интеллектуальная служба передачи • Файловая система стандартного журналирования • Отчёты об ошибках • Планировщик классов мультимедиа • Теневая копия • Планировщик задач • Беспроводная настройка
Active Directory • Службы развёртывания • Служба репликации файлов • DNS • Домены • Перенаправление папок • Hyper-V • IIS • Media Services • MSMQ • Защита доступа к сети (NAP) • Службы печати для UNIX • Удалённое разностное сжатие • Службы удаленной установки • Служба управления правами • Перемещаемые профили пользователей • SharePoint • Диспетчер системных ресурсов • Удаленный рабочий стол • WSUS • Групповая политика • Координатор распределённых транзакций
NT • Диспетчер объектов • Пакеты запроса ввода/вывода • Диспетчер транзакций ядра • Диспетчер логических дисков • Диспетчер учетных записей безопасности • Защита ресурсов • lsass.exe • csrss.exe • smss.exe • spoolsv.exe • Запуск
Подсистема UNIX (Interix) • Виртуальная машина DOS • Windows on Windows • WOW64
Подсистема для UNIX-приложений в Windows 7
Заметил вещь под названием « Подсистема для приложений на основе UNIX» в диалоговом окне « Включение и выключение функций Windows » в Windows 7. Никогда раньше не видел, и это кажется интересным. Что именно это на самом деле? Для чего он нужен и для чего я могу его использовать?
Как подсистема среды это означает, что она работает вместе с Windows API, прямо над ядром. Таким образом, он не более эмулируется, чем сам Windows API, и, следовательно, работает намного лучше, чем, например, Cygwin. 1
Он в основном предназначен для сборки и запуска приложений UNIX непосредственно в Windows, поэтому, если ваша любимая программа UNIX не поставляется с портом Windows, вы можете попробовать создать ее в SUA:
Службы Windows для Unix и подсистема для приложений на основе Unix предоставляют заголовочные файлы и библиотеки, которые упрощают перекомпиляцию или перенос приложений Unix для использования в Windows; они не делают двоичные файлы Unix совместимыми с двоичными файлами Windows. Лучше всего думать, что это отдельная Unix-подобная платформа.
Текущая версия СФУ содержит:
SFU не содержит следующего (но двоичные файлы доступны для отдельной установки):
Так как SUA не пытается быть Linux или BSD, а представляет собой просто POSIX, это также может означать, что многие программы, которые зависят от платформы, могут не быть собраны или запущены. На ум приходят сценарии оболочки, которые предполагают использование bash вместо sh или системных вызовов Linux. В настоящее время написано очень мало программ, которые могут работать непосредственно в любой POSIX-совместимой системе. Также версия gcc, которая включена, несколько устарела, что означает, что она может не поддерживать вашу последнюю версию C99 +.
Linux.yaroslavl.ru
Операционная система UNIX Как начать работать: базовое руководство
Дополнительные источники информации по UNIX
Файловая система UNIX Общие команды Работа в сети
Обмен информацией с другими пользователями
Операционная система UNIX
Понимание операционных систем
Операционная система UNIX
Введение в философию UNIX
Одной из определяющих характеристик UNIX в сравнении с другими операционными системамир является тот факт, что существует много разновидностей или вариантов данной операционной системы Благодари тому что исходный код ранних версий был сделай доступным множеству производителей компьютеров и независимым разработчикам, появилось множество Слегка отличающихся форм UNIX Некоторые характерны для данного поставщика аппаратного обеспечения, другие отличаются утилитами, методами конфигурирования или пользовательским интерфейсом В данной книге мы привлекаем внимание к разнице между наиболее широко распространенными вариантами UNIX, в том числе:
Другие варианты UNIX, которые будут исследоваться в предлагаемых двух томах
BSD (Berklely Software)
SunOS (предшественник Solaris)
В своей основе UNIX проста и элегантна, обладает логичной архитектурой, которая, в свою очередь, определяет структуру прикладных программ и языков программирования Если вы только начинаете работу с UNIX, то я немного завидую тому удовольствию, которое вы получите, начиная исследование этой восхитительной среды Если же вы являетесь более опытным пользователем UNIX, например администратором или программистом, то пересмотренная редакция «UNIX Энциклопедия пользователя» содержит массу интересной информации, которая поможет распространить применение UNIX на приложения Internet и World Wide Web, защититься от хакеров и злонамеренных пользователей и усовершенствовать свои знания по управлению системой
Торговая марка компании Santa Cruz Operation
Многозадачная, многопользовательская операционная система
Богатая, расширяемая и открытая вычислительная среда
Давайте разберемся со всеми пунктами по очереди Для начала UNIX является торговой маркой, что означает наличие некой интеллектуальной собственности, связанной с UNIX, которая не является общедоступной Некоторые версии UNIX требуют оплаченной лицензии за свою эксплуатацию
Термин UNIX также относится к мощной многозадачной, многопользовательской операционной системе.
В бывшие времена, хотя и не так давно, каждый знал, что такое операционная система (ОС). Это было сложное программное обеспечение, продаваемое создателем компьютерной системы, не включающее других программ, которые могли бы работать на данном компьютере. Крутились диски, терминалы начинали светиться, система следила за тем, что делает аппаратное обеспечение. Прикладные (пользовательские) программы просили операционную систему выполнить различные функции. Пользователи редко разговаривали с ОС непосредственно.
Однако глубоко внутри (как говорят в UNIX, в ядре) UNIX по-прежнему выполняет роль классической операционной системы. Подобно мэйнфреймам и миникомпьютерным системам, которые распространялись ранее, UNIX предоставляет возможность множеству людей одновременно получить доступ к компьютеру и выполнять множество программ параллельно друг другу.
Однако, в отличие от большинства частных операционных систем, UNIX породила целое семейство производных, или вариантных, систем. Некоторые выделяются функциональностью или происхождением, другие разрабатываются поставщиками компьютеров и предназначены для конкретной серии машин, есть системы, которые были разработаны специально как условно-бесплатные или вообще бесплатные. Хотя все варианты UNIX и отличаются друг от друга до некоторой степени, но в основе своей представляют собой одну и ту же среду. Все они предлагают собственные версии наиболее распространенных утилит, прикладных программ и языков. Те, кто использует awk, grep, оболочку Bourne или make в одной из версий UNIX, обнаружат их и на других машинах UNIX.
Однако те, кому большая часть упомянутых программ не нужна, ищут свой собственный подход к выполнению различных вычислительных работ. Выдающейся характеристикой UNIX является то, что она расширяема и открыта. Под расширяемостью я подразумеваю то, что UNIX предоставляет простую возможность определения новых команд, которые затем могут быть вызваны и использованы другими программами и конечными пользователями. В среде UNIX это практично, поскольку архитектура ядра UNIX специально определяет интерфейсы или способы, с помощью которых программы могут взаимодействовать друг с другом, не будучи специально разработанными для совместной работы.
Понимание операционных систем
Когда вы покупаете компьютерную систему, то в ней должны быть по меньшей мере аппаратура и операционная система. Приобретаемое аппаратное обеспечение способно использовать одну или несколько разных операционных систем. Вы можете купить единый компьютерный комплект, который включает аппаратуру, операционную систему и, возможно, одно или несколько приложений. Операционная система необходима для того, чтобы управлять аппаратным обеспечением и приложениями.
Когда вы включаете компьютер, то операционная система выполняет серию задач, представленных в хронологическом порядке в следующих нескольких разделах.
Управление аппаратурой, часть 1
Когда вы покидаете программу (или она заканчивает выполнение), то процесс прекращается и операционная система управляет прекращением, освобождая все использованные ресурсы.
Большинство приложений выполняет некоторые задачи между моментами, когда процесс создается и когда он прекращается. Для выполнения таких задач программа обращается к операционной системе и операционная система отвечает на запросы и выделяет программе необходимые ресурсы. Когда выполняющийся процесс нуждается в каком-либо аппаратном обеспечении, то операционная система обеспечивает процессу соответствующий доступ.
Управление аппаратурой, часть 2
Для выполнения своей задачи процессу необходим доступ к аппаратным ресурсам. Процессу может потребоваться чтение или запись файла, пересылка данных на сетевой адаптер (для обмена информацией с другим компьютером) или пересылка данных на принтер. Операционная система обеспечивает процесс подобными услугами. Это называется распределением ресурсов. Аппаратное устройство является ресурсом и операционная система распределяет доступные ресурсы между различными выполняющимися процессами.
См. таблицу 1.1, где приведена сводка различных действий и того, что операционная система (ОС) предпринимает для управления ими.
Таблица 1.1. Функции операционной системы.
Действие ОС делает следующее
Включен компьютер Управление аппаратным обеспечением
Исполняется приложение Управление процессом
Приложение читает ленту Управление аппаратным обеспечением
Приложение ждет данные Управление процессом
Процесс ждет, пока выполняется другой
процесс Управление процессом
Процесс отображает данные на экране Управление аппаратным обеспечением
Процесс пишет данные на ленту Управление аппаратным обеспечением
Пользователь выходит из приложения,
процесс завершается Управление процессом
Выключение компьютера Управление аппаратным обеспечением
С момента, когда компьютер включается, и до момента, когда он выключается, операционная система координирует все операции. При инициализации аппаратуры, при доступе к ней, при ее выключении операционная система управляет ресурсами. При выполнении приложения, запросе и получении ресурсов или прекращении процессов операционная система следит за этими действиями. Без операционной системы не смогло бы выполняться никакое приложение и компьютер бы оставался дорогостоящей игрушкой.
Операционная система UNIX
UNIX, как и другие операционные системы, является слоем между аппаратурой и приложениями, которые выполняются на компьютере. В ней есть функции, которые управляют аппаратным обеспечением, и функции, которые управляют выполняющимися приложениями. Тогда в чем же разница между UNIX и другими операционными системами? В основном отличие в двух вещах: внутренней реализации и интерфейсе, который видит и эксплуатирует пользователь. Внутренняя реализация в книге по большей части игнорируется. Если вы хотите знать такие детали, то существует множество текстов, которые их освещают. А вот интерфейс описывается подробно. Большинство пользователей UNIX должно знать интерфейс, хотя может и не понимать внутренней работы UNIX.
На самом деле система UNIX р нечто большее, чем просто операционная система. UNIX включает традиционные компоненты операционной системы. Кроме того, стандарт системы UNIX определяет набор библиотек и набор приложений. Рисунок 1.2 показывает компоненты и слои UNIX. Над аппаратным обеспечением находятся два компонента: файловая система и управление процессами. Далее идет набор библиотек. Вверху находятся приложения. Пользователь имеет доступ к библиотекам и к приложениям. Именно эти компоненты и представляют то, о чем многие пользователи думают как о UNIX, потому что вместе они и составляют интерфейс системы.
Та часть операционной системы UNIX, которая управляет аппаратурой и выполняет процессы, называется ядром. При управлении всеми аппаратными устройствами система UNIX рассматривает каждое устройство как файл (называемый файлом устройства). Такой подход позволяет использовать такие простые методы, как чтение и запись файлов, при доступе к любому аппаратному устройству. Файловая система управляет доступом пользователей на чтение и запись к данным и устройствам, например к принтерам, присоединенным к системе. В файловой системе реализовано управление безопасностью для защиты целостности и неприкосновенности информации. В исполняемых процессах система UNIX распределяет ресурсы (включая использование ЦПУ) и осуществляет посреднические услуги при доступе к оборудованию.
Откуда вообще берутся системы, подобные UNIX? История UNIX довольно необычна и оказывает влияние и на ее сегодняшнюю форму,
В середине 1960-х годов AT&T Bell Laboratories (в числе других) приложила немало усилий для разработки новой операционной системы под названием Multics. Multics предназначалась для поставки крупномасштабных вычислительных услуг, вроде продажи электрической энергии. Многие люди, которые работали в Bell Labs над Multics, позднее работали над UNIX.
В 1969 году Bell Labs вышла из проекта Multics, и члены Computing Science Research Center остались без вычислительной среды. Кен Томпсон, Деннис Ритчи и другие разработали базовую структуру файловой системы, которая впоследствии превратилась в файловую систему UNIX. Ранняя версия системы была разработана под компьютер PDP-7, имевшийся у группы.
AT&T запретили продавать компьютерные системы, поэтому она не могла предложить на рынке продукт Bell Labs. Тем не менее популярность UNIX росла в результате внутреннего использования ее в AT&T и лицензирования в университетах для целей образования. К 1977 году были разрешены коммерческие продажи UNIX, и первый поставщик системы, Interactive System Corporation, начал продажу UNIX-систем для автоматизации офисов.
Более поздние версии разрабатывались в AT&T (или ее последователе, UNIX System Laboratories, впоследствии принадлежавшей Novell) и включали System III и несколько релизов System V. Два релиза System V, Release 3 (SVR3.2) и Release 4 (SVR4, самая поздняя версия SVR4 р SVR4.2) остаются популярными для самых разнообразных компьютеров, от PC до мэйнфреймов. В 1997 году SCO выпустила свою систему UnixWare 7.0, в основе которой лежит последний релиз System V р SVR5.
Все версии UNIX, базирующиеся на работе AT&T, требуют лицензии от текущего владельца, ныне это компания Santa Cruz Operation.
Berkley Software Distributions
В то время как AT&T (через свои исследовательские группы и USG) разрабатывала UNIX, университеты, получившие образовательные лицензии, также не стояли на месте. Наиболее примечательная Computer Science Research Group из Калифорнийского университета, Беркли (USB), создала серию релизов, известных как Berkley Software Distribution, или BSD. Исходные модификации для PDP-11 были названы 1BSD и 2BSD. Поддержка компьютеров VAX Digital Equipment Corporation появилась в 3 BSD. Разработка ОС для компьютеров VAX продолжалась в 4.0BSD, 4.1BSD, 4.2BSD, 4.3BSD, в которых (особенно в версиях 4.2 и 4.3) имелись многие особенности (и базовый исходный код), принятые в коммерческих продуктах.
Благодаря множеству версий UNIX и частому взаимному влиянию вариантов друг на друга, многие возможности проникали в различные варианты UNIX. С возрастанием популярности UNIX в коммерческих и правительственных структурах возникла необходимость стандартизовать ее особенности так, чтобы пользователь или разработчик, применяя UNIX, мог положиться на данные особенности.
Institute of Electrical and Electronic Engineers (IEEE) создал несколько комиссий для выработки стандартов «Industry-Recognized Operating System Interface Standard based on the UNIX Operating System» (Индустриально-признанный стандарт интерфейса операционной системы, базирующийся на операционной системе UNIX). Результаты работы двух комиссий важны для обычных пользователей и разработчиков. Комиссия POSIX.1 стандартизовала интерфейс библиотеки С, используемой для написания программ для UNIX. (См. «UNIX для Internet, Энциклопедия пользователя», глава 6, «Языки программирования С и C++».) Комиссия POSIX.2 стандартизовала команды, которые доступны обычному пользователю.
В Европе консорциум Х/Оре n свел вместе различные стандарты, связанные с UNIX, включая текущую попытку создания спецификации Common Open System Environment (COSE). X/Open публикует серию спецификаций под названием X/Open Portability. Интерфейс пользователя MOTIF, распространенный стандарт, является результатом усилий консорциума X/Open.
Правительство Соединенных Штатов определило серию стандартов, базирующихся на XPG и POSIX. В настоящее время FIPS 151-2 специфицирует требования к открытым системам для федеральных закупок.
Различные коммерческие консорциумы также пытались участвовать в разработке стандартов. Однако им еще предстоит выработать приемлемые стабильные результаты.
UNIX для мэйнфреймов и рабочих станций
Многие поставщики мэйнфреймов и рабочих станций создали версии UNIX для своих машин. Мы обсудим некоторые из этих вариантов (включая Solaris от SunSoft, AIX от IBM и HP-UX от Hewlett-Packard).
UNIX для платформ Intel
Благодаря огромной популярности персональных компьютеров существует много версий UNIX, доступных для платформ Intel. Выбор версии и поиск программного обеспечения для выбранной версии может оказаться непростым делом, поскольку индустрия UNIX не установила полного двоичного стандарта для платформы Intel. Существует две базовых категории систем UNIX на аппаратном обеспечении Intel: системы на базе SVR4 и старые, более устоявшиеся системы SVR3.2.
Среди поставщиков SVR4 такие компании, как NCR, IBM, Sequent, SunSoft (которая продает Solaris для Intel) и SCO (которая продает UnixWare 2.x). Последняя же, кроме того, является главным поставщиком SVR3.2. (системы SCO Open Server).
Исходные версии «UNIX»
Несколько версий UNIX и UNIX-подобных систем являются бесплатными или очень дешевыми и включают исходный код. Данные версии особенно привлекательны для современных программистов-любителей, которые теперь могут запускать систему UNIX дома, затратив совсем немного денег и получив прекрасную возможность для экспериментов с операционной системой или для адаптации системы «под себя».
Ранней UNIX-подобной системой была MINIX, написанная Эндрю Таненбаумом (Andrew Tanenbaum). Его книга «Операционные системы: Проектирование и реализации» описывает MINIX и включает распечатку исходного кода первоначальной версии MINIX. MINIX в двоичной форме имеется для нескольких машин (PC, Amiga, Macintosh и SPARCStation).
Самым популярным вариантом исходного кода UNIX является Linux (произносится «лин накс»). Linux была разработана группой программистов во главе с Линусом Торвалдсом для бесплатной замены UNIX и имела целью совместимость с POSIX. Сама Linux распалась на несколько вариантов, в основном версий, которые предлагают дополнительную поддержку или инструменты в обмен на лицензионную плату. Linux стала основной серверной платформой для малых или средних Internet Service Providers (Поставщики услуг Internet) и для серверов Web.
Внесение изменений в UNIX
Многие люди, рассматривающие возможность перехода к UNIX, привязаны к значительному числу приложений для MS-DOS и Microsoft Windows. Затрачены колоссальные усилия, чтобы в UNIX создать программы или пакеты, которые облегчили бы миграцию и предоставили пользователям возможность выполнять существующие приложения DOS и Windows на той же самой машине, на которой выполняется UNIX. По мере эволюционирования операционных систем Windows и Windows NT, этот сектор рынка также быстро меняется.
Введение в философию UNIX
Как было описано в разделе «История UNIX», UNIX корнями уходит в систему, которая задумывалась компактной и предоставляла бы простые общие фрагменты. Хотя большинство систем UNIX выросли в довольно большие системы, и монолитные приложения теперь не редкость, исходная философия по-прежнему живет в основных командах, доступных на всех системах UNIX. В UNIX существует несколько общих ключевых элементов:
Команды, соединенные каналами (pipe)
Преимущественно общий стиль интерфейса
Отсутствие типов файлов
Простые прямолинейные команды
Исходные системы UNIX были очень малы, и конструкторы пытались извлечь все преимущества из маленьких машин, создавая маленькие команды. Каждая команда пыталась сделать хорошо что-то одно. Инструменты можно было объединять (как с помощью сценариев оболочки, так и программами на С) для решения более сложных задач. Так, команда под названием we была написана исключительно для подсчета строк, слов и символов в файле. Для подсчета всех слов во всех файлах необходимо было ввести wc * и получить вывод, подобный тому, что представлен в листинге 1.1.
Листинг 1.1. Использование простой команды.
351 2514 17021 minix-faq
1011 5982 42139 minix-info
1362 8496 59160 total
Листинг 1.2. Использование конвейера.
Преимущественно общий стиль интерфейса
Листинг 1.3. Использование опций в конвейере.
Feb 14 16:02 1994 Page 1
[From Andy Tanenbaum 28 August 1993]
The author of MINIX, Andrew S. Tanenbaum, has written a book describing
Author: Andrew S. Tanenbaum
subjects.ast (list of Andy Tanenbaum’s
Andy Tanenbaum since 1987 (on tape)
Version 1.0 is the version in Tanenbaum’s book, «Operating Systems: Design
А плохая новость состоит в том, что некоторые команды UNIX по-разному обрабатывают опции. Однако, по мере того как все большее количество систем будет придерживаться стандартов, упомянутых в разделе «История UNIX», число нестандартных команд будет уменьшаться.
Отсутствие типов файлов
UNIX, как открытая среда разработки, имеет длинную историю. С недавних пор она стала системой, которую выбирают как для коммерческого, так и для персонального использования. UNIX выполняет типичные задачи операционной системы, и, кроме того, включает стандартный набор команд и библиотечных интерфейсов. Подход UNIX, предоставляющий пользователю и разработчику основные строительные блоки, делает эту систему идеальной для создания новых приложений.