Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лекции СПО

.pdf
Скачиваний:
30
Добавлен:
03.06.2015
Размер:
2.4 Mб
Скачать

КУРС ЛЕКЦИЙ

По дисциплине: «Системное программное обеспечение»

Тюмень 2008

 

Содержание

 

1

Основные определения...................................................................................

5

2

Эволюция операционных систем .................................................................

7

 

2.1

Появление первых операционных систем...................................

7

2.2Появление мультипрограммных операционных систем для

мэйнфреймов................................................................................................

10

2.3

Операционные системы и глобальные сети .............................

15

2.4Операционные системы мини-компьютеров и первые

локальные сети............................................................................................

16

2.5

Развитие операционных систем в 80-е годы .............................

18

2.6Особенности современного этапа развития операционных

 

систем ............................................................................................................

24

 

2.7

Выводы .............................................................................................

28

3

Назначение и функции операционной системы......................................

31

 

3.1

Операционные системы для автономного компьютера .........

31

 

 

3.1.1 ОС как виртуальная машина ...........................................

31

 

 

3.1.2 ОС как система управления ресурсами..........................

33

3.2Функциональные компоненты операционной системы

 

автономного компьютера..........................................................................

35

 

 

3.2.1

Управление процессами .....................................................

36

 

 

3.2.2

Управление памятью..........................................................

38

 

 

3.2.3 Управление файлами и внешними устройствами........

40

 

 

3.2.4 Защита данных и администрирование ...........................

42

 

 

3.2.5

Интерфейс прикладного программирования ................

44

 

 

3.2.6

Пользовательский интерфейс...........................................

45

 

3.3

Требования к современным операционным системам...........

46

 

3.4

Выводы .............................................................................................

49

4

Архитектура операционной системы ........................................................

50

 

4.1

Ядро и вспомогательные модули ОС .........................................

50

 

4.2

Ядро в привилегированном режиме ...........................................

54

 

4.3

Многослойная структура ОС .......................................................

58

 

4.4

Типовые средства аппаратной поддержки ОС.........................

64

 

4.5

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

68

 

 

4.5.1 Концепция .............................................................................

68

 

 

4.5.2 Преимущества и недостатки микроядерной

 

 

 

архитектуры.....................................................................................

71

 

4.6

Выводы .............................................................................................

74

5

Процессы и потоки ........................................................................................

77

 

5.1

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

77

 

 

5.1.1 Мультипрограммирование в системах пакетной

 

 

 

обработки..........................................................................................

78

 

 

5.1.2 Мультипрограммирование в системах разделения

 

 

 

времени .............................................................................................

83

 

 

5.1.3 Мультипрограммирование в системах реального

 

 

 

времени .............................................................................................

84

 

5.2

Мультипроцессорная обработка..................................................

86

 

5.3

Понятия «процесс» и «поток» ......................................................

91

 

5.4

Операции над процессами ............................................................

96

 

5.5

Планирование и диспетчеризация потоков ..............................

98

 

5.6

Состояния потока .........................................................................

102

5.7Вытесняющие и невытесняющие алгоритмы планирования

 

104

 

 

 

5.8

Алгоритмы планирования, основанные на квантовании....

106

 

5.9

Алгоритмы планирования, основанные на приоритетах ....

110

 

5.10

Смешанные алгоритмы планирования ...................................

113

 

5.11

Планирование в системах реального времени .......................

115

 

5.12

Выводы ...........................................................................................

116

6

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

118

 

6.1

Назначение и типы прерываний ...............................................

118

6.2

Механизм прерываний ................................................................

121

6.3

Диспетчеризация и приоритезация прерываний в ОС.........

127

6.4Функции централизованного диспетчера прерываний на

 

примере Windows NT................................................................................

129

 

6.5

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

135

 

6.6

Выводы ...........................................................................................

141

7

Синхронизация процессов и потоков ......................................................

143

 

7.1

Цели и средства синхронизации ................................................

143

 

7.2

Необходимость синхронизации и гонки...................................

145

 

7.3

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

147

 

7.4

Блокирующие переменные .........................................................

147

 

7.5

Семафоры .......................................................................................

152

 

7.6

Тупики.............................................................................................

155

 

7.7

Синхронизирующие объекты ОС..............................................

159

 

7.8

Сигналы..........................................................................................

162

 

7.9

Выводы ...........................................................................................

163

9

Управление памятью ..................................................................................

164

 

9.1

Функции ОС по управлению памятью ....................................

164

 

9.2

Типы адресов .................................................................................

165

 

9.3

Алгоритмы распределения памяти...........................................

172

 

9.4

Распределение памяти фиксированными разделами ...........

173

 

9.5

Распределение памяти динамическими разделами...............

175

 

9.6

Перемещаемые разделы ..............................................................

176

 

9.7

Свопинг и виртуальная память ................................................

178

 

9.8

Страничное распределение.........................................................

181

 

9.9

Сегментное распределение..........................................................

191

 

9.10

Сегментно-страничное распределение .....................................

194

 

9.11

Разделяемые сегменты памяти ..................................................

199

 

9.12

Выводы ...........................................................................................

202

1 Основные определения

Системное про р ммное о еспечение — это н ор про р мм, которые

упр вляют компонент ми вычислительной системы (т кими к к процессор,

коммуник ционные

 

и периферийные

устройств ),

т кже

которые

предн зн чены для о еспечения функциониров ния и р

отоспосо ности всей

системы.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Большинство

из

них

отвеч ют

непосредственно з

контроль

и

о ъединение

в

единое

целое

р зличных

компонентов

пп р тно о

о орудов ния вычислительной системы.

 

 

 

 

 

 

 

 

Системное про р ммное о еспечение противопост вляется прикл дному

про р ммному

о еспечению,

которое

н прямую

реш ет

про лемы

пользов теля.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

СПО включ ет в се я дв

компонент :

 

 

 

 

 

 

)

опер ционные системы;

 

 

 

 

 

 

 

 

 

)

системные про р ммы.

 

 

 

 

 

 

 

 

 

 

ОС – это комплекс про р ммных средств, которые выполняют функции

упр вления

р

отой

всей системы, о еспечив ют

первон ч льный ст рт,

конфи уриров ние

и

восст новление системы,

т кже

предост вляют

интерфейс вз имодействия с пользов телем.

 

 

 

 

 

 

 

СП

комплекс

про р ммных

модулей,

которые

о еспечив ют

вз имосвязь между интерфейсом и

пп р тными средств ми системы.

 

 

 

Системные про р ммы:

 

 

 

 

 

 

 

 

 

)

м шинно-ориентиров нные тр нсляторы (

ссем леры);

 

 

 

)

про р ммно-ориентиров нные

тр нсляторы

 

(компиляторы,

интерпрет торы);

 

 

 

 

 

 

 

 

 

 

 

 

в)

вспомо

тельные (отл дчики, утилиты, м кропроцессор).

 

 

 

 

Тр нслятор - про р мм , котор я

приним ет

н

вход

про р мму

н

одном языке (он в этом случ е н зыв ется исходный язык,

про р мм

исходный код),

и прео р зует еѐ в про р мму, н пис нную н

дру ом языке

(соответственно, целевой язык и о ъектный код).

 

 

 

Ассем лер - тр нслятор с язык

ссем лер

в ком нды

м шинно о

язык .

 

 

 

 

 

 

Компилятор - тр нслятор, который осуществляет перевод всей исходной

про р ммы в

эквив лентную ей результирующую

про р мму

н языке

м шинных ком нд.

 

 

 

 

 

Компилятор – проверяет и выполняет всю программу целиком, в случае

успеха генерирует файл *.exe, если программа написана неверно

- компилятор

выведет список всех ошибок.

 

 

 

 

нтерпрет тор

— про р мм

для непосредственно о

исполнения

про р мм (производств

вычислений, предписыв емых этими про р мм ми) из

исходно о код

н определѐнном языке.

 

 

 

 

Интерпретатор – отличается от компилятора тем, что не выдает объектного файла и отлавливает только по одной ошибке за каждый просмотр, т.к. просматривает программу построчно.

Отл дчик является модулем среды р зр отки или отдельным приложением, предн зн ченным для поиск оши ок в про р мме.

Утил ит — про р ммный продукт, предн зн ченный для решения вспомо тельных з д ч.

Основн я функция М кропроцессор – з мен одних рупп символов дру ими.

2 Эволюция операционных систем

стория лю ой отр сли н уки или техники позволяет не только удовлетворить естественное лю опытство, но и лу же понять сущность основных достижений этой отр сли, осозн ть существующие тенденции и

пр вильно оценить перспективность тех или иных н пр влений р звития. З

почти полувековой период свое о существов ния опер ционные системы прошли сложный путь, н сыщенный мно ими в жными со ытиями. О ромное

влияние

н

р звитие

опер ционных систем ок з ли

успехи в

совершенствов нии элементной

зы и вычислительной

пп р туры, поэтому

мно ие

эт пы р звития

ОС

тесно

связ ны с появлением

новых типов

пп р тных

пл тформ,

т ких

к к

мини-компьютеры

или

персон льные

компьютеры. Серьезную эволюцию опер ционные системы претерпели в связи

с новой ролью компьютеров в лок льных и ло льных сетях. В жнейшим

ф ктором р звития ОС ст л нтернет. По мере то о к к эт

Сеть прио рет ет

черты универс льно о средств м ссовых коммуник ций,

ОС ст новятся все

олее простыми и удо ными в использов нии, включ ют р звитые средств поддержки мультимедийной информ ции, сн ж ются н дежными средств ми

зщиты.

2.1Появление первых операционных систем

дея компьютер ыл предложен н лийским м тем тиком Ч рльзом

Бэ иджем (Charles Babage) в середине девятн дц то о век . Е о мех ническ я

« н литическ я м шин » т к и не смо л по-н стоящему з р от ть, потому что техноло ии то о времени не удовлетворяли тре ов ниям, нео ходимым для из отовления нужных дет лей точной мех ники. Конечно, ник кой речи о опер ционной системе для это о «компьютер » не шло.

Н стоящее рождение цифровых вычислительных м шин произошло вскоре после оконч ния Второй мировой войны. В середине 40-х ыли созд ны первые л мповые вычислительные устройств . В то время одн и т же рупп

людей

уч ствов л

и

в

проектиров нии,

и

в

эксплу т ции,

ив

про р ммиров нии

вычислительной

м шины.

Это

ыл

скорее

н учно-

исследов тельск я

р от

 

в

о л сти

вычислительной

техники,

не

использов ние

компьютеров

в

к честве инструмент

решения к ких-ли о

пр ктических

з д ч

из

дру их

прикл дных

о л стей.

Про р ммиров ние

осуществлялось исключительно

н

м шинном языке. Не ыло

ник ко о

системно о про р ммно о о еспечения, кроме

и лиотек

м тем тических

и

служе ных подпро р мм, которые про р ммист мо

использов ть для то о,

что ы

не пис ть к ждый

р з

коды,

вычисляющие зн чение к кой-ли о

м тем тической функции или упр вляющие ст нд ртным устройством ввод -

вывод . Опер ционные системы все еще не появились, все з д чи ор низ ции вычислительно о процесс реш лись вручную к ждым про р ммистом с пульт

упр вления, который предст влял со ой примитивное устройство ввод -

вывод , состоящее из кнопок, переключ телей и индик торов. С середины 50-х

одов н ч лся новый период в р звитии вычислительной техники, связ нный с

появлением новой

технической

зы

полупроводниковых элементов.

Выросло ыстродействие процессоров,

увеличились о ъемы опер тивной и

внешней п мяти. Компьютеры ст ли

олее н дежными, теперь они мо ли

непрерывно р от ть н столько дол о,

что ы н них можно ыло возложить

выполнение действительно пр ктически в жных з д ч.

 

 

Н ряду с

совершенствов нием

пп р туры

з метный

про ресс

н люд лся т кже в о л сти

втом тиз ции про р ммиров ния и ор

низ ции

вычислительных р

от. В эти

оды появились первые

л оритмические языки,

и т ким о р зом к и лиотек м м тем тических и служе ных подпро р мм

до вился новый тип системно о про р ммно о о еспечения — тр нсляторы.

Выполнение к ждой про р ммы ст ло включ ть ольшое количество вспомо тельных р от: з рузк нужно о тр нслятор (АЛГОЛ, ФОРТРАН,

КОБОЛ и т. п.), з пуск тр нслятор и получение результирующей про р ммы в

м шинных код х, связыв ние про р ммы с и лиотечными подпро р мм ми,

з рузк про р ммы в опер тивную п мять, з пуск про р ммы, вывод

результ тов н

периферийное устройство. Для ор

низ ции

эффективно о

совместно о

использов ния

тр нсляторов,

и лиотечных

про р мм и

з рузчиков в шт т мно их вычислительных центров

ыли введены должности

опер торов,

профессион льно

выполнявших

р

оту по

ор

низ ции

вычислительно о процесс для всех пользов телей это о центр .

 

 

Но к к

ы ыстро и н дежно ни р от ли опер торы,

они ник к не

мо ли состяз ться в производительности с р

отой

устройств компьютер .

Большую ч сть времени процессор прост ив л в ожид нии,

пок

опер тор

з пустит очередную з д чу. А поскольку процессор предст влял со ой весьм доро ое устройство, то низк я эффективность е о использов ния озн ч л низкую эффективность использов ния компьютер в целом. Для решения этой

про лемы

ыли р зр

от ны первые системы п кетной о р

отки,

которые

втом тизиров ли всю последов тельность действий опер тор

по ор

низ ции

вычислительно о

процесс .

Р нние

системы

п кетной

о р

отки

явились

проо р зом

современных

 

опер ционных

систем,

они ст ли

первыми

системными про р мм ми,

предн зн ченными не для о р

отки д нных,

для

упр вления вычислительным процессом.

 

 

 

 

 

 

 

 

 

В

ходе

ре лиз ции

систем

п кетной

о р

отки

ыл

р зр

от н

форм лизов нный

язык

упр вления з д ниями,

с

 

помощью

которо о

про р ммист

соо щ л

системе и

опер тору,

к кие

действия

и

в

к кой

последов тельности он хочет выполнить н

вычислительной м шине. Типовой

н ор директив

о ычно включ л призн к

н ч л

отдельной

р

оты,

вызов

тр нслятор , вызов з

рузчик , призн ки н ч л и конц

исходных д нных.

Опер тор сост влял п кет з д ний, которые в

д льнейшем

ез е о

уч стия

последов тельно

 

з пуск лись

н

выполнение

упр вляющей

про р ммой — монитором. Кроме то о, монитор

ыл спосо ен с мостоятельно

о р тыв ть н и олее ч сто встреч ющиеся

при р оте

пользов тельских

про р мм в рийные ситу ции,

т кие к к

отсутствие

исходных д нных,

переполнение ре истров, деление

н ноль,

о р щение

к

несуществующей

о л сти п мяти и т. д. П кет о ычно предст влял со ой н

ор перфок рт, но

для ускорения р

оты он мо переноситься н

олее удо ный и емкий носитель,

н пример н

м

нитную ленту или м

нитный диск. С м про р мм -монитор в

первых ре лиз циях т кже хр нил сь н

перфок рт х или перфоленте, в олее

поздних — н м

нитной ленте и м

нитных диск х.

Р нние системы п кетной о р

отки

зн чительно сокр тили з тр ты

времени н

вспомо

тельные действия по

ор низ ции вычислительно о

процесс ,

зн чит,

ыл сдел н еще один ш

по повышению эффективности

использов ния компьютеров. Одн ко при этом про р ммисты-пользов тели

лишились

непосредственно о

доступ

к компьютеру,

что

сниж ло

эффективность их р

оты — внесение

лю о о испр вления

тре ов ло

зн чительно

ольше

времени,

чем при интер ктивной р

оте з

пультом

мшины.

2.2Появление мультипрограммных операционных систем для мэйнфреймов

Следующий в жный период р звития опер ционных систем относится к

1965-1975 од м.

В это время в технической зе вычислительных м шин произошел переход от отдельных полупроводниковых элементов тип тр нзисторов к

инте р льным микросхем м, что открыло путь к появлению следующе о поколения компьютеров. Большие функцион льные возможности инте р льных

схем сдел ли возможным ре лиз цию н

пр ктике сложных компьютерных

рхитектур, т ких, н пример, к к IBM/360.

 

 

 

 

 

 

В этот период ыли ре лизов ны пр ктически все основные мех низмы,

присущие

современным

 

ОС:

 

мультипро р ммиров ние,

мультипроцессиров ние,

 

 

поддержк

 

 

мно отермин льно о

мно опользов тельско о

режим ,

вирту льн я

п мять,

ф йловые

системы,

р з р ничение доступ

и

сетев я

р

от .

В

эти

оды

н чин ется

р сцвет

системно о про р ммиров ния.

з

н пр вления

прикл дной

м тем тики,

предст вляюще о

интерес

для

узко о

кру

специ листов,

системное