- •1. Операционные системы
- •2. Функциональные компоненты локальной ос
- •3. Назначение и функции сетевой ос
- •4. Функциональные компоненты сетевой ос
- •5. Коммуникационные средства
- •6. Классификация ос
- •8. Архитектура ос
- •9. Монолитные и многоярусные ядра
- •10. Функциональные компоненты Linux
- •11. Структура ядра
- •12. Функции слоёв ядра
- •13. Вспомогательные модули
- •14. Микроядерные системы
- •15. Объектная модель функционирования
- •16. Состав исполнительной системы WinNt
- •17. Совместимость
- •18. Множественные прикладные среды. Способы реализации
- •19. Интерфейсы ос
- •20. Файловая система
- •21. Логическая организация файла
- •22. Физическая организация файла
- •23. Общая модель фс
- •Непрерывное
- •2) Цепочечная
- •3) Фиксированный
- •Битовые карты (таблицы) – каждому блоку ставится в соответствие свой бит (1 – занят, 0 – свободен)
- •Цепочки сводных свободных порций
- •Список свободных блоков
- •Индексированный
- •24. Функции фс
- •25. Фс unix-подобных ос
- •26. Структура фс
- •27. Структура фс базовых unix-подобных ос
- •28. Архитектура виртуальной фс
- •29. Последовательность действий при монтировании
- •30. Файловые дескрипторы и трансляция имён
- •31. Физическая организация fat
- •32. Физическая организация ntfs
- •33. Управление процессами
- •34. Контекст и дескриптор
- •35. Структура контекста процесса
- •36. Планирование и диспетчеризация
- •37. Алгоритмы планирования
- •38. Планирование и диспетчеризация в unix системах
- •39. Управление процессами в unix-подобных системах
- •40. Атрибуты, инфраструктура процесса
- •41. Создание процессов
- •42. Этап exec()
- •43. Межпроцессные взаимодействия (ipc)
- •44. Каналы (pipe)
- •45. Fifo
- •46. Пространство имен
- •47. Сообщения
- •48. Семафоры
- •49. Разделяемая память
- •50. Сигналы
- •51. Последовательность событий
- •52. Функции управления процессами
- •53. Сообщения в микроядерных ос.
- •54. Процессы и потоки в WinNt
- •55. Базовая структура процесса, создание процесса в WinNt
- •56. Основные различия управления процессами в различных средах
- •57. Состав потока в WinNt и контекст потока
- •58. Передача сообщений с помощью lpc (локальный вызов процедур)
- •59. Распределенные системы. Удаленный вызов процедур. Rpc (Remote Procedure Call)
- •60. Система ввода-вывода в Win nt
- •61. Реализация свв в Windows nt
- •62. Унифицированная модель драйвера
- •63. Формат пакета irp
- •64. Структура драйвера
- •65. Редиректор и сервер. Встроенные сетевые компоненты
35. Структура контекста процесса
Контекст процесса включает в себя:
содержимое адресного пространства задачи
информацию об аппаратных регистрах
структуру данных ядра
По функциональному признаку контекст делят на:
пользовательский контекст, который включает в себя:
код и данные
стек задачи
совместно используемые области памяти в виртуальных адресах
Когда не хватает места в ОЗУ часть пользовательского контекста помещается в область swapping’a.
регистровый контекст, который включает в себя:
счетчик команд, указывающий адрес следующей команды. Адрес как правило является виртуальным либо внутри АП задачи, либо внутри АП ядра
слово состояния процессора, который указывает аппаратный статус по отношению к конкретному процессу (режим работы процессора, приоритет). Регистр состояния зависит от конкретного процессора.
РОНы
Указатель на посл. выполненную или след. команду (в зависимости от архитектуры) (IP)
Указатель вершины стека (адрес стека ядра или стека задачи) (SP)
системный контекст, который состоит из статической составляющей и динамической составляющей. Постоянно процесс использует только статическую составляющую, которая не изменяется по ходу выполнения процесса. Кроме того, имеется переменное количество динамических составляющих. Динамический контекст имеет структуру стека, количество динамических уровней = количеству уровней прерываний процессора + 2 (на переход в режим задач и обратно в режим ядра).
Статическая часть контекста включает в себя:
запись таблицы процессов, описывающее состояния процесса с управляющей информацией (часть контекста). К этой инф-ии ядро может обратиться в любой момент.
привилегии процесса, адресное пространство, выделенное под выполнение процесса
общие и частные таблицы областей процесса (общие есть для каждого процесса). Управление памятью – ID участков вирт-го адр-го пр-ва процесса, не явл-го резидентным.
таблица преобразования виртуальных адресов в физические
записи частной таблицы областей памяти. Они необходимы для преобразования виртуальных адресов в физические
стек ядра каждого процесса. Записи о процедуре ядра – информация о цепочке системных вызовов этого процесса. Т. о., каждый процесс имеет свою копию ядра. Ядро восстанавливает данные стека и помнит указатель на вершину стека
Динамическая часть состоит из уровней и представляет собой стек.
0-й (нижний) – пользовательский.
На следующих уровнях – свой, регистровый контекст.
Размер стека определяется максимальным количество прерываний.
Ядро помещает контекст в стек при возникновении прерывания, при обращении к системным функциям и при переключении контекста (передача управления другому процессу). Выталкивание из стека происходит в тех же случаях, т.е. само переключение контекста содержит два этапа:
Запоминание «старого» контекста
Восстановление «нового» контекста
Информация для восстановления «нового» процесса берется из таблицы процессов.
Если выполняется задача, требующая обращения к внешнему устройству и выполнен запрос, но пока информация не пришла процесс переключился, то информация поступит к новому процессу (в память) и старый процесс получит ее только после возобновления работы.
Наряду с функциональным структурированием существует иерархическое. Это характерно для многопоточных систем. Связано с тем, что для множества потоков можно выделить общую часть. Существует локальный контекст – для одного потока, групповой контекст – для групп потоков, глобальный контекст – для процесса.
Преимущества – ускоряет переключение потоков за счет ускорения переключения контекстов.
UNIX: делает контекст по функциональным. NetWare: делает контекст по иерархии.
Системный контекст переключается частично аппаратно, частично программно. Дескриптор хранится в виде строки таблицы процессов. Пространство под табл. процессов резервируется динамически в области ядра. На основе этой таблицы происходит планирование и диспетчеризация процессов.