- •Вопрос 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 осрв. Основные характеристики. По способу разработки программного обеспечения:
Вопрос 52. Ос unix. Основные функции. Системные операции.
access (name, mode) – проверяет, имеет ли процесс право на чтение и т.д. Проверяемый тип зависит от mode:
1 – исполнение,
2 – запись,
3 – чтение
alara (sec) – вызывает посылку…………………………….. Sec – число секунд до сигнала тревоги.
ch dir (name) – для процесса делает текущий каталог, указывающийся в параметре.
ch mod (name, mode) – изменение режима доступа к файлу.
dup – создает копию указанного дескриптора файла.
vice (INC) – увеличивает значение компонента, участвующего в вычислении компонента. Пропорциональность обратная.
Ptrace (cmd, prd, addr, data) – дает текущему процессу выполнить отладку другого процесса в соответствии со значением cmd:
Cmd = 0 – разрешает трассировку.
Cmd = 1; 2 – позволяет вернуть слово, расположенное по адресу адрес в пространстве отлаженного процесса.
Cmd = 3 – позволяет вернуть слово, расположенное в пространстве отлаженного процесса по адресу.
Cmd = 4, 5 – позволяет записать значение по адресу в пространство отлаженного процесса.
Cmd =7 – заставляет отлаженный процесс возобновить свое выполнение.
Cmd = 8 – заставляет отлаженный процесс завершить свое выполнение.
Cmd = 9 – установить режим пошагового выполнения.
stime – устанавливает системное время и дату. Время в секундах от 00 часов 00 минут 00 секунд 1 января 1970 года (нам надо установить это время, затем функция отсчитает). Time – возвращает системное время (сколько прошло с 00 часов 00 минут 00 секунд 1 января 1970 года).
times – возвращает время и заполняет следующую структуру (4 поля):
продолжительность использования процессора в режиме задачи
продолжительность использования процессора в режиме ядра
сумма нахождения процессора в режиме задачи у всех потомков
сумма нахождения процессора в режиме ядра у всех потомков
Системный вызов: clone. Флаги: CLONE _ VM – виртуальное пространство
_ FS – файловая система
_ FILES – таблица файлов
_ SIGHAND – таблица обработки сигналов
_ PARENT – родитель
Дочерние процессы с предком имеют общего родителя, файловую систему, таблицу файлов, общее адресное пространство и т.д.
Сигналы
Сигналы сообщают процессу о возникновении асинхронных событий.
Сигналы могут быть посланы функцией kill.
Существуют сигналы, посылаемые в случае завершения выполнения процесса.
Сигналы, посылаемые в случае возникновения:
Обращение к памяти, находящейся за пределами виртуального адресного пространства
Попытка записи в область, доступной только для чтения
Попытка использования привилегированной команды в пользовательском режиме
Различные аппаратные ошибки
Сигналы, посылаемые при выполнении системных функций при возникновении неисправных ошибок.
Сигналы, причиной которых служит возникновение непредвиденных ошибок.
Сигналы, посылаемые процессу, выполняющийся в режиме задачи (например, сигнал тревоги через определенное время (таймер)).
Сигналы, с помощью которых может производиться трассировка выполнения процессов.
При посылке сигнала ядро установлен 1 разряд в поле сигнала табличный процесс, соответствующий типу сигнала. Если процесс находится в состоянии останова, обработка разрешена, то ядро возобновляет данный процесс. Ядро может запоминать сигналы различных типов, но количество сигналов одного типа не запоминает.
Обработка сигналов
3 способа:
Процесс может завершаться при поступлении сигнала.
Процесс может не обращать внимание на сигнал.
Процесс может выполнить пользовательскую функцию при получении.
oldfunction = signal (signum, function)
signum – номер сигнала, при получении которого будет выполнено действие, связанное с пользовательской функцией.
function – адрес функции.
oldfunction – возвращаемое значение.
Вместо адреса функции 2 предопределенных значения: 1 и 0.
Если 1, то процесс игнорирует все последующие сигналы с номера signum. Если 0, то процесс в режиме ядра завершается.
Для посылки сигнала используют системную функцию kill:
kill (PID, signum)
В pid указывается адресат, а в signum номер сигнала.
Если pid – положительное целое число, то ядро пошлет процессу сигнал с идентификатором pid. Если pid = 0, то сигнал пошлется всем процессам, входящих в группу с процессом, вызвавшим функцию kill. Если pid = –1, то сигнал пошлется всем процессам, у которых код идентификатора пользователя совпадает с тем, под которым выполняется процесс, вызывавший kill. Пользователь сигнал со значением –1 послать не может. Если процесс, пославший сигнал, выполняется под кодом идентификации «суперпользователь», сигнал пошлется всем процессам, кроме идентификаторов 0 и 1 (его не может послать пользователь) Если pid – отрицательное число (но не –1), то сигнал пошлется всем процессам, входящих в группу с номером, равным абсолютному значению pid.
У процесса есть и групповой идентификатор. Процесс получает уникальный код идентификации, потомок наследуют код идентификации группы, наследует все права.