Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Олифер. Сетевые операционные системы.docx
Скачиваний:
8
Добавлен:
01.07.2025
Размер:
16.5 Mб
Скачать

Задачи и упражнения

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

  1. привилегированный режим;

  2. защищенный режим;

  3. режим супервизора;

  1. пользовательский режим;

  2. реальный режим;

  3. режим ядра.

  1. Можно ли, анализируя двоичный код программы, сделать вывод о невозможности ее выполнения в пользовательском режиме?

  2. В чем состоят отличия в работе процессора в привилегированном и пользовательском режимах?

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

  4. Какие этапы включает разработка варианта мобильной ОС для новой аппа­ратной платформы?

  5. Опишите порядок взаимодействия приложений с ОС, имеющей микроядерную архитектуру.

  6. Какими этапами отличается выполнение системного вызова в микроядерной ОС и ОС с монолитным ядром?

  7. Может ли программа, эмулируемая на «чужом» процессоре, выполняться быстрее, чем на «родном»?

Глава 4. Процессы и потоки

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

Мультипрограммирование

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

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

Наиболее характерными критериями эффективности вычислительных систем являются:

  • пропускная способность, то есть количество задач, выполняемых вычислительной системой в единицу времени;

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

  • реактивность системы, то есть способность системы выдерживать заранее заданные (возможно очень короткие) интервалы времени между запуском программы и получением результата.

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