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

Томашевич

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

Оглавление

Операционные системы.. 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

 


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

ОСь – это прога, которая обеспечивает возможность рационального использование оборудования компа удобным для юзера способом.

ОС

Структура вычислительной системы:

· Hardware

· Software

o Системное ПО – проги, которые способствуют ф-нию и разработке прикладных программ;

o Прикладное ПО – то, что мы создаем и в последствии используем, для решения задач юзера;

Что такое ОС?

ОС – многоф-ая прога.

Во-первых, ОС выступает как виртуальная машина с которой достаточно просто и комфортно работать. Желательно иметь простую высокоуровневую абстракцию, позволяющую скрывать от программиста, или от работающего за клавиатурой, ненужные подробности организации архитектуры вычислительной системы.

Во-вторых, ОС выступает как менеджер ресурсов, другими словами можно сказать, что ОС предназначена для управления всеми частями сложной архитектуры компа. ОС осуществляет упорядоченное и контролируемое управление процессом памяти и др. ресурсов между программами их использующих.

В-третьих, ОС выступает как защитник юзеров и прог. ОС занимается с большим количеством юзеров. Нельзя разрешить программам одних юзеров произвольно вмешиваться в проги др. юзеров.

В-четвертых, ОС выступает как постоянно фун-щее ядро. ОС – это прога, которая работает постоянно, а если точнее то в ОП постоянно есть либо сама ОС, либо какая-то ее часть и это (ОС или ее часть – ядро) взаимодействует со всеми прогами

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

Критерии удобства, эффективности и безопасности играли роль естественного отбора в эволюции вычислительных систем и ОС в частности.

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

Ламповые системы ОС отсутствовали. В 40-х годах они стали появляться. Фон Нейман создал концепцию хранения проги в памяти. В это время разрабы и юзеры были одни и те же люди, программирование осуществлялось исключительно на машинном языке. В этот период стоимость системы была очень высока, эффективность использования очень низкая.

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

Компы на основе транзисторов, пакетные информационные системы. Транзисторы позволяли создать полупроводниковые машины. За счет транзисторов уменьшилось энергопотребление, увеличилась надежность. Появились языки программирования (Fortran, Lisp, Gobol), компиляторы. Происходит разделение персонала на программистов, операторов, спецов по эксплуатации и спецов по разработке вычислительных систем. Колода перфокарт – задание (сколько времени на процесс, данные и т.д.). Появились первые системы обработки пакетов, при этом был разработан специальный формализованный язык управления заданием.

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

Компы на основе интегральных микросхем. Первые многозадачные ОС. Увеличивается частота и эффективность. Вместо непосредственно чтения пакета стали записывать задание на магнитную ленту. Появились изменения в выводе информации. Введение техники подкачки/откачки в пакетные системы позволило совместить реальные операции ввода/вывода одного задания с выполнением другого задания, но это потребовало появление аппарата прерывания для извещения процессора об окончании этих операций. Появление устройств прямого доступа привело к дальнейшему развитию информационных систем. Пакетные системы начинают заниматься планированием заданий в зависимости от количества запрошенных ресурсов, срочности выполнения и т.д.

Мультипрограммирование.

Начало реализации идеи мультипрограммирования: пока одна из программ выполняет операцию ввода/вывода, процессор не простаивает - он может выполнять другую программу. Мультипрограммирование требует наличие в ОП (оперативной памяти) нескольких программ сразу; размещение программы в памяти зачастую происходит не целиком. Это потребовало изменения аппаратуры:

1. Появились механизмы реализации защиты программ (программы не должны иметь возможность самостоятельно проникать в любую область памяти);

a. Появились превилегированный (выполнаются только ОС или превилегированными прогами) и не превилегированные команды;

b. Появилась защита памяти, которая не позволяла конкурирующим программам вредить друг другу;

2. Наличие прерываний;

a. Прерывания внешние, которые оповещают ОС о возникновении асинхронного события, т.е. события никак не связанного с кодом вычислительного процесса;

b. Прерывания внутренние (исключительные ситуации), как правило, требуют, для ее разрешения, привлечения ОС, завершается снятием программы с выполнения.

А также изменения ОС:

1. Интерфейс между прикладной программой и ОС был организован при помощи системных вызовов

2. Организация очереди из заданий в памяти и выделение процессора одному из заданий по требованию планирования заданий

3. Для переключения процессора с одного заданий на другое потребовалось сохранение содержимого регистра и структур данных, необходимых для продолжения задания после прерывания его выполнения

4. Поскольку память является ограниченным ресурсом, появились стратегии управления памятью

5. Обмен данными между программами

6. Для корректного обмена данными необходимо все действия программ координировать, т.е. необходимы средства синхронизации

 

Мультипрограммные пакетные системы дают окружение в котором различные системные ресурсы (процессор/память/периферийные устройства) используются эффективно. Расширением идеи мультипрограммирования стали системы разделения времени (понятие кванта времени). Человек от ВС не оторван и получает быстрый результат ( ≈P/N).

В 60-х годах появились семейства программно-совместимых ЭВМ. Это были американские системы IBM-360/370. Семейства ПС ЭВМ – это ситуации, когда изготавливались ЭВМ различной мощности, имеющие:

· единую систему команд;

· общую ОС, реализованную на компах большой мощности;

· общие периферийные устройства.

Недостатки: громоздкая ОС.