- •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. В чем её преимущества и недостатки?
23. Объясните страничный способ организации виртуальной памяти. Что представляет собой (в общем случае) дескриптор страницы? Каким образом вычисляется физический адрес в памяти?
Вся виртуальная память разделяется на блоки фиксированного размера, называемого страницами, виртуальное адресное пространство также. Тогда виртуальный адрес представляется: <R,О>, где R – номер виртуальной таблицы, О – смещение к её началу.
Схема при страничном способе.
Регистр таблицы дескриптора страниц указывает на таблицу дескриптора страниц текущей задачи.
Размер страницы выбирается при генерации системы ОС и кратен степени 2.
Адрес регистр. табл. страниц складывается с номером страницы, результат указывает на дескриптор этой страницы. Если страница находится не в дескрипторе этой памяти, то она загружается. Из дескриптора определяется номер физической страницы, в который сдвигается на определённое число бит влево и определяется адрес физ. расположение этой стр. К нему добавляется смещение относительно начала стр. Результат – адрес физ. ячейки памяти.
«+» - более высокая скорость.
«-» - если вся страница не занята, то остаётся свободный кусочек.
24. Сравните сегментный и страничный способы организации виртуальной памяти. Перечислите достоинства и недостатки каждого.
У страничного способа организации виртуальной памяти более высокая скорость по сравнению с сегментным.
Страничный в отличие от сегментного при не полностью занятой страницы оставляет свободные кусочки.
25. В чем различие статического и динамического распределений памяти?
Статическое распределение – во время компиляции компилятор определяет необходимый объём памяти для хранения данных (память под объявленные переменные). В процессе запуска приложения ОС выделяет требуемый объём памяти.
Динамическое распределение – в процессе выполнения программы допускается запрос на дополнительное распределение памяти требуемого объёма.
26 Какова структура Windows программ? Что выполняет главная функция окна?
ОС создав окно посылает ему сообщение WM_CREATE на обработке этого сообщения создаются элементы управления. Главное окно должно принадлежать вновь зарегистрированному классу. Имя класса выбирается произвольно. Регистрация класса осуществляется системным вызовом RegisterClass или RegisterClassEx
27 Что такое сообщения? Откуда они возникают? Где обрабатываются?
В ответ на аппаратные сообщения (нажатие клавиши) ОС вырабатывает сообщение. Сообщение представляет собой инф. Стр. typedef struct MS
{HWND hwnd; дескриптор окна, кот. Передает сообщение
UINT message; идентиф. Сообщения
WPARAM wParam;
LPARAM lParam; параметры сообщения
DWORD time; число милисек.после старта системы
POINT pt; коорд. Курсора мыши
} MSG
В ответ на аппаратн. Сообщение
Програмно сгенерированное
Система передает сообщение в очередь сообщений потока, если сообщ. Относится к нескольким потокам, то оно отправляется в очередь всех этих потоков
28 Каким образом устанавливается соответствие между окном и его обработчиком?
Dispach Message – определяет на основании дескриптора окна адрес обработчика событий и вызывает его, передав сообщение Адре обработчика окна в соотв. Дескриптору окна при регистрации класса.
Обработчик окна – программа аппаратного вызова и должен быть оформлен. Имя произвольное. Принимает 4 параметра: дескриптор окна, идентиф. Сообщ., wParam, lParam
Wnd Proc proc hWin: DWORD uMsg; DWORD wParam; DWORD lParam
Обработчик оформляется структурой типа CASE