- •2. Поясните принцип многозадачности современных операционных систем.
- •3.Каким образом осуществляется синхронизация потоков? Что такое критический ресурс? Что такое критическая секция?
- •4. Изложите алгоритм Деккера, позволяющий разрешить проблему взаимного исключения путем использования одной только блокировки памяти.
- •5. Расскажите о семафорах Дейкстры. Чем обеспечивается взаимное исключение при выполнении примитивов p(открытие) и V (закрытие)?
- •6 Что такое семафор? Изложите, алгоритм взаимного исключения с использованием семафоров?
- •7. Что такое Мьютекс? Изложите, алгоритм взаимного исключения с использованием Мьютексов?
- •8. Изложите алгоритм решения задачи «поставщик-потребитель» при исполь¬зовании семафоров Дейкстры
- •9. Изложите алгоритм решения задачи «читатели-писатели» при использова¬нии семафоров Дейкстры
- •10. Что такое «монитор Хоара»? Приведите пример такого монитора
- •11. Перечислите и поясните основные функции операционных систем, которые связаны с управлением задачами.
- •12. В чем заключается основное различие между планированием процессов и дис¬петчеризацией задач? Какие виды планирования Вам известны?
- •13. Что такое стратегия обслуживания? Перечислите известные вам стратегии об¬служивания.
- •14. Какие дисциплины диспетчеризации задач вы знаете? Поясните их основные идеи, перечислите достоинства и недостатки.
- •15. В чем суть вытесняющей и невытесняющей многозадачности. Какие дисциплины диспетчеризации следует отнести к вытесняю¬щим, а какие – к невытесняющим.
- •16. Как можно реализовать механизм разделения времени, если диспетчер задач работает только по принципу предоставления процессорного времени задаче с максимальным приоритетом?
- •17. Что такое «гарантия обслуживания»? Как ее можно реализовать?
- •18. Опишите механизм динамической диспетчеризации, реализованный в системах Windows nt.
- •20. Объясните и сравните алгоритмы «первый подходящий», «самый подходящий» и «самый неподходящий», используемые при поиске и выделении фрагмента памяти.
- •21. Что такое «фрагментация памяти»? Какой метод распределения памяти позволяет добиться минимальной фрагментации и почему? Что такое «уплотнение памяти»? Когда оно применяется?
- •22. Объясните сегментный способ организации виртуальной памяти. Что представляет собой (в общем случае) дескриптор сегмента? Каким образом вычисляется физический адрес в памяти?
- •23. Объясните страничный способ организации виртуальной памяти. Что представляет собой (в общем случае) дескриптор страницы? Каким образом вычисляется физический адрес в памяти?
- •28 Каким образом устанавливается соответствие между окном и его обработчиком?
- •29. Каким образом создаются окна и элементы управления?
- •30. Что такое файл, файловая система, система управления файлами?
- •31. Основные функции систем управления файлами и их назначение. Перечислите известные Вам файловые системы.
- •32. Опишите структуру раздела с файловой системой fat32. В чем её преимущества и недостатки?
- •33. Опишите структуру раздела с файловой системой ntfs. В чем её преимущества и недостатки?
- •34. Опишите структуру раздела с файловой системой hpfs. В чем её преимущества и недостатки?
20. Объясните и сравните алгоритмы «первый подходящий», «самый подходящий» и «самый неподходящий», используемые при поиске и выделении фрагмента памяти.
ОС ведет список свободных и занятых блоков, каждый из которых характеризуется своим размером.
При этом становиться вопрос: Какой блок выделить к задаче?
Существуют методы:
1.Первый подходящий.
Из всех свободных блоков идентифицируется первый блок достаточного размера.
«+» - высокая скорость и простота управления блоками.
«-» - высокая фрагментация.
2. Самый подходящий.
Список свободных блоков упорядочивается по возрастанию. Для задачи выделяется 1-й найденный блок достаточного размера.
«+» - уменьшение фрагментации.
«-» - достаточно долгое время поиска блока необходимого размера (в среднем нужно пройти пол списка).
3.Самый неподходящий.
Список свободных блоков сортируется в порядке убывания блоков (размера) и новая задача выдел. фрагмент от этого раздела. При этом существует высокая вероятность того, что оставшийся фрагмент останется достаточно большим для распределения задачи.
«+» - каждый раз при выделении памяти берётся из первого блока, что существенно сокращает затраты на выбор необходимого блока.
«-» - в какой-то момент времени может возникнуть ситуация, когда ни один из свободных блоков не будет достаточным для распределения задачи.
21. Что такое «фрагментация памяти»? Какой метод распределения памяти позволяет добиться минимальной фрагментации и почему? Что такое «уплотнение памяти»? Когда оно применяется?
Когда блоки доступной памяти располагаются между участками распределенной памяти, то говорят, что происходит фрагментация памяти. Хотя свободной памяти, как правило, бывает достаточно, чтобы удовлетворить запрос памяти, однако трудность заключается в том, что размеры отдельных участков свободной памяти недостаточны для этого, несмотря на то, что при их объединении получится достаточный объем памяти.
В связи с тем, что суммарный объём памяти может быть достаточен для распределения новой задачи, но при этом не существует, ни одного блока достаточного для вмещения, возникает необходимость в уплотнении памяти. При этом все вычисления останавливаются и ОС перемещает задачи в единую непрерывную последовательность, т.е. чтобы остался один свободный поток.
22. Объясните сегментный способ организации виртуальной памяти. Что представляет собой (в общем случае) дескриптор сегмента? Каким образом вычисляется физический адрес в памяти?
Сегментный способ.
Каждая программа разбивается на логические участки, называемые сегментами, каждый из которых соответствует одному либо большему числу моделей. При этом максимальный размер сегмента зависит от разрядности платформы и ОС.
Система программирования может автоматически либо в автоматизированном режиме разделить, при этом список всех сегментов должен храниться, поэтому при размещении сегмента в памяти строится таблица дескрипторов сегментов. Каждый дескриптор описывает местоположение и размер своего сегмента. Для каждой задачи таблица собственная. Адрес текущей таблицы дескрипторов хранится в сегменте TSR. Данный регистр доступен в защищенном режиме и только для привилегий ОС.
Из TSR берётся адрес таблицы и складывается с адресом сегмента (номером). Результат указывает на дескриптор этого сегмента. Из дескриптора берётся информация о бите присутствия. Если сегмент не присутствует в физическом понятии, он туда загружается. Затем определяется адрес начала сегмента и складывается со смещением. Результат – ячейка памяти, в которой указывается виртуальный адрес физической памяти.
Право доступа:
-- чтение;
-- исполнение;
-- запись.