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

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

.2.pdf
Скачиваний:
11
Добавлен:
05.02.2023
Размер:
1.67 Mб
Скачать

Томский межвузовский центр дистанционного образования

Ю.Б. Гриценко

ОПЕРАЦИОННЫЕ СИСТЕМЫ

Часть 2

Учебное пособие

ТОМСК — 2009

Федеральное агентство по образованию

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)

Кафедра автоматизации обработки информации (АОИ)

Ю.Б. Гриценко

ОПЕРАЦИОННЫЕ СИСТЕМЫ

Часть 2

Учебное пособие

2009

Рецензенты: канд. техн. наук, доцент кафедры теоретических основ информатики Томского государственного университета Гусев И.С.; д-р техн. наук, профессор, заведующий кафедрой

теоретических основ информатики Томского государственного университета Костюк Ю.Л.

Корректор: Осипова Е.А.

Гриценко Ю.Б.

Операционные системы: Учебное пособие. В 2-х частях. — Томск: Томский межвузовский центр дистанционного образования, 2009. — Ч.2. — 230 с.

Данное учебное пособие содержит вторую часть курса «Операционные системы», изучаемого студентами специальности 230102 «Автоматизированные системы обработки информации и управления», обучающимися по дистанционной форме. Рассмотрены вопросы организации вычислительных задач, управления памятью и устройствами ввода-вывода. Основное внимание уделено механизмам планирования процессов, диспетчеризации задач и программной модели микропроцессора Intel P6.

©Гриценко Ю.Б., 2009

©Томский межвузовский центр дистанционного образования, 2009

 

3

 

 

ОГЛАВЛЕНИЕ

 

Введение ........................................................................................

6

Введение ........................................................................................

6

1 Организация вычислительных задач....................................

9

1 Организация вычислительных задач....................................

9

1.1

Процессы. Ресурсы. Режим мультипрограммирования ......

9

1.2

Потоки. Волокна....................................................................

21

1.3

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

27

1.3.1 Основные функции управления задачами.....................

27

1.3.2 Дисциплины диспетчеризации ......................................

31

1.3.3 Вытесняющаяся и не вытесняющаяся многозадачность

 

...........................................................................................

42

1.3.4 Качество диспетчеризации..............................................

45

1.4

Взаимодействие и синхронизация задач.............................

48

1.4.1 Способы взаимодействия задач......................................

48

1.4.2 Реализация взаимоисключений......................................

50

1.4.3 Механизмы синхронизации процессов..........................

53

1.4.4 Взаимоблокировки (тупики)...........................................

56

1.4.5 Синхронизация потоков, принадлежащих разным про-

 

цессам...............................................................................

58

1.5

Прерывания............................................................................

61

1.6

Управление задачами в ОС Windows...................................

69

1.6.1 Информация об организации вычислительных задач...

69

1.6.2 Исследование производительности................................

76

1.6.3 Средства командной строки Windows XP Professional. 82

Вопросы для самопроверки........................................................

83

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

86

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

86

2.1 Основные понятия.................................................................

86

2.1.1 Архитектура вычислительных машин............................

86

2.1.2 Биты, байты, слова, параграфы ......................................

88

2.1.3 Иерархия памяти..............................................................

91

2.2 Программная модель микропроцессора Intel Pentium........

94

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

94

2.2.2 Регистры общего назначения..........................................

95

4

 

2.2.3 Сегментные регистры......................................................

98

2.2.4 Регистры состояния и управления..................................

99

2.2.5 Системные регистры микропроцессора.......................

101

2.3 Режимы функционирования процессора Intel x86............

103

2.3.1 Перечень режимов функционирования процессо-

 

ра Intel x86......................................................................

104

2.3.2 Реальный режим работы процессоров Intel x86..........

104

2.3.3 Защищенный режим работы процессоров Intel x86....

112

2.3.4 Режим системного управления (SMM)........................

121

2.3.5 Режим Virtual-86............................................................

122

2.4 Управление памятью в ОС Windows.................................

125

2.4.1 Использование отладчиков...........................................

125

2.4.2 Получение общей информации об использовании памя-

ти.....................................................................................

129

2.4.3 Архитектура памяти в ОС Microsoft Windows 9x .......

133

2.4.4 Архитектура памяти в ОС Microsoft Windows на плат-

форме NT .......................................................................

136

2.4.5 Использование механизмов работы с памятью в ОС на

платформе Microsoft Windows NT................................

140

2.4.6 Управление файлом подкачки на платформе Microsoft

Windows NT...................................................................

146

Вопросы для самопроверки......................................................

150

3 Управление устройствами ввода-вывода..........................

152

3 Управление устройствами ввода-вывода..........................

152

3.1 Описание устройств ввода-вывода....................................

153

3.1.1 Классификация устройств ввода-вывода.....................

153

3.1.2 Основные характеристики устройств внешней памяти

3.1.3 Характеристики.........................................................................................накопителей на жестких магнитных

155

 

дисках.............................................................................

158

3.2 Организация работы устройств ввода-вывода .................

163

3.2.1 Организация операций ввода-вывода...........................

163

3.2.2 Драйверы........................................................................

165

3.2.3 Файловые системы.........................................................

167

3.3 Организация дисковых устройств......................................

172

3.3.1 Физическая структура магнитного диска.....................

172

3.3.2 Логическая структура магнитного диска.....................

173

5

 

3.4 Обзор файловых систем......................................................

179

3.4.1 Файловая система FAT..................................................

179

3.4.2 Файловая система NTFS................................................

186

3.4.3 Файловая система HPFS................................................

195

3.4.4 Файловая система ОС UNIX.........................................

203

3.4.5 Файловые системы для CD-ROM.................................

208

3.5 Управление устройствами ввода-вывода и файловыми си-

стемами в ОС Windows........................................................

210

3.5.1 Диспетчер устройств и драйвера устройств................

210

3.5.2 Диски и файловая система............................................

213

3.5.3 Дисковые квоты.............................................................

215

3.5.4 Обеспечение надежности хранения данных на дисковых

накопителях с файловой системой NTF 5.0.................

218

Вопросы для самопроверки......................................................

222

Методические указания по выполнению контрольных

 

работ..........................................................................................

223

Методические указания по выполнению контрольных

 

работ..........................................................................................

223

Контрольная работа № 1...........................................................

223

Контрольная работа № 2...........................................................

223

Глоссарий...................................................................................

232

Глоссарий...................................................................................

232

Список литературы..................................................................

234

Список литературы..................................................................

234

6

ВВЕДЕНИЕ

Современное общество живет в век информации. Умение качественно управлять информационными ресурсами — одно из важнейших направлений деятельности человека. В настоящий момент идет бурное развитие автоматизированных систем управления. Развивается как аппаратное, так и программное обеспечение (ПО).

Программное обеспечение — неотъемлемая составляющая любой ЭВМ, без которой невозможно получить необходимые результаты всевозможных вычислительных операций. При всем многообразии и сложности современных программных систем при их разработке в качестве базовой основы используются уже существующие фундаментальные концепции, имеющие много общего в части принципов построения и отличающиеся некоторыми особенностями реализации.

В работах специалистов по рассматриваемой тематике предлагается множество неоднозначных классификаций программного обеспечения. Например, одна из классификаций предлагает все программы, созданные для ЭВМ, разделить на следующие основные классы:

− операционные системы и сервисные программы; − инструментальные языки и системы программирования; − прикладные системы.

В работах других авторов, например Дж. Бэкона и Т. Харриса, предлагается выделить класс системного программного обеспечения из всего множества ПО (другой класс — прикладное программное обеспечение), к которому и будут относиться операционные системы. В некоторых случаях программное обеспечение, в особенности системное, не может рассматривать-

7

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

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

В содержание дисциплины входит изучение как теоретического материала: структур, методов и алгоритмов построения современных операционных сред и систем (ОС); так и изучение возможностей функционирования современных популярных ОС. Базовыми категориями в освоении данного курса являются основные понятия и концепции: построения ОС (операционная среда, вычислительный процесс, ресурс, поток, прерывание), управление задачами (функции, стратегии планирования, дисциплины и алгоритмы диспетчеризации), управление внутренней и внешней памятью, архитектура ОС и интерфейс прикладного программирования.

Развитие принципов построения ОС тесно связано с развитием средств вычислительной техники. Современная архитектура IBM PC-совместимого компьютера представляет собой реализацию так называемой фон-неймановской архитектуры вычислительных машин. Эта архитектура была представлена Джоном фон Нейманом в 1945 году. Фон-неймановская архитектура — не единственный вариант построения ЭВМ, имеются и другие, которые не соответствуют указанным принципам (например, потоковые машины). Однако подавляющее большинство современных компьютеров основано именно на указанных принципах, включая и сложные многопроцессорные комплексы, которые можно рассматривать как объединение фон-неймановских машин. Теория фон Неймана явилась основой для построения первых ОС. Значительная часть теорий построения ОС была разработана в 70—80-х годах прошлого века. В настоящее время наблюдается возросший интерес со стороны ученных и коммерческих фирм к развитию теорий построения ОС.

Для изучения дисциплины «Операционные системы» необходимо иметь навыки программирования на языке высокого уровня Си или Паскаль.

Структура учебного пособия

8

Учебное пособие состоит из двух частей. Первая часть ориентирована на рассмотрение функциональных и архитектурных особенностей популярных операционных систем. Вторая же часть посвящена общей теории построения операционных систем.

Часть 2:

Впервой главе рассмотрены основные понятия организации вычислительных задач. К этим понятиям относятся: понятия процесса, потока, ресурса, режима мультипрограммирования, планирования и диспетчеризации задач. Здесь же раскрыты темы взаимодействия и синхронизации задач, организации прерываний и управление задачами в ОС Windows.

Вторая глава содержит описание процесса управления памятью, который включает в себя описание: иерархии памяти, программной модели микропроцессора Intel P6, режимов функционирования микропроцессора Inte l P6 и управления памятью

вОС Windows.

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

Вконце учебного пособия приведены задания для выполнения контрольных работ по второй части данного курса.

9

1 ОРГАНИЗАЦИЯ ВЫЧИСЛИТЕЛЬНЫХ ЗАДАЧ

1.1Процессы. Ресурсы. Режим мультипрограммирования

Понятие «вычислительный процесс» (или просто — «процесс») является одним из основных при рассмотрении операционных систем. Под процессом понимают выполняемую программу, включающую текущие значения счетчика команд, регистров и переменных [1]. Впервые концепция процесса была реализована в операционных системах 1960-х годов (MULTICS, 1965; THE, 1968; RC4000, 1970).

По принципу выполнения различают последовательные процессы и параллельные. Последовательный процесс, иногда называемый «задачей», — это выполнение отдельной программы с ее данными на последовательном процессоре [2]. В концепции, которая получила наибольшее распространение в 70-е годы, под задачей (task) понимается совокупность связанных между собой и образующих единое целое программных модулей и данных, требующая ресурсов вычислительной системы для своей реализации. В последующие годы задачей стали называть единицу работы, для выполнения которой предоставляется центральный процессор. Вычислительный процесс может включать в себя несколько задач. Концептуально процессор рассматривается в двух аспектах: во-первых, он является носителем данных и, во-вторых, он (одновременно) выполняет операции, связанные с их обработкой.

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