Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы по ОССиО.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
427.52 Кб
Скачать
  1. Управление процессами и памятью: совместное использование и защиты памяти.

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

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

  1. Управление процессами и памятью: способы реализации мультипрограммирования.

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

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

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

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

Для управления доступом к дисплеям и клавиатурам можно определить оперативные (foreground) и фоновые (background) задачи. Оперативной задаче отдается контроль над клавиатурой и всем пространством экрана; все остальные задачи являются фоновыми.

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

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

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