лекции СПО
.pdfКУРС ЛЕКЦИЙ
По дисциплине: «Системное программное обеспечение»
Тюмень 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. |
|
|
|
|
|
|
|||||
В этот период ыли ре лизов ны пр ктически все основные мех низмы, |
|||||||||||
присущие |
современным |
|
ОС: |
|
мультипро р ммиров ние, |
||||||
мультипроцессиров ние, |
|
|
поддержк |
|
|
мно отермин льно о |
|||||
мно опользов тельско о |
режим , |
вирту льн я |
п мять, |
ф йловые |
системы, |
||||||
р з р ничение доступ |
и |
сетев я |
р |
от . |
В |
эти |
оды |
н чин ется |
р сцвет |
||
системно о про р ммиров ния. |
з |
н пр вления |
прикл дной |
м тем тики, |
|||||||
предст вляюще о |
интерес |
для |
узко о |
кру |
специ листов, |
системное |