- •Вопрос 1. Определение ос. Место ос в иерархической архитектуре вычислительной системы.
- •Вопрос 2. Процессы. Определение процесса. Логическая и физическая модели процесса Графы состояний процесса для логической и физической модели. Контекст процесса
- •Вопрос 3. Классификация процессов ос.
- •Вопрос 4. Ресурсы. Определение ресурса, Классификация ресурсов.
- •Вопрос 5. Формальная модель ос
- •Вопрос 6. Управление процессами. Таблицы управления процессами. Дескриптор процесса. Операции над процессами. Прерывания процессов.
- •Вопрос 7. Синхронизация параллельных процессов. Назначение синхронизации. Виды отношений между процессами. Типичные задачи синхронизации параллельных процессов.
- •Задача взаимного исключения.
- •Задача читатели – писатели.
- •Задачи кругового распределения ресурса («обедающие философы»)
- •Вопрос 8. Синхронизация параллельных процессов, Механизмы синхронизации. Аппаратная и программная реализация взаимоисключений. Семафорные примитивы Дейкстры.
- •3) Рандеву.
- •Программные каналы (транспортёр).
- •Вопрос 9-10.
- •9. Дедлок( тупиковая ситуация). Условия возникновения. 10. Дедлок( тупиковая ситуация). Стратегии предотвращения и обхода дедлоков.
- •Вопрос 11-12
- •11. Управление ресурсами. Дескрипторы воспроизводимых и потребляемых ресурсов. Операции над семафорами ресурсов. Распределение ресурсов ос. Задачи распределения.
- •Вопрос 13-15.
- •Дисциплина: следующий с кратчайшим заданием sjn (short job next).
- •2.Циклические дисциплины (или с перераспределением)
- •2.1.Круговой циклический алгоритм rr.
- •Многоуровневый циклический алгоритм fb.
- •Вопрос 16. Структуры объектных модулей программ. Способы использования объектных модулей.
- •2. Многократно используемые.
- •Вопрос 17. Отображение программных модулей на оперативную память. Частные случаи отображения.
- •Вопрос 18-19.
- •Вопрос 20-21.
- •20. Технология виртуальной памяти. Алгоритмы замещение страниц. 21. Двухуровневая страничная организации виртуальной памяти.
- •Вопрос 22. Задачи программного обеспечения ввода/вывода(в/в). В/в без использования и с использованием прерываний. Прямой доступ к памяти. Синхронный и асинхронный в/в.
- •Вопрос 23. Уровни управления вводом-выводом. Буферизация и синхронизация данных.
- •2. Двойной буфер
- •3.Циклическая буферизация
- •Вопрос 24. Логическая структура файла Типы файлов. Атрибуты файлов. Операции с файлами. Каталоговые системы. Операции с каталогами.
- •Вопрос 25. Методы физической реализации файлов и каталогов.
- •Вопрос 26. Принципы построения интерфейсов ос. Интерфейс прикладного программирования(арi). Варианты реализации арi.
- •Вопрос 27. Основные структуры операционных систем. Структуры многопроцессорных операционных систем
- •Вопрос 28. Архитектура операционной системы msdos. Основные модули ос.
- •Вопрос 29. Операционная система ms dos. Управление оперативной памятью.
- •Вопрос 30. Операционная система msdos Архитектура файловых систем fат.
- •Вопрос 31. Архитектура операционной системы Windows 95/98. Основные компоненты.
- •Вопрос 32. Управление процессами в Windows 95/98. Мультапрограммирование.
- •Вопрос 33. Управление оперативной памятью в Windows 95/98.
- •Вопрос 34. Поддержка приложений в Windows 95/98.
- •Вопрос 35. Архитектура операционной системы WindowsNt. Подсистема среды и исполняющая система.
- •Вопрос 36. Управление процессами в WindowsNt. Мультипрограммирование.
- •Вопрос 37. Управление оперативной памятью в WindowsNt.
- •Вопрос 38. Обьектная модель WindowsNt. Менеджер объектов.
- •Вопрос 39. Взаимодействие между приложениями и подсистемами среды в WindowsNt.
- •Вопрос 40. Структура системы и ядро ос Unix
- •Вопрос 41. Управление процессами в ос Unix. Граф состояния процесса. .
- •Вопрос 42. Управление оперативной памятью в ос Unix.
- •Вопрос 43. Логическая организация файловых систем ос Unix. Логическая организация.
- •Вопрос 44 Физическая организация файловых систем ос Unix.
Вопрос 5. Формальная модель ос
Формальную модель ОС можно представить в виде динамического графа из процессов и ресурсов. С каждой вершиной процессов связан соответствующий граф ресурсов, необходимых для развития данного процесса.
G=<Gp, Gr>
Gp-граф процессов ОС. p=<p0, p1,…, pn>
Gr-множество ресурсов. r=<r0, r1,…, rn>
Aab=(Pa,Pb)- ориентированное ребро(вершина b нах-ся в иерархическом подчинении вершины a, Pb- потомок Pa)
Аab=[ Pa,Pb]- неориентированное ребро.
Граф ресурсов Gr состоит из вершин, соединённых ор. или неор. рёбрами.
Граф процессов Gp на верхнем уровне имеет единственную вершину Ро, все остальные процессы считаются порождёнными им. (?)Инициал происходит аппаратными процессами(?)
Gp, Gr – динамические графы, над которыми допустимы следующие операции:
добавление новой вершины
удаление вершины
установление связи между вершинами
удаление связей
измен состояния вершины
Вопрос 6. Управление процессами. Таблицы управления процессами. Дескриптор процесса. Операции над процессами. Прерывания процессов.
Управление процессами . Табл. Дескриптор. Операции над процессами. Прерывания.
ОС создает определенные структуры: либо статические, либо динамические таблицы, в которых хранится вся информация о процессах операционной системы. Для описания процессов создаются структуры данных, которые отражают состояние процесса и учетную информацию операционной системы. Эту структуру называют управляющим блоком или дескриптором (PCB, TCB)(дескриптор процесса создаётся в момент порождения процесса). Для управления процессами таблицы создают либо описание процесса- дескриптор, либо ссылку на дескриптор.
Возможный дескрипторный набор:
имя процесса (символическое или числовое) может быть у идентификатора процесса, использующего ОС для явных межпроцессорных связей;
информация о контексте процесса (информация о процессоре, об оперативной памяти, о ресурсах для данного процесса, статусе (развивается или нет);
инф-я о родителях и потомках данного процесса.
Инф-я о состоянии процесса (контекст процесса)
Инф-я о ресурсах, выделенных данному процессу (пр: о выделенной ОП)
Инф-я о выделенной ОП
Инф-я о созданных данным процессом ресурсах
Процесс - система действий, реализующая определённую функцию в ВС и оформленная так, что управляющая программа вычислительной системы может перераспределять ресурсы этой системы в целях обеспечения мультипрограммирования.
Операции над процессами.
Создать новый процесс (создаётся дескриптор процесса, он либо указатель на него заносится в таблицу управления процессами, процессу выделяются некоторые ресурсы)
уничтожить один или более процессов(удаляется процесс со всеми потомками, удаляются все связи, уничтожаются все ресурсы, созданные данным процессом, и все те ресурсы, не связанные с другими процессами. Иногда дескриптор не уничтожается(например в UNIX))
изменить состояние процесса (готовый, блокированный, выполняемый);
изменить приоритет (для процессов, находящихся в состоянии готовый или блокированный).
Прерывания процессов.
...
Когда у процесса, находящегося в состоянии выполнения, возникает необходимость запросить некоторый ресурс или отказаться от некоторого ресурса, либо выполнить операцию над ресурсом, то возникают внутренние прерывания – процесс прерывает сам себя (арифметическое переполнение и т.д.)
Синхронное прерывание (внутреннее,1 рода) – происходит синхронно с выполняющимся процессом, по инициативе самого процесса. Такое прерывание возникает, когда у процесса, находящегося в состоянии выполнения возникает потребность:
выполнить некоторые операции над ресурсами(запросить или отказаться от ресурса).
или если процесс должен выполнить какие-либо действия, связанные со взаимодействием с другими процессами.
прерывания возникают при ошибках, связанных с аппаратными процессами.
Асинхронное прерывание (внешнее, 2 рода)– возникает, когда процесс прерывается «без его ведома» (по времени и т.д.).
Каждое прерывание должно быть обработано.
При обработке каждого прерывания необходимо выполнить некоторую последовательность действий:
восприятие запроса на прерывание;
запоминание состояния прерываемого процесса;
передача управления программе обработки прерываний;
обработка прерываний;
передача управления либо прерванному процессу, либо программе-диспетчеру для инициализации следующего процесса из очереди готовых процессов.
В большинстве вычислительных систем действия 1 – 3 реализуются аппаратно, а 4 – 5 – с помощью программ.
Полномочия процессов.
Это действия, которые процесс может, либо не может производить как над собой, так и над другими объектами системы.
Полномочия позволяют:
приостановить, активизировать, изменить приоритет и уничтожать только своих прямых и дальних потомков;
процесс может передавать потомкам только подмножество своих ресурсов;
процесс может разрушать только те ресурсы, которые создал либо он, либо его потомки.
При нарушении полномочий к процессу должны быть предприняты следующие действия: от сообщения о нарушении до разрушения процесса (управление должно быть передано ОС для обработки этой ситуации).