- •Вопрос 1. История развития ос. Существующие операционные системы и их характеристики. Классификация ос.
- •Вопрос 2. Основные компоненты ос. Назначение, структура и функции ос.
- •Вопрос 3. Требования к операционным системам.
- •Вопрос 4. Понятие ресурса, виды ресурсов, управление ресурсами.
- •Вопрос 5. Виртуальная память. Методы распределения памяти.
- •Вопрос 6. Принцип кэширования данных.
- •Вопрос 7. Понятие процесса. Состояние процесса и переходы между ними. Контекст и дескриптор процесса.
- •Вопрос 8. Требования к алгоритмам организации взаимодействия процессов.
- •Вопрос 9. Алгоритмы планирования процессов. Fcfs и rr.
- •Вопрос 10. Алгоритмы планирования процессов. Sjf. Многоуровневые очереди с обратной связью.
- •Вопрос 11. Управление процессами. Синхронизация процессов. Семафоры.
- •Вопрос 12. Управление процессами. Сообщения. Тупики. Способы борьбы с тупиками.
- •Вопрос 13. Условия возникновения тупиков. Основные направления борьбы с тупиками.
- •Вопрос 14. Критерии планирования процессов.
- •Вопрос 15. Файловые системы. Fat, hpfs, ntfs. Основные отличия. Общая модель файловой системы.
- •Вопрос 16. Файловая система fat. Структура диска. Файлы. Размещение файлов.
- •Вопрос 17. Файловые системы hpfs и ntfs. Структура диска. Файлы. Размещение файлов.
- •Вопрос 18. Операционная система ms-dos. Порядок загрузки.
- •Вопрос 19. Операционная система ms-dos. Загрузочный сектор жесткого диска. Структура элементов раздела в таблице разделов диска.
- •Вопрос 20. Операционная система ms-dos. Структура загрузочного сектора диска.
- •Вопрос 21. Операционная система ms-dos. Форматы исполняемых файлов.
- •Вопрос 22. Операционная система ms-dos. Структура psp.
- •Вопрос 23. Понятие прерывания. Аппаратные и программные прерывания. Обработка прерываний.
- •Вопрос 24. Структура таблицы векторов прерывания.
- •Вопрос 25. Программируемый контроллер прерываний. Структура. Уровни прерываний.
- •Вопрос 26. Обработка прерываний от rs-232, клавиатуры, таймера.
- •Вопрос 27. Способы несанкционированного доступа к информации в ms-dos. Возможные механизмы защиты.
- •Вопрос 28. Структура сетевой ос.
- •Вопрос 29. Классификация угроз безопасности ос.
- •Вопрос 30. Понятие защищенной ос. Подходы к построению защищенной ос.
- •Вопрос 31. Архитектура Windows nt. Основные модули Windows nt.
- •Вопрос 32. Архитектура Windows nt. Уровень аппаратных абстракций.
- •Вопрос 34. Windows nt. Интерфейс прикладных программ.
- •Вопрос 35. Ос Windows nт. Понятие объекта. Структура объекта.
- •Вопрос 36. Ос Windows nt. Понятие процесса. Взаимодействие между процессами. Потоки. Нити.
- •Вопрос 37. Ос Windows nt. Модель безопасности и ее компоненты.
- •Вопрос 38. Ос Windows nt. Реестр. Управление конфигурацией. Значимые элементы Реестра.
- •Вопрос 39. Архитектуры сетевой подсистемы ос Windows nt. Встраивание средств защиты в сетевую подсистему.
- •Вопрос 40. Аудит в Windows nt.
- •Вопрос 41. Угрозы безопасности Windows nt и методы защиты.
- •Вопрос 42. Ос Windows nt. Основные функции Win32 api.
- •Пример api функции:
- •Вопрос 43. Ос Windows nt. Распределение процессорного времени между потоками.
- •Вопрос 44. Ос Windows nt. Уровни запросов прерываний.
- •Вопрос 45. Ос Windows nt. Унифицированная модель драйвера.
- •Вопрос 46. Ос Windows nt. Обмен данными между приложениями и драйверами.
- •Вопрос 47. Ос Windows nt. Отложенный вызов процедур.
- •Вопрос 48. История развития и общая характеристика семейства ос unix. Основные сведения о системе.
- •Вопрос 49. Архитектура ос unix. Ядро ос. Основные функции. Принципы взаимодействия с ядром.
- •Вопрос 50. Файловые системы unix.
- •Вопрос 51. Ос unix. Понятие процесса. Взаимодействие между процессами. Сигналы.
- •Вопрос 52. Ос unix. Основные функции. Системные операции.
- •Вопрос 53. Ос unix. Управление памятью. Виртуальная память. Принцип Деннинга. Структура виртуального адресного пространства.
- •Вопрос 54. Ос unix. Системные вызовы управления вводом-выводом.
- •Вопрос 55. Ос unix. Средства взаимодействия с пользователем.
- •Вопрос 56. Методы защиты информации в ос мсвс.
- •Вопрос 57. Ос unix. Существующие типы файлов.
- •Вопрос 58. Стандарты защищенности ос и адекватная политика безопасности.
- •Вопрос 59. Определение и основные особенности операционных систем реального времени.
- •Вопрос 60. Self/Hosted и Host/Target осрв. Основные характеристики. По способу разработки программного обеспечения:
Вопрос 51. Ос unix. Понятие процесса. Взаимодействие между процессами. Сигналы.
Полный набор состояний процесса:
-
выполняется в режиме задачи.
-
выполняется в режиме ядра.
-
готов к запуску под управлением ядра.
-
процесс приостановлен и находится в ОП.
-
процесс готов к запуску, но программа подкачки еще должна загрузить в АЗУ.
-
процесс приостановлен, и программа выгрузила его во внешнюю память.
-
процесс возвращен из режима ядра в режим задачи.
-
процесс вновь создан и находится в переходном состоянии.
-
процесс вызывает функцию …. и прекращает свое существование.
После выполнения в режиме задачи может производиться прерывание по таймеру, обрабатываем прерывание по таймеру и возврат в ядро, либо переход в состояние резервирования.
Процесс описывает две структуры:
-
запись таблицы процессов (содержит поля, доступные ядру)
-
пространство процессов (содержит поля, доступные процессу)
Запись таблицы процессов:
-
поле состояния, которое идентифицирует состояние
-
поля, используемые ядром для размещения процесса в основную или внешнюю память
-
пользовательский идентификатор, устанавливающий привилегии пользователя.
-
идентификаторы процесса.
-
параметры планирования (порядок перехода из состояния ядра в состояние задачи).
-
различные таймеры (время выполнения в режиме ядра или задачи, количество ресурсов).
-
сигнал тревоги, который процесс может послать (устанавливается пользователем).
-
поле сигналов, которые отправлены, но еще не обработаны.
-
вектора, описывающие реакцию на сигнал.
-
поля ошибок, в которые записываются ошибки при выполнении системных функций.
-
поля значений, хранящие результат при выполнении системных функций.
-
параметры ввода – вывода.
-
имена текущих и корневых каталогов.
-
таблицы дескрипторов открытых файлов.
-
поля прав доступа (хранятся маски доступа).
Контекст процесса включает: •пользовательский контекст •регистровый контекст •системный контекст
Пользовательский контекст из программ и данных стека, содержимое в совместное использование пространства памяти.
Регистровый контекст включает счетчик команд, стек, регистры общего назначения и т.д.
Системный контекст имеет статическую и динамическую часть:
Статическая часть:
запись в таблицу процессов, описывающих состояние процессов.
часть адресного пространства, выданного процессу, где хранится управляющая информация о процессе.
запись частной таблицы области процесса, общая таблицы, таблица страниц для преобразования виртуального адреса в физический.
Динамическая часть:
стек ядра (каждый процесс должен иметь свою копию стека)
динамическая часть системного контекста процесса (процесс выполняется в рамках своего контекстного уровня, количество контекстных уровней ограничивается поддерживаемыми уровнями прерывания (их всего 15) (всего контекстов будет 17 для процесса (по одному на каждое прерывание, 1 для системных функций, 1 для пользовательского контекста))).
Действия по прерыванию:
при возникновении прерывания в стеке сохраняется текущий контекст и создается новый.
определяется источник прерывания и адрес программы обработки.
завершается прерывание, управление возвращается ядру.
ядро выполняет набор команд по сохранению контекста и стека предыдущего уровня.
продолжается выполнение прерванного текущего уровня.
Взаимодействие с ОС: Приложение считает, что выполняет свою функцию, для пользователя незаметно, что происходит переход.
Записи в таблицу областей
Указатель на индекс файла, содержание которого первоначально загружено в область
Тип области (команды, частные области)
Раздел области
Местонахождение в физической памяти
Статус (состояние, которое может принимать) состояния области (блокировано и т.д.)
Счетчик ссылок, в котором счетчик процессов, которые ссылаются на данную область. Пока счетчик не 0, освободить область нельзя
Создание процесса
PID = Fork ()
Порожденный процесс – потомок.
В результате, контексты обоих процессов совпадают, за исключением возвращаемого значения PID.
Для порожденного, PID будет иметь нулевое значение.
Fork делает:
-отводит место в таблице под новый процесс.
-присваивает порожденному процессу уникальный код идентификации.
-делает логическую копию контекста родительского процесса.
-увеличивает значение счетчика числа файлов, связанное с процессом.
-возвращаем родительскому процессу код идентификатора дочернего, а дочернему присваивается 0.
Пользовательскому процессу не разрешается создать процесс, занимающий последнее место в таблице процесса. Доступна эта привилегия лишь суперпользователю.
Завершение процессов При завершении дочернего процесса родительскому передается информация. Если родительский процесс завершился раньше, то дочерний удочеряется процессом Init (все сигналы и результаты работы). Если потомок завершился, а родительский процесс не готов получить сигнал об этом, то потомок не исчезает, данный процесс не занимает процессорное время, но строка в таблице процессов остается, структура ядра не освободится.
Программа, занимающаяся обслуживанием системных нужд, не имеющая интерфейс, для NT – сервис.
Процесс, предназначенный для работы в основном режиме, работа без терминала, выполняющая функции для других процессов, называется демоном.
Для информации о процессах используется механизм особой файловой системы Proc FS. Она монтируется при запуске системы как каталог Prots. Данные о файле 1 в Proc / 1, данные о файле 2 в Proc / 2.