- •1. Понятие ос
- •2. Функции ос
- •3. Классификация ос
- •4. Загрузка программ
- •5. Управление оперативной памятью
- •6. Открытая память
- •7. Алгоритмы динамического управления памятью
- •8. Системы с базовой виртуальной адресацией
- •9. Сегментная и страничная виртуальная память
- •10. Страничный обмен
- •11. Параллельное и псевдопараллельное исполнение (планировщик)
- •12. Методы синхронизации при параллельной работе
- •13. Прерывания, сигналы и семафоры
- •14. Блокировка участков файлов
- •15. Гармонически взаимодействующие последовательные процессы
- •16. Межзадачное взаимодействие
- •17. Средства для гармонического межпроцессного взаимодействия
- •18. Трубы. Линки
- •19. Системы управляемые событиями
- •20. Многопроцессность на однопроцессных компьютерах
- •21. Кооперативная многопроцессность и вытесняющая многопроцессность
- •22. Планировщики с приоритетом
- •23. Монолитные системы и системы с микроядром
- •24. Драйверы внешних устройств и функции драйверов
- •25. Синхронный ввод/вывод в однозадачных и многозадачных системах
- •26. Асинхронный ввод/вывод
- •27. Дисковый кэш и спулинг
- •28. Файловые системы
- •29. Структуры файловых систем
- •30. Устойчивость фс к сбоям
- •31. Безопасность. Идентификация пользователя. Права доступа
- •32. Защита оперативной памяти. Кольца защиты
- •33. Взаимно недоверяющие подсистемы
- •34. Пользовательский интерфейс
- •35. Определение операционной системы
- •37. Структура сетевой ос (одноранговые, с выделенными серверами, для рабочих групп и ос для сетей масштаба предприятия)
- •38. Управление процессами (состояние, контекст и дескриптор процесса)
- •39. Алгоритмы планирования процессов (вытесняющие и невытесняющие)
- •40. Средства синхронизации и взаимодействия процессов. Нити исполнения
- •41. Управление памятью. Типы адресов
- •42. Методы распределения памяти без использования дискового пространства (разделы фиксированные, переменной величины и перемещаемые)
- •43. Методы распределения памяти с использованием дискового пространства (виртуальная память, страничное, сегметное, странично-сегментное распределение)
- •44. Иерархия запоминающих устройств (может быть исключён). Принцип кэширования данных
- •45. Аппаратная поддержка управления памятью и многозадачной среды
- •46. Средства поддержки сегментации памяти
- •47. Управление вводом-выводом. Физическая организация устройств ввода-вывода
- •48. Обработка прерываний. Драйверы устройств
- •49. Управление вводом-выводом. Независимый от устройств слой операционной системы
- •50. Пользовательский слой программного обеспечения
- •51. Фс. Имена файлов. Типы файлов.
- •52. Фс. Логическая и физическая организация файлов
- •53. Современные архитектуры фс (Олифер)
- •54. Фс. Отображаемые в память файлы
- •55. Управление распределёнными ресурсами. Способы адресации
- •56. Базовые примитивы передачи сообщений в распределённых системах
- •57. Синхронизация в распределённых системах. Логические часы. Взаимные исключения. Неделимые транзакции
- •58. Процессы и нити в распределённых системах. Понятие нити. Вопросы реализации нитей.
- •59. Распределённые фс. Интерфейсы файлового сервиса и сервиса каталогов
- •60. Распределённые фс. Семантика разделения файлов. Вопросы разработки структуры фс.
- •61. Распределённые фс. Кэширование. Репликация
- •1. Сквозная запись.
- •62. Основные подходы к реализации взаимодействия в гетерогенных сетях
- •63. Шлюзы. Мультиплексирование стеков протоколов в гетерогенных сетях
- •66. Расширяемость, переносимость, совместимость и безопасность современных ос
- •67. Структура ос: монолитные системы, многоуровневые системы
- •68. Структура ос: модели клиент-сервер и микроядра
- •69. Структура ос: объектно-ориентированный подход
- •70. Структура ос: множественные прикладные среды
5. Управление оперативной памятью
Иерархическая структура памяти:
1) Сверхбыстрый кэш – энергозависимый
2) Среднебыстрая оперативная память – энергозависимая
3) Медленная дисковая память – энергонезависимая
***
Менеджер памяти – часть ОС, отвечающая за управление памятью.
Функции:
1) Проверка используемой памяти;
2) Выделение памяти процессам;
3) Освобождение ресурсов по завершении работы процессов;
4) Управление обменом данными между ОЗУ и диском.
***
Два класса систем управления памятью:
1) без перемещения процессов между жёстким диском и памятью (подкачки);
2) paging (страничная подкачка процессов) и swapping (полная подкачка процессов).
***
Схемы управления памятью:
1) Однозадачная система без подкачки на диск
В каждый момент времени работает только одна программа, память разделяется между ней и ОС. ОС может располагаться:
– в нижней части памяти (в ОЗУ): схема, характерная для мэйнфреймов и мини-компьютеров;
– в верхней части памяти (в ПЗУ): КПК и встроенные системы;
– в ОЗУ — ОС, в ПЗУ — драйвера: ранние ПК (с DOS). Часть ПЗУ называлась BIOS (Basic Input-Output System);
При подобной организации после ввода команды программа загружалась с диска в память и выполнялась, по окончании ожидался ввод следующей команды. Каждая новая программа перезаписывала уже загруженную.
2) Многозадачность с фиксированными разделами
Память разбивается на n разделов, возможно, неравных по объему. Запускаемый процесс располагается в очереди к наименьшему разделу, соответствующему его размеру. Оставшаяся часть раздела пропадает впустую.
Недостаток подобного метода очевиден: когда запускается много небольших процессов, очередь к малым разделам разрастается, в то время, как большие разделы простаивают.
Альтернативная реализация подразумевает единую очередь. При освобождении области памяти, в очереди осуществляется поиск и предоставляется приоритетное обслуживание наибольшей, помещающейся в данную область, задаче. В результате, наименьшие (как правило — интерактивные) процессы дискриминируются. Для предотвращения подобной ситуации возможно создание небольшой области для обслуживания маленьких задач.
Также возможно установление для каждой задачи числа возможных пропусков k. При каждом пропуске это число уменьшается, при достижении нуля задачу больше нельзя игнорировать.
***
Моделирование многозадачности
При использовании многозадачности повышается эффективность загрузки центрального процессора. Грубо говоря, если средний процесс выполняет вычисления только 20% от того времени, которое он находится в памяти, то при присутствии в памяти одновременно пяти процессов центральный процессор должен быть занят всё время. Эта схема слишком оптимистична в отличие от реальной ситуации, поскольку она предполагает, что все пять процессов никогда не ожидают завершения операции ввода-вывода одновременно.
***
Подкачка
1) Свопинг – процессы загружаются в память и выгружаются на диск динамически. При этом главное отличие от схемы с фиксированными разделами в том, что здесь размер разделов зависит от объёма процессов, изменяется динамически.
2) Виртуальная память – находиться в памяти или на диске могут не только целые программы, а также их части. Виртуальные адреса преобразуются в физические.