Операционные системы. Управление ресурсами

         

Контрольные вопросы


  • Один из авторов [11] заявляет, что он не может дать определения ОС, но сразу узнает ОС, если ее увидит. В чем, по-Вашему, состоит ошибочность такого утверждения?
  • Прокомментируйте примечания 1-3 к определению ОС, данному в разделе 1.1. Покажите их отображения на реальные ОС.
  • Дайте определение пакетному и интерактивному режимам функционирования ОС. Какой из режимов представляется Вам более полезным?
  • В чем сходство работы многопользовательской ОС с ОС-сервером? В чем их различия?
  • Каковы достоинства и недостатки изоляции пользователя от реальных ресурсов?
  • Назовите основные состояния процесса в системе и охарактеризуйте переходы между ними. Какие состояния Вы считаете необязательными?
  • Почему ОС, называемые объекто-ориентированными, правильнее называть объектно-базированными?
  • Назовите общие черты архитектурных концепций микроядра, виртуальной машины и иерархической ОС. В чем различия между ними?
  • В чем достоинства архитектуры микроядра? Почему разработчики стремятся минимизировать объем микроядра?
  • Сравните способы обращения процесса к ОС: через вызов процедур и через прерывания. В чем достоинства и недостатки этих способов?

    НазадОглавлениеВперед


  • Какие требования предъявляются к дисциплинам планирования процессов? Назовите те пары требований, которые кажутся Вам взаимоисключающими.
  • Если ОС применяет дисциплину планирования с абсолютными приоритетами, то каким образом может получить процессор низкоприоритетный процесс?
  • Каковы показатели эффективности планирования процессов? Поясните их смысл для пользователя. Какие характеристики процессов являются существенными с точки зрения планирования?
  • В чем состоят достоинства, дисциплины FCFS, обеспечивающие ее частое применение?
  • Дисциплина планирования RR обеспечивает практически постоянное значение показателя P(t) на широком диапазоне значений t, но на краях этого диапазона значение P(t) резко возрастает. Объясните причину этого.
  • Предложите различные варианты обслуживания очередей на разных уровнях для дисциплины MLFB и обоснуйте их.
  • С каким из базовых алгоритмов планирования Вы можете связать алгоритм полураспада, применяемый в Unix?
  • По какой причине процесс, готовый к выполнению может быть исключен из очереди претендентов на выполнение?
  • Должен ли приоритет процесса в очереди на выполнение использоваться и в других очередях? Приведите соображения "за" и "против".
  • В чем преимущества и недостатки вытесняющих дисциплин планирования по сравнению с кооперативными?

    НазадОглавлениеВперед




  • Часто единственным достоинством виртуальной памяти называют возможность обеспечить для процесса объем виртуального адресного пространства, превышающий объем реальной памяти. Назовите другие достоинства виртуальной памяти.
  • В чем достоинства и недостатки преобразования виртуальных адресов в реальные во время выполнения программы? Какая часть работы по этому преобразованию выполняется аппаратным обеспечением, а какая - ОС?
  • Иногда считают, что виртуальная память может быть обеспечена только в системах с аппаратной поддержкой динамической трансляции адреса. Докажите, что это не так.
  • Почему при поиске свободной памяти стратегия "самый подходящий" оказывается хуже, чем "первый подходящий".
  • Сравните сегментную и страничную модели виртуальной памяти. Какая из них представляется Вам лучшей и почему?
  • Дополните приведенные в разделе 3.5. соображения по поводу выбора размера страницы.
  • Смоделируйте ситуацию применения дисциплины вытеснения FCFS, в которой увеличение числа реальных страниц приведет к увеличению числа страничных отказов.
  • Что такое кластерная подкачка страниц? Почему в современных ОС она становится все более популярной?
  • Каким образом ОС может определять, к каким страницам будут обращения в ближайшее время?
  • Большой размер виртуальной памяти процесса может приводить к тому, что даже таблица страниц не будет помещаться в реальной памяти. Какими путями решается эта проблема в современных ОС?
  • Каким образом снижение стоимости памяти влияет на дисциплины управления памятью?
  • Какие принципиальные изменения в концепции памяти может повлечь за собой увеличение разрядности адреса?

    НазадОглавлениеВперед






  • Каким образом при различных внутренних структурах и даже механизмах обращения к ОС может быть обеспечен одинаковый API для разных ОС?
  • Какие стадии оптимизации может проходить программа? Какие стадии оптимизации могут быть одинаковыми для программ, написанных на языках C, Pascal, Cobol, Fortran и на языке Ассемблера? Почему для современных процессорных архитектур оптимизация является обязательной?
  • В чем преимущества динамического связывания по сравнению со статическим?
  • Почему во многих современных ОС значительная часть системы выполняется в виде библиотек динамической компоновки?
  • Являются ли "родственные отношения" между процессами обязательными? Являются ли они полезными?
  • Сравните стратегии систем, в которых порождение процессов выполняется вызовом fork и вызовом load.
  • Для чего могут быть полезны списки выхода? Приведите примеры задач, для которых было бы целесообразно иметь список выхода, состоящий из более чем одной процедуры.
  • Дайте определение нити. Какие ресурсы являются собственными для нити?
  • Приведите примеры задач, решение которых требует применения нитей?
  • В некоторых клонах ОС Unix нет специального механизма нитей, но нити реализованы как процессы, наследующие адресное пространство родителя. Чем Вы объясните такое решение?

    НазадОглавлениеВперед




  • Приведите примеры ресурсов: разделяемых и монопольно используемых, непрерывных и дискретных, потребляемых и повторно используемых.
  • Какую информацию о ресурсах должна хранить ОС?
  • Почему иерархическое выделение ресурсов является весьма популярным во многих ОС?
  • В чем состоят ограничения на возможность применения алгоритма банкира?
  • В чем сходство безопасной и беступиковой ситуаций? В чем их различия?
  • В какие моменты ОС должна проводить действия по обнаружению тупика?
  • Какие соображения могут влиять на выбор процесса-жертвы при ликвидации тупика?
  • В чем достоинство дисциплины обслуживания FCFS для очередей к монопольно используемым ресурсам?

    НазадОглавлениеВперед




  • Охарактеризуйте методы виртуализации устройств в ОС. Приведите примеры их применения.
  • Почему даже при закреплении устройства за процессом устройство все равно остается виртуальным?
  • Чем Вы объясните столь долгое и успешное существование концепции каналов ввода-вывода?
  • Чем объясняется двухуровневая (как минимум) структура драйвера устройства?
  • В некоторых современных ОС драйверами называются также и модули ОС, не имеющие отношения к управлению устройствами. Чем может быть объяснен такой подход?
  • Назовите те функции, которые Вы считаете целесообразным добавить в драйвер клавиатуры для обеспечения большего удобства пользователю.
  • Каким образом можно обеспечить выдачу процессу "сигнала тревоги" через заданный интервал времени, если в системе нет программируемого интервального таймера?
  • В чем цель стратегии драйвера диска?
  • Сопоставьте потоки и многоуровневые драйверы. В чем их сходство и различия?
  • Какие цели преследует буферизация ввода-вывода?
  • Сопоставьте по эффективности три режима буферизации (пересылка, указание, подстановка), описанные в разделе 6.7.
  • Для чего нужен системный вызов ioctl? Приведите примеры устройств, для которых этот вызов совершенно необходим.

    НазадОглавлениеВперед




  • Поясните различие между виртуальным и физическим файлом.
  • Охарактеризуйте основные компоненты иерархической модели файловой системы. Какие преимущества дает иерархическая модель?
  • В чем различие между байториентированными и записеориентированными файлами? Назовите достоинства и недостатки той и другой модели.
  • В чем отличие логической структуры каталогов в MD DOS - Windows - OS/2 от структуры каталогов в Unix?
  • В чем достоинства и недостатки отделения дескриптора файла от элемента каталога?
  • Какую информацию о файле должен содержать его дескриптор, хранимый в файловой системе? Какую информацию должен содержать дескриптор открытого файла?
  • В чем сходство и различие каталогов и файлов (на логическом и на физическом уровнях)?
  • В чем сходство и различие алиасов и косвенных файлов?
  • Обязательно ли закрытие файла при завершении открывшего его процесса? Обязательна ли запись данных файла на диск при закрытии файла?
  • В чем отличие смежного размещения файлов в современных файловых системах от смежного размещения файлов в старых файловых системах?
  • Какими методами может быть обеспечено преимущественно смежное размещение файла на внешней памяти?
  • В чем отличие целостности файловой системы от целостности данных? Какую целостность и какими методами обеспечивают современные файловые системы?

    НазадОглавлениеВперед




  • Покажите, что задача синхронизации является частным случаем задачи взаимного исключения.
  • Для каких задач использование единственной общей переменной исключения может быть оправданным?
  • Сопоставьте свойства алгоритмов взаимного исключения, использующих атомарность команд и использующих атомарность обращений к памяти.
  • В состав семафора входит переменная взаимного исключения и скобки критической секции. Почему же потери на занятое ожидание в семафоре не могут быть значительными?
  • Какие ограничения имеются в решении задачи "производители-потребители" методом семафоров?
  • В чем преимущества встраивания критической секции в язык программирования? Покажите, как используются скрытые семафоры для реализации встроенной критической секции.
  • В чем преимущество использования мониторов? Покажите, как используются скрытые семафоры для реализации защищенных процедур.
  • Проблема вложенных вызовов мониторов может быть решена при помощи иерархической дисциплины, описанной в разделе 5.3. Покажите пути такой реализации.
  • Почему при применении групповых мониторов процедуры read и write не должны быть защищенными?
  • Покажите реализацию задачи "читатели-писатели" с исключением возможности бесконечного откладывания процесса-писателя.
  • В чем преимущества решения задачи "производители-потребители" методами счетчиков событий или секвенсоров перед методом семафоров?
  • Как, используя семафоры, реализовать счетчики событий и секвенсоры?
  • В каких ситуациях процесс, участвующий во взаимодействии по модели рандеву, может быть заблокирован?
  • Объясните реализацию семафора через рандеву.

    НазадОглавлениеВперед




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

    НазадОглавлениеВперед




  • В чем различие между избирательным и обязательным управлением доступом? Какой из этих подходов более надежен?
  • В чем преимущества объектно-ориентированных (объектно-базированных) ОС с точки зрения защиты?
  • Назовите те операции доступа, которые должны быть общими для любых типов объектов.
  • Назовите специфические операции доступа для объектов типа: файл, папка, программа.
  • В чем состоят процессы аутентификации и авторизации?
  • В каком виде может храниться в системе информация о правах доступа?
  • Что представляет собой "право" Exclude? Как оно применяется?
  • В чем состоит отличие полномочий от прав?
  • Опишите типовой сценарий процесса авторизации.
  • Чем объясняется необходимость введения классов пользователей?

    НазадОглавлениеВперед




  • В каких случаях целесообразно задавать условия выполнения программы в виде параметров глобального окружения, в виде параметров локального окружения, в виде параметров вызова?
  • Почему параметры вызова программы всегда имеют тип строки символов?
  • Что такое конвейеризация и чем она обеспечивается? Приведите примеры задач, легко решаемых при помощи конвейеризации.
  • Какие необязательные свойства командного интерпретатора могут сделать его более удобным в использовании?
  • Как при параллельном выполнени нескольких процессов в режиме командной строки определить процесс, выдавший сообщение на экран? Как адресовать ответ оператора определенному процессу?
  • Синтаксис язык C-shell создавался на основе языка программирования C, синтаксис языка REXX - на основе PL/1. В чем принципиальное отличие языков C-shell и REXX от их прототипов?
  • Назовите основные элементы интерфейса WIMP и их функции.
  • Какие свойства интерфейса WIMP полностью следуют метафоре рабочего стола? Какие ее расширяют?
  • Приведите соображения "за" и "против" встраивания графического интерфейса непосредственно в ОС.
  • На примере X Window объясните концепцию аппаратно-независимого интерфейса.

    НазадОглавлениеВперед



    Содержание раздела