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

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 29.06.2023

Просмотров: 50

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

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

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

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

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

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

только этой задачи или, в крайнем случае, тех задач, которые с ней были тесно взаимосвязаны, но не к падению системы в целом. Это дает неоценимые преимущества для многопользовательских компьютеров, например, для сетевых серверов, поэтому в системах коллективного пользования ДОС практи­чески не используются с конца 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 может оказаться решающим фактором выбора (если некоторые отклонения РВ не так критичны).