Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Os_Otvety.docx
Скачиваний:
145
Добавлен:
01.04.2022
Размер:
32.58 Mб
Скачать

8. Прерывания (понятие, классификация, обработка прерываний).

Это все что было в презентациях…

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

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

9. Требования, предъявляемые к современным ос.

  1. максимальная скорость выполнения

  2. прозрачность работы служебных программ (незаметность)

  3. гарантированная надежность

  4. минимальность машинного кода

  5. использование стандартных средств для связи с прикладными программами

  6. расширяемость, переносимость, совместимость

  7. надежность, отказоустойчивость

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

Переносимость (многоплатформенность) дает возможность перемещать всю систему на машину, базирующуюся на другом процессоре или аппаратной платформе, делая при этом по возможности небольшие изменения в коде

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

10. Виртуализация. Гипервизор 1 и 2 типа. Контейнеры.

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

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

Гипервизоры первого типа (автономные гипервизоры).

ГИПЕРВИЗОРЫ - МОНИТОРЫ ВИРТУАЛЬНЫХ МАШИН (КОРОЛЬКОВА)

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

К гипервизорам первого типа относятся: Microsoft Hyper-V , VMware ESX / ESXi. KVM, Citrix Hypervisor (Xen), Oracle VM Server для SPARC, Oracle VM Server для x86

Гипервизоры второго типа

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

К гипервизорам второго типа относятся VMware Workstation, VMware Player, VirtualBox, Parallels Desktop для Mac.

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

Контейнеры (Docker - это контейнер)

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

ПРЕИМУЩЕСТВА КОНТЕЙНЕРОВ

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

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

Управление версиями позволяет отслеживать версии контейнера, следить за различиями между ними и т. д. Переносимость среды вычислений. Контейнеры инкапсулируют все соответствующие детали, такие как зависимости приложений и операционные системы, необходимые для запуска приложения. Это облегчает переносимость образа контейнера из одной среды в другую. Например, один и тот же образ можно использовать для работы в среде Windows/Linux или dev/test/stage. Стандартизация. Большинство контейнеров основаны на открытых стандартах и могут работать во всех основных дистрибутивах Linux, Microsoft и т. д.

Безопасность. Контейнеры изолируют процессы одного контейнера от другого и от базовой инфраструктуры. Таким образом, любое обновление или изменение в одном контейнере не влияет на другой контейнер.

НЕДОСТАТКИ КОНТЕЙНЕРОВ

Повышенная сложность: при n числе контейнеров, работающих с приложением, также увеличивается коэффициент сложности. Управление множеством контейнеров может быть сложной задачей в производственной среде. Такие инструменты, как Kubernetes и Mesos, могут облегчить управление большим количеством контейнеров. Также сложность заключается в том, что обычно в контейнер «пакуется» гораздо больше ресурсов, чем нужно, а это приводит к разрастанию образа и большому размеру контейнера.

Поддержка Native Linux: большинство контейнерных технологий, таких как Docker, основаны на Linux-контейнерах (LXC). Поэтому запуск этих контейнеров в среде Microsoft - немного неуклюжий процесс.