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



1) Кооперативную многозадачность можно назвать многозадачностью «второй ступени» поскольку она использует более передовые методы, чем простое переключение задач, реализованное многими известными программами (например, DOS Shell из MS-DOS 5.0 при простом переключении активная программа получает все процессорное время, а фоновые приложения полностью замораживаются. При кооперативной многозадачности приложение может захватить фактически столько процессорного времени, сколько оно считает нужным. Все приложения делят процессорное время, периодически передавая управление следующей задаче.

Преимущества кооперативной многозадачности: отсутствие необходимости защищать все разделяемые структуры данных объектами типа критических секций и mutex’ов, что упрощает программирование, особенно перенос кода из однозадачных сред в многозадачные.

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

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

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

Недостатки: необходимость особой дисциплины при написании кода, особые требования к его реентрантности, к защите всех разделяемых и глобальных данных объектами типа критических секций

Вопрос. Сведения об архитектуре Windows: виртуальные машины.

Виртуальная машина — это:

1) программная и/или аппаратная система, эмулирующая аппаратное обеспечение некоторой платформы и исполняющая программы для этой платформы на другой платформе

2) или виртуализирующая некоторую платформу и создающая на ней среды, изолирующие друг от друга программы и даже операционные системы;

3) также, спецификация некоторой вычислительной среды (например: «виртуальная машина языка программирования Си»).

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

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

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

- Виртуальные машины могут использоваться для:

- защиты информации и ограничения возможностей программ;

- исследования производительности ПО или новой компьютерной архитектуры;

- эмуляции различных архитектур (например, эмулятор игровой приставки);

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

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

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

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

- тестирования и отладки системного программного обеспечения;

Примеры виртуальных машин - Систе́ма виртуа́льных маши́н (СВМ), Virtual Iron, Xen.

Вопрос. Управление приложениями в Windows: асинхронная обработка сообщений, планирование приоритетов приложений.


Дата добавления: 2019-02-22; просмотров: 367; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!