- •№1 Типы и поколения ос. Эволюция ос и ее связь с развитием аппаратных ресурсов эвс.
- •№2 Понятие об операционной системе, ее функциях и составе.
- •№3 Концепция процесса. Состояния процесса.
- •№4 Описание процесса в ос. Операции над процессами.
- •№5 Граф состояний процесса. Управление переходами.
- •№6 Процессы и потоки.
- •№7 Архитектуры ос. Функции ядра.
- •№8 Управление потоками. Многопоточное программирование.
- •№9 Проблема тупиков в ос. Необх условия возникновения тупиков
- •№10 Предотвращение тупиков. Принципы Хавендера.
- •№11 Обнаружение тупиков
- •№12 Обход тупиков. Алгоритм банкира.
- •№13 Прерывания ос и bios. Обработка прерываний.
- •№14. Организация оперативной памяти. Однопрограммные системы. Оверлеи.
- •№15. Организация оперативной памяти. Мультипрограммные системы.
- •№ 16 Основные функции системы управления памятью.
- •№17 Организация оперативной памяти. Основные способы.
- •№18 Организация оперативной памяти. Системы со свопингом.
- •№19. Виды памяти вычислительных систем.
- •№20 Виртуальная память, назначение, основные проблемы. Методы организации.
- •№21 Задачи менеджера виртуальной памяти.
- •№22 Страничная организация виртуальной памяти.
- •№23 Сегментная организация виртуальной памяти.
- •№24 Сегментно-страничная организация виртуальной памяти.
- •№25 Концепция локальности и теория рабочего множества.
- •№26 Стратегии решения задачи замещения страниц при управлении виртуальной памятью.
- •№27 Управление процессами, переключение контекста, приоритеты.
- •№28 Управление процессами. Основные стратегии.
- •№29 Управление процессами. Цели и критерии.
- •№30. Организация файлов. Функции файловой системы. Распределение внешней памяти.
- •№31.Файловая система. Методы поблочного отображения.
- •№32. Hpfs, ntfs и cdfs. Управление доступом к файлам.
- •№33.Устройство нмд. Управление дисками. Критерии планирования.
- •№34.Управление дисками. Основные стратегии управления.
- •№35. Пути повышения производительности дисковых накопителей. Raid0, raid1
- •№36. Пути повышения производительности дисковых накопителей. Raid5, raid6.
- •№37.Пути повышения производительности дисковых накопителей. Raid7, matrix raid.
- •№38. Параллельные асинхронные процессы. Проблемы управления.
- •№39. Программное решение задачи взаимного исключения.
- •№40.Способы синхронизации процессов.
- •№41. Семафоры. Синхронизация и взаимоисключение при помощи семафоров.
- •№42.Межпроцесная коммуникация. Разделяемая память, сообщения.
- •№43.Межпроцесная коммуникация. Pipes и sockets.
- •№44. Защита операционных систем. Цели и методы. Методы идентификации пользователей.
- •45.Защита от вирусов. Методы.
- •№46. Особенности работы операционных систем в сетях.
- •№47.Кластерные вычислительные системы типа CoPc.
- •№48. Параллельные вычисления. Метод Монте-Карло.
- •№49. Параллельные вычисления. Численное интегрирование.
- •№50. Методы распределения нагрузки в параллельных системах.
- •№51.Основные направления развития ос.
- •№52. Прерывания. Обработчики прерываний. Маскирование прерываний.
- •Типы прерываний
№26 Стратегии решения задачи замещения страниц при управлении виртуальной памятью.
1. Принцип оптимальности.
Надо выталкивать ту страницу, к которой дольше всего не будет обращений. Как это можно определить? Никак!
Стратегия не реализуется.
2. Выталкивание случайной страницы.
Достоинство: быстрое решение с маленькими накладными расходами.
Недостатки: может возрасти частота прерываний (выталкиваем нужную страницу).
Используется крайне редко.
3. Принцип FIFO. (первая партия на приход — первая в расход first in, first out)
Красивое решение, обоснования нет.
Достоинство: достаточно быстрое решение.
Недостатки: возможна т.н. аномалия FIFO.
Используется достаточно часто.
4. Выталкивание дольше всего не использовавшейся страницы.
LRU (Least Recently Used)
Достоинство: временной анализ.
Недостатки: - накладные расходы на поддержку временных меток
- смотрит назад, а не вперед.
Используется достаточно редко.
5. Выталкивание реже всего использовавшейся страницы.
LFU (Least Frequently Used)
Будем считать число обращений к странице на заданном интервале.
Достоинство: временной анализ.
Недостатки: - накладные расходы на поддержку временных меток;
- можно вытолкнуть «свежую» страницу;
- трудно вытолкнуть «заслуженного ветерана», страницу которая сразу набрала много обращений
Используется достаточно редко.
6. Выталкивание не использовавшейся в последнее время страницы.
NUR (Not Used Recently)
Будем периодически обновлять счетчик обращений.
Достоинство: устраняем недостаток LFU.
Недостатки:- можно вытолкнуть «свежую» страницу;
- Используется достаточно редко.
№27 Управление процессами, переключение контекста, приоритеты.
Планирование загрузки процессоров – это распределение процессоров (или процессорного времени) между процессами.
Дисциплины планирования делятся на:
- ДИСЦИПЛИНЫ БЕЗ ПЕРЕКЛЮЧЕНИЯ. После выделения процессу ЦП его нельзя отобрать до завершения.
- ДИСЦИПЛИНЫ С ПЕРЕКЛЮЧЕНИЕМ. У процесса можно отобрать ЦП используя таймер или с приходом другого процесса.
Приоритеты бывают:
- СТАТИЧЕСКИЕ – не меняются при работе процесса, жесткий алгоритм управления, низкая эффективность.
- ДИНАМИЧЕСКИЕ – могут учитывать показания системных «сенсоров» , гибкое управление, высокие издержки на обслуживание.
- ПОКУПНЫЕ – изменяется (повышается) по инициативе пользователя. Экзотика.
Контекст процесса включает в себя содержимое адресного пространства задачи, выделенного процессу, а также содержимое относящихся к процессу аппаратных регистров и структур данных ядра. С формальной точки зрения, контекст процесса объединяет в себе пользовательски контекст, регистровый контекст и системный контекст. Ядро разрешает производить переключение контекста в четырех случаях: когда процесс приостанавливает свое выполнение, когда он завершается, когда он возвращается после вызова системной функции в режим задачи, но не является наиболее подходящим для запуска, или когда он возвращается в режим задачи после завершения ядром обработки прерывания, но так же не является наиболее подходящим для запуска.
Механизм переключения контекста:
1. Принять решение относительно необходимости переключения контекста и его допустимости в данный момент.
2. Сохранить контекст "прежнего" процесса.
3. Выбрать процесс, наиболее подходящий для исполнения, используя алгоритм диспетчеризации процессов.
4. Восстановить его контекст.