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

Операционные системы. Часть 2. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
Томский межвузовский центр
дистанционного образования
Ю.Б. Гриценко
ОПЕРАЦИОННЫЕ СИСТЕМЫ
Часть 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) понимается совокупность связанных между собой и образующих единое целое программных модулей и данных, требующая ресурсов вычислительной системы для своей реализации. В последующие годы задачей стали назы-
вать единицу работы, для выполнения которой предоставляет­ся центральный процессор. Вычислительный процесс может
включать в себя несколько задач. Концептуально процессор рассматривается в двух аспектах: во-первых, он является носи­телем данных и, во-вторых, он (одновременно) выполняет опе­рации, связанные с их обработкой.
В качестве примеров можно назвать следующие процессы (задачи): выполнение прикладных программ пользователей, ути­лит и других системных обрабатывающих программ. Процесса­ми могут быть редактирование какого-либо текста, трансляция исходной программы, ее компоновка, исполнение. Причем трансляция какой-либо исходной программы является одним процессом, а трансляция следующей исходной программы — другим процессом, хотя транслятор, как объединение про­граммных модулей, здесь выступает как одна и та же програм­ма, но данные, которые он обрабатывает, являются разными.