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

7, Системные вызовы

Системный вызов - это обращение из кода в User Mode (User Space) к коду ядра. Самые важные функции находятся как раз в ядре

Реализация системных вызовов должна обеспечивать:

• переключение в привилегированный режим;

• высокую скорость вызова процедур ОС;

• по возможности единообразное обращение к системным вызовам для всех аппаратных платформ, для которых предназначена ОС;

• возможность расширения набора системных вызовов;

• контроль со стороны ОС использования системных вызовов

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

Системные вызовы бывают синхронными (процесс прерывается для обработки системного вызова) и асинхронными (данные при обработке сразу передаются в процесс)

Схема обработки системных вызовов:

Децентрализованная схема (обращения происходят напрямую)

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

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

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

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

3. Исключения – реакция микропроцессора на нестандартную ситуацию, возникшую внутри микропроцессора во время выполнения некоторой команды программы (деление на 0, трассировка) обрабатываются специальными модулями ядра

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

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

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

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

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

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

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

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

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

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

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

Гипервизоры – мониторы ВМ

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

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

Гипервизоры второго типа (хостовые гипервизоры)

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

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

Контейнеры (Docker)

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

+Гибкая среда (меньше расходов в производительности и размере)

+Повышенная производительность

+Управление версиями

+Стандартизация

+Безопасность (изоляция)

-Повышенная сложность (при n числе контейнеров, работающих с приложением, также увеличивается коэффициент сложности)

-Поддержка Native Linux

Соседние файлы в предмете Операционные системы