Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Функции операционных систем персональных компьютеров ( Особенности UNIX систем.)

Содержание:

Введение

Операционная система, сокр. ОС (англ. operating system, OS) — комплекс взаимосвязанных программ, которые предназначены для управления ресурсами вычислительного устройства и организации взаимодействия с пользователем.

В большинстве вычислительных систем операционная система является основной и наиболее важной (а иногда и единственной) частью системного программного обеспечения.

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

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

Должно повысить качество работы этих специалистов. Высвободить время для эффективной работы. Дать ответы на многие вопросы.

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

Задачи исследования:

  1. Краткий экскурс в историю ОС.
  2. Рассмотрим функции и типы ОС.
  3. Проанализируем ОС UNIX и сравним с другими ОС.

Раздел 1. Краткая история возникновения операционных систем.

Наиболее популярными операционными системами для компьютеров являются семейства операционных систем Microsoft Windows и UNIX.

Windows берет начало от операционной системы MS-DOS, которой оснащались первые персональные компьютеры фирмы IBM. На данный момент общего между DOS и Windows практически нет.

Windows больше ориентирован на графический интерфейс при управлении, а классические UNIX системы на командную строку.

Из материалов Википедии:

По состоянию на август 2014 года под управлением операционных систем семейства Windows по данным ресурса NetMarketShare работает более 91% персональных компьютеров.

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

Компания Bell Labs получила 7 Нобелевских премий с 1937 по 2009 г. Почти все они связаны с технологиями применяемыми при изготовлении компьютеров. Напомним что в 1956 году Джон Бардин, Уильям Брэдфорд Шокли и Уолтер Хаузер Браттейн были удостоены Нобелевской премии за изобретение транзистора в 1947 году. За все время существования Bell Labs было получено более 27 тыс. патентов.

В 1955 году компания Bell Labs анонсировала первый транзисторный компьютер TRADIC.

Соответственно было выпущено компьютерное оборудование и надо было на нем работать.

Логика человека и компьютера разные по природе. Потребовалось упростить взаимодействие человека с машиной. Так появилась Операционная Система (ОС)

В 1957 году компанией Bell Labs была начата работа по созданию операционной системы для внутренних нужд.

Тогда были созданы система BESYS и проект Multics. В 1964 году появились компьютеры третьего поколения, для которых возможности BESYS уже не подходили. Разработчики приняли решение создать совместный проект с General Electric и MIT — Multics. Телекоммуникационный гигант AT&T, в состав которого входила Bell Labs, оказал проекту существенную поддержку.

В 1970-х группой сотрудников Bell Labs под руководством Денниса Ричи, Кена Томпсона и Брайана Кернигана (Dennis Ritchie, Ken Thompson, Brian Kernighan) в 1969 году были разработаны первые версии операционной системы UNIX и языка Си.

На основе этой системы на данный момент создано множество «UNIX-подобных» (англ. UNIX-like) операционных систем. Все они используют похожую архитектуру и технологии, и зачастую используют одинаковые инструменты.

И когда говорят об операционной системе UNIX, чаще всего имеют в виду не конкретную ОС, а скорее целое семейство UNIX-подобных операционных систем. Само же слово UNIX (заглавными буквами) стало зарегистрированной торговой маркой корпорации AT&T.

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

1.1.Особенности UNIX систем.

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

Таким образом они многопользовательские многозадачные.

Например, популярные ОС семейства Microsoft Windows не все являются многопользовательскими системами, а только специализированная линейка Server.

В обычных Windows в один момент времени за одним компьютером может работать только один человек. Существующие неофициальные способы снять это ограничение только подтверждают тот факт что ядро ОС просто не спроектировано для многопользовательских задач. Признак этого - резкое падение производительности и увеличение времени отклика ОС на возникающие события. Игнорируя это получаем результат - отказ в обслуживании (зависание) где снять задачу будет невозможно.

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

Другая особенность Unix в её мультиплатформенности.

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

Оно и разработано на портируемом языке Си. Это делает свободным выбор разработчиков программ конкретной аппаратной платформы.

Свободным от аппаратуры и производителя оказался и программист. Если ранее он работал с UNIX на VAX (VAX — 32-битная компьютерная архитектура, была разработана в середине 1970-x годов Digital Equipment Corporation как развитие линии PDP-11 в рамках проекта Star.), то теперь легко работал с ней же и на процессорах новой архитектуры.

Резюмируя все это.

UNIX — семейство переносимых, многозадачных и многопользовательских операционных систем.

Идеи, заложенные в основу UNIX, оказали огромное влияние на развитие компьютерных операционных систем. В настоящее время UNIX-системы признаны одними из самых исторически важных ОС.

UNIX имеет общие отличительные особенности:

- настройка, конфигурирование и управление посредством редактирования текстовых файлов;

- широкий функционал применения утилит, запускаемых из командной строки;

- интерфейс взаимодействия с пользователем посредством текстовой консоли;

- устройства физические и виртуальные представлены в виде файлов;

Раздел 2 Функции операционных систем.

Основные функции операционных систем - это управление ресурсами компьютера:

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

Некоторые ОС занимаются только распределением ресурсов. Контролируют свободен ресурс или занят. И по заявкам от программы выделяют или освобождают аппаратный ресурс. Такое реализуется только в однопользовательских системах, например, в DOS.

Такие системы простые и не требовательны к ресурсам (процессорное время и оперативная память).

Принцип такой, программа запущенная под ОС запрашивает у ОС ресурсы, система оценивает их по определенным критериям (достаточно памяти, готово оборудование и т.д.) и предоставляет или не предоставляет (соответственно возвращает программе ошибку).

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

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

Эта функция используется в многопользовательских и многозадачных системах.

Многопользовательским системам особенно важно иметь гарантии всегда получать необходимое количество ресурсов.

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

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

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

Современные представления о том, что должна уметь делать ОС:

- загрузка пользовательских программ в оперативную память и выполнение (исключение составляют встраиваемые ОС прошитые в постоянной памяти ПЗУ);

- управление памятью;

- обеспечение работы с устройствами долговременной памяти (накопители на жестких магнитных дисках, накопители на магнитной ленте, магнитооптические диски, оптические диски, накопители на основе флеш-памяти). Структурирует размещение данных посредством создания файловых систем;

- стандартизированный доступ к периферийным устройствам;

- предоставление пользовательского интерфейса (текстовая строка или графический пользовательский интерфейс). Встраиваемые системы могут не иметь пользовательского интерфейса.

Например, функции MS-DOS на этом заканчиваются.

Далее, возможности, представляемые более развитыми операционными системами:

- параллельное выполнение нескольких задач;

- организация взаимодействия задач друг с другом;

- организация взаимодействия компьютеров друг с другом и разделения ресурсов;

- защита системных ресурсов, программ и данных пользователя от ошибочных или злонамеренных действий пользователей и программ;

- аутентификация пользователя за компьютером, авторизация для получения права выполнять операции, и др. средства относящиеся к безопасности ОС.

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

Основные функции:

- загрузка программ и исполнение в оперативной памяти,

- управление оперативной памятью,

- управление периферийными устройствами

- обеспечение интерфейса пользователя,

- организация и обслуживание файловой системы,

- ведение протокола работы системы, журналирование системных событий,

- выполнение запросов программ (запуск и остановка программ, ввод и вывод данных)

Дополнительные функции:

- многозадачность,

- защита области вычисления процессов одного от другого,

- защита системы и пользовательских данных от злонамеренных действий самих пользователей и программ,

2.1 Виды операционных систем.

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

2.1.1 С загрузчиком и без.

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

Системы с энергонезависимой памятью оснащаются ПЗУ или флеш-памятью. ОС там уже готова к исполнению.

И называются встраиваемые системы (Embedded system). Применяются в бытовой технике, технологическом оборудовании, автомобилях.

В последнее время появились модульные системы. Они могут работать как обычные ОС, так и прошиваться в ПЗУ. Разумеется, состав и конфигурация ядра в этих случаях разные.

Но программные интерфейсы остаются совместимыми.

2.1.2.По способу управления оперативной памятью.

Управление оперативной памятью и энергонезависимой памятью.

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

Например, непреднамеренная модификация данных вызванная ошибками программирования.

Или злонамеренный пользователь может целенаправленно прочитать любые данные в оперативной памяти и внешних устройствах.

2.1.3 Дисковые операционные системы.

Работают с открытой памятью и не защищают код и данные загруженных задач друг от друга.

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

Доступ к периферийным устройствам не контролируется.

Простейшие ДОС являются однозадачными операционными системами.

Например: загрузочный монитор ZX-Spectrum совместимого компьютера, некоторые игровые приставки.

Более сложные ДОС представляют собой многозадачные системы.

Например: DR-DOS, Windows 95/98/ME, MacOS до 9 версии, PalmOS, серверная ОС Novell NetWare.

Главное достоинство – низкие требования к вычислительным ресурсам.

      1. Операционные системы ОС.

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

Диспетчер памяти обеспечивает адресацию памяти, зависимую от контекста, так что разные задачи видят различные адресные пространства и логически

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

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

полезных функций, например, управление доступом к адресам, на которые отображены порты периферийных устройств, защиту некоторых областей

памяти от записи или исполнения (что позволяет в определенных пределах

защитить программу от самой себя) и страничную подкачку (имитацию опе­ративной памяти большого объема за счет подкачки с диска тех областей па­мяти, к которым происходит обращение).

Виртуальная память позволяет защитить пользовательские задачи друг от друга и реализовать эффективные средства безопасности. Однако это сопро­вождается значительным ростом требований к ресурсам.

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

только этой задачи или, в крайнем случае, тех задач, которые с ней были тесно взаимосвязаны, но не к падению системы в целом. Это дает неоценимые преимущества для многопользовательских компьютеров, например, для сетевых серверов, поэтому в системах коллективного пользования ДОС практи­чески не используются с конца 60­x ­начала 70­x годов. Само возникнове­ние деления на ОС и ДОС относится примерно к этому же периоду и проис­ходит от систем DOS/360 и OS/360 для компьютеров серии IBM System 360.

Для некоторых современных ОС существуют программные надстройки, дополнительно изолирующие группы задач друг от дpyгa. Например chroot, системы контейнерной виртуализации. Обеспечивающие гарантирован­ное качество обслуживания, независимое управление учетными записями пользователей. Так каждая группа процессов работает со своим системным окружением. И даже независимую "перезагрузку" каждой из таких виртуализованных ОС. Такие надстройки находят применение в системах коллективного пользования, особенно в организациях, предоставляющих услуги Wеb­-хостинга и других провайдерах сервисах. Их часто ошибочно называют системами виртуальных машин.

Переход от ДОС к ОС сопровождается радикальной сменой подхода к работе с периферийными устройствами. ДOС­ позволяет прикладной программе работать с периферийным устройством (например графическим адаптером) непосредственно.

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

      1. Системы виртуальных машин.

Системы виртуальных машин используют промежуточные транслирующие

слои для доступа не только к оперативной памяти, но и к внешним устройствам.

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

работает с периферийными устройствами непосредственно. Транслирующий слой подсистемы ввода/вывода полностью прозрачен.

Если аппаратная поддержка систем виртуализации реализована на уровне аппаратуры процессора, то система виртуальных машин позволяет запускать в качестве задач целые операционные системы.

Применение:

  • Запуск нескольких копий ОС, в которых будут работать несовместимые приложения.
  • Тестирование приложений под разными ОС. Например, клиент-серверные связки приложений, где серверная часть работает под Linux, а клиентская под Windows.
  • Тестирование кроссплатформенного ПО под разными ОС.
  • Запуск приложений, предназначенных для работы под устаревшими ОС

После выхода на рынок процессоров Pentium II, предоставлявших возможность, виртуализации диспетчера памяти, довольно быстро появился целый ряд универсальных систем виртуализации: VMWare, Connectix Virtual РС (в 2003 году был куплен Мiсrоsоft) и др.

Эти системы виртуализации работают в качестве задач под управлением ОС­

"хоста" (Host operating system), обычно Windows и/или UNIX.

Вместо виртуализации доступа к реальной аппаратуре РС эти СВМ эмулируют наиболее распространенное оборудование (адаптеры HDD, популярные

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

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

      1. Гетерогенные вычислительные среды.

В некотором роде схожи с системами виртуализации.

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

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

В качестве примера реализаций подобных систем можно привести следующие:

  • платы расширения для материнских плат стандарта IBM PC содержащие процессорные модули System/370 и System/390. Такая плата расширения представляет собой всего лишь канал ввода-вывода. Но это бывает необходимо и достаточно чтобы снять нагрузку с центрального процессора для обработки информации в этом канале. Это становилось возможным благодаря модулям ядра ОС, запущенной на этом PC.
  • Платформа кластеров Sun Solaris. Позволяет запускать несколько копий Solaris на многопроцессорных серверах Sun. Возможна независимая перезагрузка экземпляров ОС и перераспределение ресурсов.
  • Платформа IBM System/390 и z/9000 позволяет также запускать несколько копий System/390 z/OS и Unix одновременно и архитектурно смешанно. Возможна также независимая перезагрузка экземпляров ОС и перераспределение ресурсов.

Раздел 3 Управление временем центрального процессора.

Нам известно, что элементарная сущность запрашивающая и получающая оперативную память называется задачей.

Сущность запрашивающая процессорное время называется процессом.

В традиционных ОС понятие процесса тождественно понятию нити.

Современные системы допускают создание нескольких нитей для одной задачи.

Это важно и поэтому не стоит путать понятия задача и процесс.

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

Более детально разложим ситуацию таким образом:

  1. Однопроцессные (однозадачные) системы.

Не распределяют время центрального процессора. Система передает управление приложению и получает его назад только во время системного вызова. Если программа перестанет отвечать, то система не получит управление никогда.

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

  1. Кооперативные многопроцессные системы.

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

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

Такая архитектура использовалась в MS Windows 3.11, MacOS 9, Palm OS 4.

Еще одним специфическим примером является многопользовательская кооперативно-многозадачная ДОС Novell Netware. Специфичность состояла в том, что она занимала узкую нишу файловых серверов. В конце 90-х годов потребности рынка стали шире, функций от серверной системы потребовалось больше. В итоге они и сегодня еще где-то используются на устаревшем оборудовании или работоспособном и не требовательном к ресурсам окружении.

  1. Вытесняющие многопроцессные системы.

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

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

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

В своей реализации такие системы требуют решения следующих задач:

а. передавать управление реагируя на внешние события, и на сигналы системного таймера. Это называется механизм прерываний.

б. переключать управление не нарушая работу всей системы и не теряя данные.

По тому как система распределяет время процессора их можно разделить на три класса:

Однопользовательские интерактивные системы.

Имеют среднее время реакции на событие. В это качестве выступают однозадачные, кооперативные и вытесняющие многозадачные системы.

Многопользовательские интерактивные системы (системы разделенного времени).

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

Системы реального времени.

Позволяют максимально быстро реагировать на внешнее событие. Используются обычно в не интерактивных приложения.

  1. Системы разделенного времени.

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

Терминальные серверы.

  1. Системы реального времени.

Довольно долго при разработке приложений реального времени (РВ) обходились вообще без ОС. В крайнем случае использовали однозадачную ДОС в качестве загрузчика и средства управления вспомогательными ресурсами.

Такое приложение должно было содержать собственный планировщик и средства межпроцессного взаимодействия. В итоге программа являлась практически полноценной ОС сложной и дорогой.

Интересно отметить что разнообразные мультимедиа комплексы предъявляют такие же требования что и промышленные системы РВ.

Soft real time платформы Win32 не может являться реальным временем вообще.

Все дело во времени реакции. Т.н. «мягкое» реальное время обеспечивает не максимально быстрое время реакции, а всего лишь хорошее среднее время реакции на событие.

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

Раздел 4 Семейства операционных систем.

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

На основании принадлежности можно построить древовидную классификацию.

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

Большим контрастом выделяются три семейства.

Семейство 1.

Системы для суперкомпьютеров IBM.

MVS, OS/390 и z/OS.

Семейство 2.

Unix.

Делятся на 3 подвида.

Подвид 1.

Unix System V Release 4.х: Sun Solaris, SCO Unixware, SGI Irix.

Подвид 2.

Berkeley Software Distribution Unix: BSDI, FreeBSD и другие ветви BSD,

а также построенная на ядре FreeBSD MacOS Х.

Подвид 3.

Linux.

Кроме этих, в семейство входит еще Minix, IBM AIX, HP/UX, Tru64 и др.

Некоторые разработаны с нуля (Minix), другие основаны на исходниках Unix System V Release 3 и/и­ли BSD Unix. Принадлежность некоторых – вопрос сложный и являющийся предметом дискуссий. Часто разработчиков тысячи, живут по всему миру, участвуют в сотнях проектов перенося разработки и знания в различные сообщества.

Семейство 3.

Потомки Control Program/Monitor (CP/M) компании Digital.

Сюда входят: полноценные ОС Windows NT/2000/XP/2003, переходные ОС Windows 95/98/ME, разработанная с нуля ОС для карманных компьютеров Windows CE.

Раздел 5 Выбор операционной системы.

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

Например, есть программные продукты накладывающие жесткие ограничения, которым соответствуют только определенные системы.

А это требует достаточно глубоких знаний архитектуры и технологий, заложенных в ОС.

Например, управление технологическим и исследовательским оборудованием в режиме реального времени потребуют сделать выбор между специализированными ОС реального времени и ОС общего назначения Unix подвида Unix System V Release 4. Специализированные ОС реального времени QNX, VxWorks, OS­9 подойдут гарантированно по параметру Реальное Время (РВ), а с Unix System V Release 4 иногда могут возникнуть небольшие вопросы (это не ошибки, а особенности архитектуры). Но разнообразие дополнительного ПО для ОС Solaris может оказаться решающим фактором выбора (если некоторые отклонения РВ не так критичны).

Еще серверы баз данных со специализированным ПО, кроме того, что требуют высокой надежности и производительности еще требуют реализации специализированных ядра ОС и стека TCP/IP. Это отметает ДОС и ОС Windows.

И будут задачи автоматизации офисной работы в небольших организациях где нет высоких требований к надежности и производительности где при выборе учитываются и другие факторы (стоимость, доступность специалистов осуществляющих развертывание и поддержку). И вероятно там ОС общего назначения лучшим образом найдут свое применение (Windows, Mac OS).

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

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

На эту ситуацию можно посмотреть с разных сторон.

Например, существуют серверные продукты компании Microsoft, они широкодоступны и тщательно протестированы. Windows Server это универсальная система с огромным запасом производительности. Многие компании используют именно Active Directory, как LDAP каталог, для хранения в её базе данных, разнообразной информации (даже хранят информацию из Системы Контроля и Управления Доступом в помещения о том, кто куда, когда вошел или вышел). Она поддерживает несколько сотен логических процессоров. Она обладает собственным механизмом резервного копирования что увеличивает надежность.

И тут, надо полагать, Windows Server - лучший выбор.

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

Тогда выбор становится не так очевиден.

Альтернативой проприетарных систем являются открытые системы.

Задачи взаимодействия в них решаются при помощи открытых стандартов – стандартных сетевых протоколов, стандартных форматов данных, стандартизации API интерфейсов, стандартизации пользовательского интерфейса. И администраторы «старой школы» считают лучшим выбором решения для серверов системы Unix вообще.

Например, Red Hat Enterprise Linux. Один из самых популярных коммерческих Linux на сегодняшний день. Предназначен для корпоративного сектора. Открытый – здесь не значит бесплатный. Существует необходимость его покупки. Да и для техподдержки требуется наличие лицензии.

Red Hat широко доступен, имеет большое пакетное разнообразие. В работе надежен, обеспечивает безопасность и сохранность данных. При этом он достаточно современен - В Red Hat Enterprise Linux реализовано множество наработок, существенно повышающих производительность системы.

Если нет возможности приобрести лицензию необязательно отказываться от Red Hat. Существует CentOS. Он построен на той же самой пакетной базе. Но используются более новые версии пакетов и внедрены технологии, проходящие обкатку. В целом вся система проходит более короткий тестовый период (возможно для разработчиков это и есть некий полигон для испытаний). Соответственно, CentOS потенциально может содержать большее количество недоработок.

Другая надежная и проверенная годами – операционная система Debian.

Следует отметить, что этот дистрибутив Linux универсален, применяется как на серверах, так и нах рабочих станциях.

Поддерживается более 15 различных архитектур процессоров. Универсален в вопросе выбора разрядности (пользователи 64-х разрядной сборки могут иметь полный доступ к пакетам 32-х разрядных программ).

Debian –  отличное решение для сервера, от которого требуется стабильная надежная работа. Однако традиционным недостатком этой ОС считается консервативность. В дистрибьютив не часто включают свежие релизы. И компоненты штатных сборок успевают устареть к моменту «заморозки» и выхода.

На основе Debian разрабатывается множество (более сотни) самостоятельных дистрибутивов.

Один из них самый типичный и яркий – это Ubuntu.

Более свежие версии пакетов. Более активное взаимодействие тестировщиков. Большая популярность. Более полная документированность.

Ну и наверное самое интересное решение в этом сегменте - это FreeBSD.

Эта система отличается надежностью (принято считать, что на серверах под управлением FreeBSD аппаратная часть «умирает» раньше, чем система) и безопасностью (количество обнаруживаемых уязвимостей в десятки раз меньше, чем, к примеру, на Linux).

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

Заключение

Дальнейшее развитие UNIX архитектуры продолжается. Коллектив создавших UNIX специалистов, развил концепцию унификации объектов операционной системы, включив в исходную концепцию UNIX «устройство — это тоже файл» также и процессы, и любые другие системные, сетевые и прикладные сервисы, создав новую концепцию: «что угодно — это файл». Эта концепция стала одним из основных принципов системы Plan 9.

Кроме реализации всех объектов системы в виде файлов и размещения их на едином и персональном для каждого терминала вычислительной сети пространстве (namespace), были пересмотрены другие архитектурные решения UNIX. Например, в Plan 9 отсутствует понятие «суперпользователь», и, соответственно, исключаются любые нарушения режима безопасности, связанные с нелегальным получением прав суперпользователя в системе. Для представления (хранения, обмена) информации Роб Пайк и Кен Томпсон разработали универсальную кодировку UTF-8, на сегодняшний день ставшую стандартом де-факто. Для доступа к файлам используется единый универсальный протокол 9P, по сети работающий поверх сетевого протокола (TCP или UDP). Таким образом, для прикладного ПО сети не существует. И доступ к локальным и к удалённым файлам единообразен. 9P — байт-ориентированный протокол, в отличие от других подобных протоколов, являющихся блок-ориентированными. Это также результат работы концепции: доступ побайтно — к унифицированным файлам, а не поблочно — к разнообразным и сильно изменяющимися с развитием технологий устройствам. Для контроля доступа к объектам не требуется иных решений, кроме уже существующего в операционной системе контроля доступа к файлам. Новая концепция системы хранения избавила администратора системы от изнурительного труда по сопровождению архивов и предвосхитила современные системы управления версиями файлов.

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

Разнообразие архитектур вычислительных средств, используемых в современных информационных системах, привлекает все больше разработчиков движимых своей идеей о том, как должна выглядеть современная идеальная операционная система. Много архитектур, много приверженцев. Много отраслей экономики, науки и техники. Количественно - это как возведение в степень. И вот к этому архитектурному делению предъявляют еще классификации - по производительности и функциональному набору.

Получилась большая дискретность. И есть требование чтобы они обладали совместимостью. Чтобы могли функционировать в одной сети, обмениваться данными.

Имея представление об основах построения операционных систем, их свойств и реализации их функций позволяет строить эффективные Информационные Системы. Быстрые, надежные и дешевые.

Например: сложная коммерческая вычислительная программная оболочка работающая под управлением проприетарной ОС использует в качестве сервера базы данных свободное серверное ПО в качестве ОС и сервера базы данных.

И дальше – чем глубже знания архитектуры операционных систем, тем легче написание программного обеспечения. Знание API интерфейса позволяет проще реализовывать функции программ избегая конфликтов и необходимости изобретать велосипед.

Список литературы

  1. Армстронг Джеймс “Секреты UNIX” Санкт-Петербург, 1998 г.
  2. Дайсон Питер “Unix. Настольный справочник” 395 с. ЛОРИ 1997 г.
  3. Курячий Г.В., Маслинский К.А. Операционная система Linux. – М.: Интуит.Ру, 2005. – 392 с.: ил.
  4. Курячий Г.В. Операционная система UNIX. – М.: Интуит.Ру, 2004. – 292 с.: ил.
  5. Манн Скотт, Эленн Митчелл, Митчелл Крелл Безопасность Linux. – М.: Вильямс, 2003. – 624 с.: ил.
  6. Соловьёв А. Программирование на shell.
  7. Таненбаум Э. Современные операционные системы - СПб.: Изд. Питер, 2002.
  8. Д. Тейнсли Linux и UNIX: программирование в shell. Руководство разработчика. – К.: Издательская группа BHV, 2001. – 464 с.: ил.
  9. Джек Такет (мл.), Стив Барнет Использование Linux. Специальное издание. – М.: Вильямс, 2000. – 784 с.: ил.
  10. Манн Скотт, Митчелл Крелл Linux. Администрирование сетей TCP/IP. Пер. с англ. – М.: ООО «Бином-пресс», 2003. – 656 с.: ил.
  11. Иртегов. Д.В. Введение в операционные системы. – 2-е изд., перераб. и доп. – СПб.: БХВ-Петербург, 2008. – 1040 с.: ил.
  12. Internet-ресурсы:
  • http://www.linuxcenter.ru/lib/books/shell/, http://megalib.com/
  • http://www.e-biblio.ru/cgi-bin/lib.pl?func=book&level=&book=1619
  • http://ebiblio.ru/book/bib/01_informatika/OS_Unix/Book.html#_Toc203376508
  • https://ru.wikipedia.org/wiki/%D0%9B%D0%B0%D0%B1%D0%BE%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B8%D0%B8_%D0%91%D0%B5%D0%BB%D0%BB%D0%B0