- •1.Структура вычислительной системы. Функции операционной системы.
- •2. История развития операционных систем.
- •3.Основные понятия, концепции операционных систем.
- •4.Архитектурные особенности ос. Способы построения.
- •2. Управление памятью.
- •5.Классификация ос.
- •6.Процессы. Понятие процесса. Состояния процесса.
- •7.Операции над процессами. Pcb и контекст процесса. Переключение контекста.
- •8. Планирование процессов. Уровни планирования. Критерии планирования и требования к алгоритмам.
- •9. Параметры планирования. Вытесняющее и невытесняющее планирование.
- •10. Алгоритмы планирования. Fcfs. Rr. Sjf.
- •11. Алгоритмы планирования. Гарантированное. Приоритетное. Многоуровневые очереди.
- •12. Взаимодействие процессов. Категории средств обмена информацией
- •13. Логическая организация механизма передачи информации. Устанавка связи. Информационная валентность процессов и средств связи.
- •14. Особенности передачи информации с помощью линий связи. Буферизация. Поток ввода-вывода и сообщения. Надежность средств связи. Завершение связи.
- •15.Нити исполнения. Способы организации нитей.
- •16. Алгоритмы синхронизации. Interleaving, race condition и взаимоисключения. Критическая секция.
- •Interleaving, race condition и взаимоисключения
- •Критическая секция
- •17. Программные алгоритмы организации взаимодействия процессов. Требования, предъявляемые к алгоритмам. Запрет прерываний. Переменная-замок.
- •18. Программные алгоритмы организации взаимодействия процессов. Строгое чередование. Флаги готовности. Алгоритм Петерсона. Строгое чередование
- •Флаги готовности
- •Алгоритм Петерсона
- •19. Программные алгоритмы организации взаимодействия процессов. Алгоритм булочной (Bakery algorithm). Аппаратная поддержка взаимоисключений. Test-and-Set. Swap.
- •Команда Test-and-Set (проверить и присвоить 1)
- •Команда Swap (обменять значения)
- •20. Механизмы синхронизации процессов. Семафоры. Концепция семафоров. Решение проблемы producer-consumer с помощью семафоров.
- •Решение проблемы producer-consumer с помощью семафоров
- •21. Механизмы синхронизации процессов. Мониторы. Сообщения
- •22. Эквивалентность семафоров, мониторов и сообщений. Реализация мониторов и передачи сообщений с помощью семафоров.
- •23. Реализация семафоров и передачи сообщений с помощью мониторов. Реализация семафоров и мониторов с помощью очередей сообщений.
- •24. Тупики. Концепция ресурса. Условия возникновения тупиков.
- •25. Основные направления борьбы с тупиками. Алгоритм страуса. Обнаружение тупиков
- •Обнаружение тупиков
- •26. Восстановление после тупиков. Перераспределение ресурсов. Откат. Ликвидацию одного из процессов.
- •27. Способы предотвращения тупиков путем тщательного распределения ресурсов. Алгоритм банкира. Недостатки.
- •28. Предотвращение тупиков за счет нарушения условий возникновения тупиков (взаимоисключения, ожидания дополнительных ресурсов, неперераспределяемости, кругового ожидания)
- •29. Родственные проблемы тупиков. Двухфазная локализация. Тупики не ресурсного типа. Голод (starvation).
- •1.Двухфазная локализация
- •2.Тупики не ресурсного типа
- •3.Голод (starvation)
- •30. Управление памятью. Функции. Связывание адресов.
- •Физическая организация памяти компьютера
- •31. Простейшие схемы управления памятью. Схема с фиксированными разделами. Один процесс в памяти. Оверлейная структура.
- •32. Простейшие схемы управления памятью. Свопинг. Мультипрограммирование с переменными разделами.
- •Динамическое распределение. Свопинг
- •33. Понятие виртуальной памяти. Архитектурные средства поддержки виртуальной памяти. Страничная память.
- •34. Сегментная и сегментно-страничная организации памяти. Таблица страниц.
- •35. Ассоциативная память. Иерархия памяти. Размер страницы.
- •36. Аппаратно-независимый уровень управления виртуальной памятью. Исключительные ситуации при работе с памятью. Стратегии управления страничной памятью.
- •37. Алгоритмы замещения страниц. Fifo алгоритм. Оптимальный алгоритм.
- •38. Алгоритмы замещения страниц. Lru, nfu алгоритмы и другие.
- •Выталкивание дольше всего не использовавшейся страницы. Алгоритм lru
- •Выталкивание редко используемой страницы. Алгоритм nfu
- •Другие алгоритмы
- •39. Thrashing. Свойство локальности. Модель рабочего множества. Демоны пейджинга. Трешинг (Thrashing)
- •Модель рабочего множества
- •Страничные демоны
- •40. Аппаратно-независимая модель памяти процесса. Структуры данных, используемые для описания сегментной модели. Функционирование менеджера памяти.
- •41. Файловая система. Определение. Функции. Имена файлов.
- •42. Структура файлов. Типы и атрибуты файлов. Доступ к файлам. Операции над файлами.
- •43. Директории. Логическая структура файлового архива. Операции над директориями. Защита файлов. Контроль доступа к файлам. Списки прав доступа.
- •44. Реализация файловой системы. Интерфейс файловой системы. Общая структура файловой системы.
- •45. Структура файловой системы на диске. Методы выделения дискового пространства.
- •46. Управление свободным и занятым дисковым пространством. Размер блока. Структура файловой системы на диске.
- •47. Монтирование файловых систем. Связывание файлов. Организация связи между каталогом и разделяемым файлом. Кооперация процессов при работе с файлами.
- •48. Надежность файловой системы. Целостность файловой системы. Управление плохими блоками. Производительность файловой системы. Современные архитектуры файловых систем.
- •49. Система управления вводом-выводом. Физические принципы организации ввода-вывода. Общие сведения об архитектуре компьютера. Структура контроллера устройства.
- •50. Опрос устройств и прерывания. Исключительные ситуации и системные вызовы. Dma.
- •51. Логические принципы организации ввода-вывода. Структура системы ввода-вывода. Систематизация внешних устройств и интерфейс между базовой подсистемой ввода-вывода и драйверами
- •52. Функции базовой подсистемы ввода-вывода. Блокирующиеся, не блокирующиеся и асинхронные системные вызовы. Буферизация и кэширование. Spooling и захват устройств. Обрабо
- •Spooling и захват устройств
- •Обработка прерываний и ошибок
- •Планирование запросов
- •53. Алгоритмы планирования запросов к жесткому диску. Строение жесткого диска и параметры планирования. Алгоритмы fcfs, sstf, scan, c-scan, look, c-look.
- •54. Основные понятия информационной безопасности. Классификация угроз. Формализация подхода к обеспечению информационной безопасности. Классы безопасности.
- •55. Политика безопасности. Криптография, как одна из базовых технологий безопасности ос.
- •56. Защитные механизмы операционных систем. Идентификация и аутентификация. Пароли, уязвимость паролей.
- •57. Авторизация. Разграничение доступа к объектам ос. Домены безопасности.
- •58. Матрица доступа. Недопустимость повторного использование объектов. Аудит, учет использования системы защиты
34. Сегментная и сегментно-страничная организации памяти. Таблица страниц.
Сегментная и сегментно-страничная организация памяти
Существуют две другие схемы организации управления памятью: сегментная и сегментно-страничная. Сегменты, в отличие от страниц, могут иметь переменный размер. При сегментной организации виртуальный адрес является двумерным как для программиста, так и для операционной системы, и состоит из двух полей – номера сегмента и смещения внутри сегмента.
Логическое адресное пространство – набор сегментов. Каждый сегмент имеет имя, размер и другие параметры (уровень привилегий, разрешенные виды обращений, флаги присутствия). В сегментной схеме пользователь специфицирует каждый адрес двумя величинами: именем сегмента и смещением.
Каждый сегмент – линейная последовательность адресов, начинающаяся с 0. Максимальный размер сегмента определяется разрядностью процессора (при 32-разрядной адресации это 232 байт или 4 Гбайт). В элементе таблицы сегментов помимо физического адреса начала сегмента обычно содержится и длина сегмента. Если размер смещения в виртуальном адресе выходит за пределы размера сегмента, возникает исключительная ситуация.
Логический адрес – упорядоченная пара v=(s,d), номер сегмента и смещение внутри сегмента.
В системах, где сегменты поддерживаются аппаратно, эти параметры обычно хранятся в таблице дескрипторов сегментов, а программа обращается к этим дескрипторам по номерам-селекторам.
Рис. 8.8. Преобразование логического адреса при сегментной организации памяти
Аппаратная поддержка сегментов распространена мало (главным образом на процессорах Intel).
Хранить в памяти сегменты большого размера целиком так же неудобно, как и хранить процесс непрерывным блоком. Напрашивается идея разбиения сегментов на страницы. При сегментно-страничной организации памяти происходит двухуровневая трансляция виртуального адреса в физический. В этом случае логический адрес состоит из трех полей: номера сегмента логической памяти, номера страницы внутри сегмента и смещения внутри страницы. Соответственно, используются две таблицы отображения – таблица сегментов, связывающая номер сегмента с таблицей страниц, и отдельная таблица страниц для каждого сегмента.
Рис. 8.9. Упрощенная схема формирования физического адреса при сегментно-страничной организации памяти
Сегментно-страничная и страничная организация памяти позволяет легко организовать совместное использование одних и тех же данных и программного кода разными задачами. Для этого различные логические блоки памяти разных процессов отображают в один и тот же блок физической памяти, где размещается разделяемый фрагмент кода или данных.
Архитектурные средства поддержки виртуальной памяти:
1.Структура таблицы страниц.
В таблице страниц находится:
1.Номер кадра для данной виртуальной страницы.
2.Биты присутствия.
3.Бит защита.
4.Бит доступа.
5.Бит модификации.
6.Бит ссылки.
7.Бит, разрешающий кэширование, и управляющий биты.