- •Операционные системы Оглавление
- •Введение. Общие сведения.
- •1.2 История вычислительной системы
- •1.2.1 Первый период 45 – 55 гг.
- •1.2.2 Второй период 55-60 гг.
- •1.2.3 Третий период 60 – 80 гг.
- •1.2.4 Четвертый период с 80-х годов по наст. Время (персональные компьютеры, сетевые и распределенные системы).
- •1.2.5 Итоги развития вс.
- •1.3 Основные понятия и концепции ос
- •1.3.1 Системные вызовы.
- •1.3.2 Программные прерывания.
- •1.3.3 Файл.
- •1.4 Процессы и потоки. Архитектурные особенности ос.
- •1.4.1 Монолитное ядро.
- •1.4.2 Слоеные системы (Layered Systems)
- •1.4.3 Виртуальные машины.
- •1.4.4 Микроядерная архитектура.
- •1.4.5 Смешанные системы.
- •1.5 Классификация ос
- •2. Процессы и их поддержка в ос.
- •2.1 Понятие процесса.
- •2.2 Состояние процесса.
- •2.3 Операции над процессами и связанные с ними понятия
- •2.3.1 Набор операций.
- •2.3.2 Процесс Control Block и контекст процесса.
- •2.3.3 Одноразовые операции.
- •2.3.4 Многоразовые операции над процессами.
- •2.3.5 Переключение контекста.
- •3.Планирование процесса.
- •3.1. Уровни планирования
- •3.2 Критерии планирования и требовании к алгоритмам.
- •3.3 Параметры планирования
- •3.4 Вытесняющие и невытесняющие планирования
- •3.5 Алгоритмы планирования
- •3.5.1FirstComeFirstServed
- •3.5.2 Round Robin
- •3.5.3ShortestJob–First
- •3.5.4 Гарантированное планирование
- •3.5.5 Приоритетное планирование
- •3.5.6 Многоуровневые очереди (multilevelQueue)
- •3.5.7 Многоуровневые очереди
- •4. Кооперация процессов и основные аспекты в её логической реализации.
- •4.1 Взаимодействующие процессы
- •4.2 Категории средств обмена информацией
- •4.3 Логическая организация механизма передачи информации
- •4.3.1 Установление связи
- •4.3.2 Информационная валентность процессов и средств связи.
- •4.3.3 Особенности передачи информации с помощью линии связи.
- •4.3.4 Надежность средств связи
- •4.3.5 Как завершается связь?
- •4.4 Потоки исполнения
- •5. Алгоритмы синхронизации
- •5.1 Interleaving race condition
- •5.2 Критическая секция
- •5.3 Программные алгоритмы организации взаимодействия процессов
- •5.3.1 Требования, предъявляемые к алгоритму.
- •5.3.2 Запрет прерываний
- •7.8.2 Недостатки алгоритма банкира
- •8.2 Логическая память
- •8.3 Связывание адресов
- •8.4 Функции системы управления памятью
- •8.6 Страничная память
- •8.7 Сегментная и сегментно-страничная организация памяти
- •9. Виртуальная память
- •9.1 Понятие виртуальной памяти
- •9.2 Архитектурные средства поддержки виртуальной памяти
7.8.2 Недостатки алгоритма банкира
1) алгоритм предполагает фиксированное количество ресурсов
3) алгоритм требует постоянное количество пользователей
4) алгоритм предполагает гарантированное удовлетворение запроса за конечное время
алгоритм требует чтоб клиенты вовремя возвращали ресурсы
5) необходимо чтобы пользователь указывал точную потребность в ресурсе.
7.9 предотвращение тупиков за счет предотвращения условий их возникновения
ели нарушить одно из 4-х условий возникновения тупиков гарантировано, что тупика не будет
7.9.1 нарушение условий взаимоисключения
Если в системе отсутствуют монопольные ресурсы, то тупика не будет
7.9.2 нарушение условий ожидания дополнительных ресурсов
возможная стратегия:
каждый процесс должен запрашивать все требуемые ресурсы сразу. Если все ресурсы не предоставлены, то он не начинает работу
если процесс удерживает ресурс и получает отказ в выделении остальных, то он должен вернуть ранее захваченные ресурсы
7.9.3 нарушение принципа о неперераспределяемости.
можно отобрать ресурс у процесса, не дожидаясь его окончания.
7.9.4 нарушение условия кругового ожидания
Правило: чтобы каждый процесс в кокой-то промежуток времени мог использовать только один ресурс.
7.10 Родственные проблемы
7.10.1 Двухфазная локализация
_______ ресурсного типа
8. Простейшие схемы управления памятью
Задача управления памятью – менеджер памяти (часть ОС, отвечающая за управление памятью). Если процессы работают параллельно, значит, в памяти есть несколько разделов, занятых кодом.
8.1 Физическая организация памяти компьютера
Выделяют:
основную память – массив пронумерованных байтов, номер есть адрес (модель памяти)
вторичную память
Регистры процессора (регистровая память) Цена бита Время доступа |
Кэш процессора |
Оперативная память |
Электронные диски |
Магнитные диски |
Магнитные ленты |
8.1.1 Локальность
Известно, что по мере снижения скорости доступа к памяти снижается и частота обращения к ней. Свойство реальных программ в течение ограниченного времени работать с небольшим набором адресов памяти называется локальностью(принцип локальности или принцип локализации обращений). При использовании принципа локальности реальное время доступа к памяти определяется временем доступа к верхним уровням.
В некоторых случаях для организации вычислений используются овирлейные структуры – это означает, что программа разбивается на части и каждая из частей последовательно загружается в оперативную память.
8.2 Логическая память
Большинство программ – это набор модулей независимых друг от друга (слабо зависимых). В общем случае модули одной программы размещаются в разных областях памяти зачастую не смежных друг с другом – лучший способ.
Область данных, в которой размещены фрагменты программы, называется сегментом. Внутри сегмента поддерживается линейная адресация. Сегмент может содержать отдельную функцию, большой объем данных. Отдельные участки памяти, хранящие совместно используемую информацию, которую ОС отображает в память нескольких процессов, и называются сегментами. При использовании сегментов есть возможность контролировать характер работ с конкретным сегментом, используя атрибуты.
|
Стек процесса P2 |
|
Библиотека |
|
Данные процесса P1 |
Код процесса P1 |
|
Данные процесса P2 |
|
Стек процесса P1 |
|
Стек процесса P2 |
|
ОС |
Большинство современные ОС поддерживает сегментную организацию памяти. Фирма Intel поддерживает сегментацию аппаратно (обычно более эффективна). Адреса в исходных текстах обычно символические. Компилятор связывает символические адреса с перемещаемыми адресами (n-байт от начала модуля). Такой адрес, сгенерированный программой, называют логическим адресом (в системах с виртуальной памятью этот адрес называют виртуальным). Совокупность всех логических адресов называетсялогическим (виртуальным) адресным пространством.