Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Операционные системы. Часть 2. Учебное пособие
.pdf
Томский межвузовский центр
дистанционного образования
Ю.Б. Гриценко
ОПЕРАЦИОННЫЕ СИСТЕМЫ
Часть 2
Учебное пособие
ТОМСК - 2009

2
Федеральное агентство по образованию
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ
УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Кафедра автоматизации обработки информации (АОИ)
Ю.Б. Гриценко
ОПЕРАЦИОННЫЕ СИСТЕМЫ
Часть 2
Учебное пособие
2009

3
Рецензенты: канд. техн. наук, доцент кафедры теоретических
основ информатики Томского государственного
университета Гусев И.С.;
д-р техн. наук, профессор, заведующий кафедрой
теоретических основ информатики Томского государственного университета Костюк Ю.Л.
Корректор:
Гриценко Ю.Б.
Операционные системы. Часть 2: Учебное пособие. —
Томск: Томский межвузовский центр дистанционного образования, 2009. — 230 с.
Данное учебное пособие содержит вторую часть курса
«Операционные системы», изучаемого студентами специальности 230102 «Автоматизированные системы обработки информации и управления», обучающимися по дистанционной форме.
Рассмотрены вопросы организации вычислительных задач,
управления памятью и устройствами ввода-вывода. Основное
внимание уделено механизмам планирования процессов, диспетчеризации задач и программной модели микропроцессора
Intel P6.
© Гриценко Ю.Б., 2009
© Томский межвузовский
центр дистанционного образования, 2009

4
Содержание
Введение ............................................................................................ 7
1. Организация вычислительных задач ........................................ 10
1.1. Процессы. Ресурсы. Режим мультипрограммирования ....... 10
1.2. Потоки. Волокна ...................................................................... 21
1.3 Планирование процессов и диспетчеризация задач .............. 28
1.3.1. Основные функции управления задачами .......................... 28
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 .................................... 68
1.6.1. Информация об организации вычислительных задач ....... 68
1.6.2. Исследование производительности .................................... 76
1.6.3. Средства командной строки Windows XP Professional ..... 82
Вопросы для самопроверки ........................................................... 83
2. Управление памятью .................................................................. 85
2.1. Основные понятия ................................................................... 85
2.1.1. Архитектура вычислительных машин ................................ 85
2.1.2. Биты, байты, слова, параграфы ........................................... 87
2.1.3. Иерархия памяти................................................................... 90
2.2. Программная модель микропроцессора Intel Pentium ......... 93
2.2.1. Состав программной модели ............................................... 93
2.2.2. Регистры общего назначения .............................................. 95
2.2.3. Сегментные регистры .......................................................... 97
2.2.4. Регистры состояния и управления ...................................... 98
2.2.5. Системные регистры микропроцессора ........................... 100
2.3. Режимы функционирования процессора Intel x86 ............. 103

2.3.1. Перечень режимов функционирования
процессора Intel x86 ..................................................................... 103
2.3.2. Реальный режим работы процессоров Intel x86 .............. 103
2.3.3. Защищенный режим работы процессоров Intel x86 ........ 111
2.3.4. Режим системного управления (SMM). ............................ 120
2.3.5. Режим Virtual-86 ................................................................. 121
2.4. Управление памятью в ОС Windows ................................... 124
2.4.1. Использование отладчиков ................................................ 124
2.4.2. Получение общей информации об использовании памяти
........................................................................................................ 128
2.4.3. Архитектура памяти в ОС Microsoft Windows 9x ............ 131
2.4.4. Архитектура памяти в ОС Microsoft Windows на
платформе NT ............................................................................... 134
2.4.5. Использование механизмов работы с памятью в ОС на
платформе Microsoft Windows NT .............................................. 139
2.4.6. Управление файлом подкачки на платформе Microsoft
Windows NT .................................................................................. 145
Вопросы для самопроверки ......................................................... 150
3. Управление устройствами ввода-вывода ............................... 152
3.1. Описание устройств ввода-вывода ...................................... 152
3.1.1. Классификаиця устройств ввода-вывода ......................... 152
3.1.2. Основные характеристики устройств внешней памяти .. 154
3.1.3. Характеристики накопителей на жестких магнитных
дисках ............................................................................................ 157
3.2. Организация работы устройств ввода-вывода .................... 162
3.2.1. Организация операций ввода-вывода ............................... 162
3.2.2. Драйверы ............................................................................. 164
3.2.3. Файловые системы ............................................................. 166
3.3. Организация дисковых устройств ........................................ 171
3.3.1. Физическая структура магнитного диска ......................... 171
3.3.2. Логическая структура магнитного диска ......................... 172
3.4. Обзор файловых систем ........................................................ 179
3.4.1. Файловая система FAT ...................................................... 179
3.4.2. Файловая система NTFS .................................................... 185
3.4.3. Файловая система HPFS .................................................... 194
3.4.4. Файловая система ОС UNIX.............................................. 202
3.4.5. Файловые системы для CD-ROM ..................................... 207
5

3.5. Управление устройствами ввода-вывода и файловыми
системами в ОС Windows ............................................................ 209
3.5.1. Диспетчер устройств и драйвера устройств..................... 209
3.5.2. Диски и файловая система ................................................. 212
3.5.3. Дисковые квоты .................................................................. 214
3.5.4. Обеспечение надежности хранения данных на дисковых
накопителях с файловой системой NTF 5.0 ............................... 216
Вопросы для самопроверки ......................................................... 220
Глоссарий ...................................................................................... 221
Список литературы ....................................................................... 223
Контрольные работы .................................................................... 224
Контрольная работа №1 ............................................................... 224
Контрольная работа №2 ............................................................... 224
6

7
Введение
Современное общество живет в век информации. Умение
качественно управлять информационными ресурсами — одно из
важнейших направлений деятельности человека. В настоящий
момент идет бурное развитие автоматизированных систем
управления. Развивается как аппаратное, так и программное
обеспечение (ПО).
Программное обеспечение — неотъемлемая составляю-
щая любой ЭВМ, без которой невозможно получить необходимые результаты всевозможных вычислительных операций. При
всем многообразии и сложности современных программных
систем при их разработке в качестве базовой основы используются уже существующие фундаментальные концепции, имеющие много общего в части принципов построения и отличающиеся некоторыми особенностями реализации.
В работах специалистов по рассматриваемой тематике
предлагается множество неоднозначных классификаций программного обеспечения. Например, одна из классификаций
предлагает все программы, созданные для ЭВМ, разделить на
следующие основные классы:
− операционные системы и сервисные программы;
− инструментальные языки и системы программирования;
− прикладные системы.
В работах других авторов, например Дж. Бэкона и Т. Харриса, предлагается выделить класс системного программного
обеспечения из всего множества ПО (другой класс — прикладное программное обеспечение), к которому и будут относиться
операционные системы. В некоторых случаях программное
обеспечение, в особенности системное, не может рассматриваться отдельно от аппаратного обеспечения, которое поддерживает его работу и в большей мере определяет его структуру.
Изучение дисциплины «Операционные системы» представляет собой основу для изучения всего процесса управления
информационными ресурсами.

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

Структура учебного пособия
Учебное пособие состоит из двух частей. Первая часть
ориентирована на рассмотрение функциональных и архитектурных особенностей популярных операционных систем. Вторая же
часть посвящена общей теории построения операционных систем.
Часть 2:
В первой главе рассмотрены основные понятия организации вычислительных задач. К этим понятиям относятся: понятия процесса, потока, ресурса, режима мультипрограммирования, планирования и диспетчеризации задач. Здесь же раскрыты
темы взаимодействия и синхронизации задач, организации прерываний и управление задачами в ОС Windows.
Вторая глава содержит описание процесса управления
памятью, который включает в себя описание: иерархии памяти,
программной модели микропроцессора Intel P6, режимов функционирования микропроцессора Inte l P6 и управления памятью
в ОС Windows.
В третьей главе изложен процесс управления устройствами ввода-вывода. В этой главе представлены классификация и
основные характеристики устройств ввода-вывода; организация
операций ввода-вывода; физическая и логическая структуры
магнитного диска и описание процесса управления устройствами ввода-вывода и файловыми системами в ОС Windows.
В конце учебного пособия приведены задания для выполнения контрольных работ по второй части данного курса.
9

10
1. Организация вычислительных задач
1.1. Процессы. Ресурсы. Режим
мультипрограммирования
Понятие «вычислительный процесс» (или просто — «процесс») является одним из основных при рассмотрении операционных систем. Под процессом понимают выполняемую программу, включающую текущие значения счетчика команд, регистров и переменных [1]. Впервые концепция процесса была реализована в операционных системах 1960-х годов (MULTICS,
1965; THE, 1968; RC4000, 1970).
По принципу выполнения различают последовательные
процессы и параллельные. Последовательный процесс, иногда
называемый «задачей», — это выполнение отдельной программы с ее данными на последовательном процессоре [2]. В концепции, которая получила наибольшее распространение в 70-е
годы, под задачей (task) понимается совокупность связанных
между собой и образующих единое целое программных модулей
и данных, требующая ресурсов вычислительной системы для
своей реализации. В последующие годы задачей стали назы-
вать единицу работы, для выполнения которой предоставляется центральный процессор. Вычислительный процесс может
включать в себя несколько задач. Концептуально процессор
рассматривается в двух аспектах: во-первых, он является носителем данных и, во-вторых, он (одновременно) выполняет операции, связанные с их обработкой.
В качестве примеров можно назвать следующие процессы
(задачи): выполнение прикладных программ пользователей, утилит и других системных обрабатывающих программ. Процессами могут быть редактирование какого-либо текста, трансляция
исходной программы, ее компоновка, исполнение. Причем
трансляция какой-либо исходной программы является одним
процессом, а трансляция следующей исходной программы —
другим процессом, хотя транслятор, как объединение программных модулей, здесь выступает как одна и та же программа, но данные, которые он обрабатывает, являются разными.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
