- •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. Матрица доступа. Недопустимость повторного использование объектов. Аудит, учет использования системы защиты
5.Классификация ос.
1.По числу одновременно выполняемых задач:
1.Многозадачные (Unix, OS/2, Windows)
2.Однозадачные (например, MS-DOS)
2.По типу многозадачности:
1.Вытеснаящая.
2.Невытесняющая.
3.По числу одновременно работающих пользователей:
1.Однопользовательские.
2.Многопользовательские.
4.По поддержке многопроцессорности:
1.Поддерживают: Симметричные.
Ассиметричные.
2.Неподдерживают.
5.По организации вычислительной работы:
1.Системы пакетной обработки.
2.Системы разделения времени.
3.Системы реального времени: Жесткого реального времени.
Мягкого реального времени.
6.По архитектуре вычислительной машины:
1.ОС персональных ЭВМ.
2.ОС супер ЭВМ.
3.Сетевые ОС.
4.Кластерные ОС.
5.Встраиваемая ОС.
7.По поддержке многонитиевости:
1.Поддерживают.
2.Неподдерживают.
8.По типу ядра ОС:
1.Монолитные.
2.Микроядро.
9.По поддержке объектно ориентированного подхода:
1.Поддерживают.
2.Неподдерживают.
6.Процессы. Понятие процесса. Состояния процесса.
Понятие процесса
Современные компьютеры умеют делать несколько дел одновременно. В многозадачной системе процессор переключается между задачами, выделяя им по немногу времени, причем в каждый отдельный момент процессор может работать только над одной задачей, но переключение между процессами происходит достаточно часто, чтобы у пользователя возникла иллюзия многозадачности. Для упрощения работы с несколькими задачами одновременно было введено понятие процесс.
Все функционирующее в данный момент программное обеспечение организованно в виде процессов. Процесс — это выполняющаяся программа включающая текущие значения счетчиков команд, регистров и переменных.
Состояния процесса
Понятно, что реально на однопроцессорной компьютерной системе в каждый момент времени может исполняться только один процесс. Пока один процесс выполняется, остальные ждут своей очереди.
Процесс может находиться как минимум в двух состояниях: процесс исполняется и процесс не исполняется.
Процесс, находящийся в состоянии исполняется через некоторое время может быть завершен операционной системой или приостановлен и снова переведен в состояние исполняется. Приостановка процесса происходит по двум причинам: для его дальнейшей работы потребовалось какое-либо событие (например, завершение операции ввода-вывода) или истек временной интервал, отведенный операционной системой для работы данного процесса.
Это очень грубая модель, она не учитывает, в частности, то, что процесс, выбранный для исполнения, может все еще ждать события, из-за которого он был приостановлен, и реально еще не готов к выполнению.
Для того чтобы избежать такой ситуации, разобьем состояние не исполняется на два новых состояния: готовность и ожидание.
Всякий новый процесс, появляющийся в системе, попадает в состояние готовность. Операционная система, пользуясь каким-либо алгоритмом планирования, выбирает один из готовых процессов и переводит его в состояние исполнение. Выйти из этого состояния процесс может по трем причинам:
операционная система прекращает его деятельность;
он не может продолжать свою работу, пока не произойдет некоторое событие, и операционная система переводит его в состояние ожидание;
в результате возникновения прерывания в вычислительной системе его возвращают в состояние готовность.
Из состояния ожидание процесс попадает в состояние готовность после того, как ожидаемое событие произошло, и он снова может быть выбран для исполнения.
Для полноты картины нам необходимо ввести еще два состояния процессов: рождение и закончил исполнение.
Теперь для появления в вычислительной системе процесс должен пройти через состояние рождение. При рождении процесс получает в свое распоряжение адресное пространство, в которое загружается программный код процесса; ему выделяются стек и системные ресурсы; устанавливается начальное значение программного счетчика этого процесса и т. д. Родившийся процесс переводится в состояние готовность. При завершении своей деятельности процесс из состояния исполнение попадает в состояние закончил исполнение.