- •Вопрос1. Понятие программного обеспечения (по). Классификация программного обеспечения по выполняемым функциям. Основные свойства системного программного обеспечения и структура системного по.
- •Вопрос 2 .Операционные системы как ядро системного программного обеспечения
- •1)Управление процессами (программ во время выполнения);
- •Вопрос3 Классификация ос (по структуре и архитектурным принципам построения, по режимам работы). Примеры.
- •4) Общие принципы построения ос. Основные характеристики современных ос. Примеры реализации общих принципов и особенности организации и функционирования ос.
- •Вопрос 5. Определение и классификация ресурсов
- •Вопрос 6.Определение и классификация процессов. Примеры. Процессы и потоки.
- •Вопрос 7. Состояние процессов и функции ос по управлению процессами. Задачи, решаемые ос при реализации функций. Примеры решения.
- •Вопрос 8 . Проблема взаимного исключения. Понятие критической секции, её свойства, условия реализации. Примеры.
- •Вопрос 9. Программные методы реализации взаимного исключения. Примеры.
- •Вопрос 10. Понятие семафора, семафорные примитивы. Примеры объектов диспетчеризации в ms Windows, которые могут использоваться как «семафоры».
- •Вопрос 11. Применение бинарных семафоров для реализации взаимного исключения и синхронизации процессов.
- •Вопрос 12. Общие семафоры, решение задачи «писателей и читателей» при работе с циклическим буфером.
- •Вопрос 13. Проблема тупика и задачи, связанные с решение проблемы тупика. Примеры.
- •Вопрос 14. Задача предотвращения тупика, подходы к решению. Примеры.
- •Вопрос 15. Математическая модель для определения тупика. Определение заблокированных процессов, процессов, находящихся в тупике. Определение состояния тупика. Понятие выгодного состояния. Примеры.
- •Вопрос 16. Модель системы с повторно используемыми ресурсами (граф повторно используемых ресурсов). Примеры.
- •Вопрос 17. Модель системы с потребляемыми ресурсами (граф потребляемых ресурсов). Примеры.
- •Вопрос 18. Система с повторно используемыми и потребляемыми ресурсами (граф обобщённых ресурсов). Примеры.
- •Вопрос 19. Решение задачи распознавания тупика для систем с повторно используемыми ресурсами: основная теорема о тупике. Примеры редукции.
- •Вопрос 21. Распознавание тупиков в системах с повторно используемыми ресурсами с ограничениями на запросы. Примеры.
- •Вопрос 22. Распознавание тупиков в системах с потребляемыми ресурсами и в системах с обобщёнными ресурсами: алгоритм редукции. Примеры.
- •Вопрос 23. Распознавание тупиков в системах с потребляемыми ресурсами и в системах с обобщёнными ресурсами: системы с ограничениями на выполнение операций. Примеры.
- •Вопрос 24. Вывод системы из тупика. Общий подход и частный случай.
- •Вопрос 25. Обходы тупиков. Алгоритм банкира. Примеры.
Вопрос 15. Математическая модель для определения тупика. Определение заблокированных процессов, процессов, находящихся в тупике. Определение состояния тупика. Понятие выгодного состояния. Примеры.
Таким образом, были введены математические модели для систем с повторно используемыми и потребляемыми ресурсами. Однако обычно в ВС используются оба типа ресурсов. Для представления таких систем можно объединить введенные выше модели.
Граф обобщенных ресурсов - это ориентированный двудольный граф
RG = (N, E),
где N есть множество вершин:
N =
( = { p1 , p2 , ..., pn}- конечное множество вершин, представляющих процессы в ВС, = { R1 , R2 , ..., Rm} - множество вершин, соответствующих ресурсам ВС, причем = CR SR, где CR - множество вершин, представляющих потребляемые ресурсы, SR - множество вершин, представляющих повторно используемые ресурсы (CR SR = ); = ), а E - множество дуг графа:
E ( ) ( ),
причем элементы графа обладают следующими свойствами:
Ri
- вершина,
представляющая повторно используемый
ресурс RiSR,
имеет пометку - пару (ci,
ti
), где ci
- емкость данного ресурса, а ti
- количество единиц ресурса, доступных
для распределения (свободных) в данный
момент;Ri - вершина, представляющая потребляемый ресурс RiCR, имеет пометку - неотрицательное целое число ti, обозначающее число доступных для распределения в данный момент единиц этого ресурса;
pj
- вершина, представляющая процесс pj
в системе;
pj
k
Ri
- дуга
(pj,
Ri)
с весом |(pj,
Ri)|=k,
представляющая вып
олненный
процессом pj
,
но пока не удовлетворенный запрос на
k
единиц повторно используемого ресурса
Ri
SR
;
каждый запрос, выполняемый процессом pj на ресурс Ri SR, должен удовлетворять ограничению:
| ( pj , Ri ) | ci, - | ( Ri, pj ) | , то есть сумма выполненных распределений и запросов конкретного повторно используемого ресурса относительно любого из процессов не может превышать общего количества единиц этого ресурса, имеющихся в системе, в противном случае запрос считается ошибочным и не может быть выполнен;
pj
k
Ri
- дуга
(pj,
Ri)
с весом |(pj,
Ri)
|=k,
представляющая выполненный процессом
pj
,
но пока не удовлетворенный запрос на
k
единиц потребляемого ресурса Ri
CR
;R
i
k
pj
-
ребро (Ri,
pj)
с весом |(Ri,
pj)|=k,
представляющее все распределения
ресурса Ri
SR
процессу pj
по его удовлетворенным запросам ; в
общей сложности в системе для каждого
ресурса Ri
SR
может быть сделано не более чем ci
назначений, то есть
n
| ( Ri, pj ) | ci ;
j = 1
для каждого ресурса Ri CR существует непустое множество процессов-производителей этого ресурса (Ri) и граф обобщенных ресурсов содержит дугу производителя (Ri, pj) для каждого pj (Ri) по всем RiCR;
Ri
pj
- обозначение
ребра (дуги) производителя ресурса Ri
;ребра производителя являются постоянными
и никогда не уничтожаются.
Процесс pj заблокирован, если он не способен выполнить ни одну из трех операций, изменяющих состояние системы. Эта ситуация может возникнуть только тогда, когда процесс выдал запросы, которые не могут быть удовлетворены за счет имеющихся в данном состоянии ресурсов, то есть процесс pj заблокирован, если существует по крайней мере один ресурс Ri такой, что
| ( pj , Ri ) | > ti .
Выгодное состояние - это такое состояние системы, в котором все процессы, имеющие запросы, заблокированы.
