Операционные системы


Томашевич

Оглавление

Операционные системы.. 1

1. Введение. Общие сведения. 5

1.1 ОС.. 5

1.2 История вычислительной системы.. 5

1.2.1 Первый период 45 – 55 гг. 6

1.2.2 Второй период 55-60 гг. 6

1.2.3 Третий период 60 – 80 гг. 6

1.2.4 Четвертый период с 80-х годов по наст. время (персональные компьютеры, сетевые и распределенные системы). 8

1.2.5 Итоги развития ВС. 8

1.3 Основные понятия и концепции ОС.. 9

1.3.1 Системные вызовы. 9

1.3.2 Программные прерывания. 9

1.3.3 Файл. 10

1.4 Процессы и потоки. Архитектурные особенности ОС. 11

1.4.1 Монолитное ядро. 11

1.4.2 Слоеные системы (Layered Systems) 11

1.4.3 Виртуальные машины. 11

1.4.4 Микроядерная архитектура. 12

1.4.5 Смешанные системы. 13

1.5 Классификация ОС.. 13

2. Процессы и их поддержка в ОС. 14

2.1 Понятие процесса. 14

2.2 Состояние процесса. 14

2.3 Операции над процессами и связанные с ними понятия. 15

2.3.1 Набор операций. 15

2.3.2 Процесс Control Block и контекст процесса. 15

2.3.3 Одноразовые операции. 16

2.3.4 Многоразовые операции над процессами. 16

2.3.5 Переключение контекста. 17

3. Планирование процесса. 19

3.1. Уровни планирования. 19

3.2 Критерии планирования и требовании к алгоритмам. 19

3.3 Параметры планирования. 20

3.4 Вытесняющие и невытесняющие планирования. 21

3.5 Алгоритмы планирования. 22

3.5.1 First Come First Served. 22

3.5.2 Round Robin. 22

3.5.3 Shortest Job – First 23

3.5.4 Гарантированное планирование. 24

3.5.5 Приоритетное планирование. 24

3.5.6 Многоуровневые очереди (multilevel Queue) 25

3.5.7 Многоуровневые очереди. 25

4. Кооперация процессов и основные аспекты в её логической реализации. 26

4.1 Взаимодействующие процессы.. 26

4.2 Категории средств обмена информацией. 27

4.3 Логическая организация механизма передачи информации. 27

4.3.1 Установление связи. 27

4.3.2 Информационная валентность процессов и средств связи. 28

4.3.3 Особенности передачи информации с помощью линии связи. 28

4.3.4 Надежность средств связи. 29

4.3.5 Как завершается связь?. 29

4.4 Потоки исполнения. 29

5. Алгоритмы синхронизации. 32

5.1 Interleaving race condition. 32

5.2 Критическая секция. 34

5.3 Программные алгоритмы организации взаимодействия процессов. 34

5.3.1 требования, предъявляемые к алгоритму. 34

5.3.2 Запрет прерываний. 35

5.3.3 Строгое чередование. 35

6. Механизмы синхронизации. 37

6.1. семафор. 37

6.1.1. концепция работы семафора. 37

6.1.2. решение проблемы производитель -> потребитель. 37

7. Тупики. 38

7.2 Концепция ресурсов. 38

7.3 Условие возникновения тупиков. 39

7.4 Основные направления борьбы с тупиками. 39

7.5. Алгоритм Страуса. 39

7.6. Обнаружение тупиков. 39

7.7. Восстановление после тупиков. 40

7.7.1 Восстановление с помощью перераспределения ресурсов. 41

7.7.2 Восстановление через откат назад. 41

7.7.3 Восстановление через ликвидацию системных процессов. 41

7.8. Способы обхода тупиков путём распределения ресурсов. 41

7.8.1 Алгоритм банкира. 42

7.8.2 Недостатки алгоритма банкира. 42

7.9 предотвращение тупиков за счет предотвращения условий их возникновения. 43

7.9.1 нарушение условий взаимоисключения. 43

7.9.2 нарушение условий ожидания дополнительных ресурсов. 43

7.9.3 нарушение принципа о неперераспределяемости. 43

7.9.4 нарушение условия кругового ожидания. 43

7.10 Родственные проблемы.. 43

7.10.1 Двухфазная локализация. 43

8. Простейшие схемы управления памятью.. 44

8.1 Физическая организация памяти компьютера. 44

8.1.1 Локальность. 44

8.2 Логическая память. 44

8.3 Связывание адресов. 45

8.4 Функции системы управления памятью.. 46

8.5 Простейшие схемы управления памятью.. 46

8.5.1 Схема с фиксированными разделами. 46

8.5.4 Динамическое распределение памяти (swapping) 47

8.5.5 Схема с переменными разделами. 47

8.6 Страничная память. 48

8.7 Сегментная и сегментно-страничная организация памяти. 49

9. Виртуальная память. 50

9.1 Понятие виртуальной памяти. 50

9.2 Архитектурные средства поддержки виртуальной памяти. 51