- •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. В чем её преимущества и недостатки?
8. Изложите алгоритм решения задачи «поставщик-потребитель» при исполь¬зовании семафоров Дейкстры
Имеет общий буфер памфти,одна изи задач пишет с негоБ2 читает и освобождает потерянную информацию.
9. Изложите алгоритм решения задачи «читатели-писатели» при использова¬нии семафоров Дейкстры
Wcreate semaphore(1,1,1;w)
R create semaphore(0,1,10,R)
Sem[0]=w sem[1]=R
Читател {
Open semaphore(0,faise,R)
Open semaphore(0,faise,W)
Wait for single object (w,infinite)
Release semaphore(w)
Read(data)
Renase semaphore (R)
Писарь {
Open semaphore(0,faise,W)
Open semaphore(0,faise,R)
Wait for multiple object (sim true,infinite)
Release semaphore(R)
write(data)
Renase semaphore (W),}
P {whike true {4itatel}
And {whike true {4itatel}
And {whike true {4itatel}
And {whike true {pisatel}
And {whike true {pisatel}
10. Что такое «монитор Хоара»? Приведите пример такого монитора
Монитор – это набор процедур и информационных структур, которыми процессы пользуются в режиме разделения, причем в фиксированный момент времени им может пользоваться только один процесс.
Отличительная особенность монитора в том, что в его распоряжении находится некоторая специальная информация, предназначенная для общего пользования, но доступ к ней можно получить только при обращении к этому монитору.
Монитор не является процессом, это пассивный объект, который приходит в активное состояние только тогда, когда какой-то объект обращается к нему за услугами. Часто монитор сравнивают с запертой комнатой, от которой имеется только один ключ. Услугами этой комнаты может воспользоваться только тот, у кого есть ключ. При этом процессу запрещается оставаться там сколь угодно долго. Другой процесс должен ждать до тех пор, пока первый не выйдет из нее и передаст ключ.
В качестве примера программы-монитора может выступать планировщик ресурсов. Действительно, каждому процессу когда-нибудь понадобятся ресурсы и он будет обращаться к планировщику. Но планировщик одновременно может обслуживать только один ресурс.
Иногда монитор задерживает обратившийся к нему процесс. Это происходит, например, в случае обращения за занятым ресурсом. Монитор блокирует процесс с помощью команды "ЖДАТЬ", а в случае освобождения ресурса выдает команду "СИГНАЛ". При этом освободившийся ресурс предоставляется одному из ожидавших его процессов вместе с разрешением на продолжение работы. Управление передается команде монитора, непосредственно следующей за операцией "ЖДАТЬ".
Мониторы более гибки, чем семафоры. В форме мониторов сравнительно легко можно реализовать различные синхронизирующие примитивы, в частности семафоры и почтовые ящики. Кроме того, мониторы позволяют нескольким процессам совместно использовать программу, представляющую собой критический участок
11. Перечислите и поясните основные функции операционных систем, которые связаны с управлением задачами.
Система управления задачами обеспечивает прохождение их через компьютер. Операционная система выполняет следующие основные функции, связанные с управлением задачами:
- создание и удаление задач;
- планирование процессов и диспетчеризация задач;
- синхронизация задач, обеспечение их средствами коммуникации.
· Создание и удаление задач осуществляется по соответствующим запросам от пользователей или от самих задач. Задача может породить новую задачу. При этом между процессами появляются «родственные» отношения. Порождающая задача называется «предком», «родителем», а порожденная — «потомком», «сыном» или «дочерней задачей». «Предок» может приостановить или удалить свою дочернюю задачу, тогда как «потомок» не может управлять «предком».
Основным подходом к организации того или иного метода управления процессами, обеспечивающего эффективную загрузку ресурсов или выполнение каких-либо иных целей, является организация очередей процессов и ресурсов. Очевидно, что на распределение ресурсов влияют конкретные потребности тех задач, которые должны выполняться параллельно. Другими словами, можно столкнуться с ситуациями, когда невозможно эффективно распределить ресурсы, исключив возможность их простаивания. Например, всем выполняющимся процессам требуется некоторое устройство с последовательным доступом. Но поскольку оно не может распределяться между параллельно выполняющимися процессами, то процессы вынуждены будут очень долго ждать своей очереди. Таким образом, недоступность одного ресурса может привести к тому, что длительное время не будут использоваться и многие другие ресурсы.