Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Операционные системы ЭВМ

Покупка
Артикул: 769611.01.99
Доступ онлайн
150 ₽
В корзину
Рассмотрены основные понятия операционных систем, изложены история развития, принципы построения и функционирования UNIX и Windows. В учебном пособии уделено внимание таким аспектам, как межпроцессное взаимодействие, взаимоблокировки, управление памятью, ввод-вывод, файловые системы и информационная безопасность.
Пахмурин, Д. О. Операционные системы ЭВМ : учебное пособие / Д. О. Пахмурин. - Томск : Томский государственный университет систем управления и радиоэлектроники, 2013. - 254 с. - Текст : электронный. - URL: https://znanium.com/catalog/product/1845890 (дата обращения: 24.04.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ 

ФЕДЕРАЦИИ 

 

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ 

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

 

Кафедра промышленной электроники 

 

Д.О. Пахмурин 

 
 
 
 

ОПЕРАЦИОННЫЕ 

СИСТЕМЫ ЭВМ 

 
 

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

для студентов очной формы  
обучения по направлению  

210100.62 – Электроника и наноэлектроника (профиль 

"Промышленная электроника") 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

2013 

 
 

Пахмурин Д.О. 
Операционные системы ЭВМ: Учебное пособие. – Томск: Томский 
государственный университет систем управления и радиоэлектроники, 
2013. – 254 с.: ил. 
 

Рассмотрены основные понятия операционных систем, изложены история 

развития, принципы построения и функционирования UNIX и Windows. В учебном 
пособии уделено внимание таким аспектам, как межпроцессное взаимодействие, 
взаимоблокировки, управление памятью, ввод-вывод, файловые системы и 
информационная безопасность. 
 
 
 
 
 
 
 
 
 

© Пахмурин Д.О., 2013 
© ТУСУР, 2013 

 
 

ОГЛАВЛЕНИЕ 

ВВЕДЕНИЕ ..................................................................................................................................... 6 

1. 
ОСНОВНЫЕ ПОНЯТИЯ .......................................................................................................... 7 

1.1. 
Понятие "операционная система" ........................................................................................... 7 

1.2. 
История операционных систем ................................................................................................. 9 

1.3. 
Классификация операционных систем .............................................................................. 13 

1.4. 
Обзор аппаратного обеспечения компьютера ............................................................... 20 

1.5. 
Основные понятия операционных систем ....................................................................... 24 

1.6. 
Структура операционной системы ....................................................................................... 25 

2. 
ПРОЦЕССЫ И ПОТОКИ ....................................................................................................... 27 

2.1. 
Подсистема управления процессами и потоками ........................................................ 27 

2.2. 
Модель процесса ............................................................................................................................ 30 

2.3. 
Создание, завершение и состояние процессов. .............................................................. 32 

2.4. 
Использование и реализация потоков ............................................................................... 36 

3. 
МЕЖПРОЦЕССНОЕ ВЗАИМОДЕЙСТВИЕ ......................................................................... 42 

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

3.2. 
Классические проблемы межпроцессного взаимодействия .................................. 51 

3.3. 
Введение в планирование ......................................................................................................... 54 

4. 
ВЗАИМОБЛОКИРОВКИ ...................................................................................................... 59 

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

4.2. 
Выгружаемые и невыгружаемые ресурсы ....................................................................... 60 

4.3. 
Обнаружение и устранение взаимоблокировок ........................................................... 62 

4.4. 
Предотвращение взаимоблокировок ................................................................................. 70 

5. 
УПРАВЛЕНИЕ ПАМЯТЬЮ .................................................................................................. 74 

5.1. 
Модели организации памяти .................................................................................................. 74 

5.2. 
Подкачка ............................................................................................................................................. 75 

5.3. 
Виртуальная память .................................................................................................................... 79 

5.4. 
Алгоритмы замещения страниц ............................................................................................ 82 

5.5. 
Вопросы разработки систем со страничной организацией памяти ................... 83 

5.6. 
Вопросы реализации .................................................................................................................... 85 

5.7. 
Сегментация ..................................................................................................................................... 87 

6. 
ВВОД И ВЫВОД В ОПЕРАЦИОННЫХ СИСТЕМАХ ........................................................... 89 

6.1. 
Принципы аппаратуры ввода-вывода ................................................................................ 89 

6.2. 
Принципы программного обеспечения ввода-вывода .............................................. 92 

6.3. 
Программные уровни ввода-вывода ................................................................................... 93 

6.4. 
Диски .................................................................................................................................................... 96 

6.5. 
Таймеры .............................................................................................................................................. 97 

6.6. 
Автономные терминалы ............................................................................................................ 98 

6.7. 
Графические интерфейсы пользователя .......................................................................... 99 

6.8. 
Сетевые терминалы ................................................................................................................... 100 

6.9. 
Управление режимом энергопотребления .................................................................... 100 

7. 
ФАЙЛОВАЯ СИСТЕМА ...................................................................................................... 104 

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

7.2. 
Файлы и каталоги........................................................................................................................ 105 

7.3. 
Реализация файловой системы ............................................................................................ 118 

7.4. 
Примеры файловых систем .................................................................................................... 123 

8. 
МУЛЬТИМЕДИЙНЫЕ ОПЕРАЦИОННЫЕ СИСТЕМЫ .................................................... 130 

8.1. 
Введение в мультимедиа ......................................................................................................... 130 

8.2. 
Мультимедийные файлы ........................................................................................................ 130 

8.3. 
Сжатие видеоинформации...................................................................................................... 132 

8.4. 
Планирование процессов в мультимедийных системах ......................................... 135 

8.5. 
Размещение файлов ................................................................................................................... 140 

9. 
МНОГОПРОЦЕССОРНЫЕ СИСТЕМЫ ............................................................................... 142 

9.1. 
Мультипроцессоры ..................................................................................................................... 142 

9.2. 
Мультикомпьютеры ................................................................................................................... 149 

9.3. 
Распределенные системы ....................................................................................................... 151 

10. 
БЕЗОПАСНОСТЬ ............................................................................................................. 154 

10.1. Понятие безопасности .............................................................................................................. 154 

10.2. Основы криптографии .............................................................................................................. 156 

10.3. Аутентификация пользователей ......................................................................................... 160 

11. 
ОПЕРАЦИОННАЯ СИСТЕМА UNIX ............................................................................... 169 

11.1. История ............................................................................................................................................. 169 

11.2. Обзор системы ............................................................................................................................... 171 

11.3. Процессы в системе UNIX ......................................................................................................... 179 

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

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

11.6. Ввод и вывод в системе UNIX................................................................................................. 195 

11.7. Файловая система в UNIX ........................................................................................................ 198 

11.8. Безопасность в UNIX ................................................................................................................... 204 

12. 
ОПЕРАЦИОННАЯ СИСТЕМА WINDOWS ..................................................................... 209 

12.1. История Windows ......................................................................................................................... 209 

12.2. Структура системы ..................................................................................................................... 216 

12.3. Процессы и потоки в Windows .............................................................................................. 226 

12.4. Межпроцессное взаимодействие в Windows................................................................. 229 

12.5. Планирование................................................................................................................................ 230 

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

12.7. Ввод-вывод в Windows.............................................................................................................. 239 

12.8. Файловая система Windows ................................................................................................... 244 

12.9. Безопасность в Windows .......................................................................................................... 250 

ЗАКЛЮЧЕНИЕ ........................................................................................................................... 253 

ЛИТЕРАТУРА ............................................................................................................................. 254 

 
 
 
 
 
 

ВВЕДЕНИЕ 

Подготовка современного инженера не мыслима без получения им 

соответствующих знаний в сфере компьютерных технологий. В современном мире 

без достаточно полноценного обучения работе с информацией, с принципами 

функционирования компьютерного оборудования не возможна качественная 

разработка 
каких-либо 
серьезных 
технических 
проектов. 
Освоение 
курса 

"Операционные системы ЭВМ" позволяет иметь более структурированный подход, в 

частности, 
к 
программированию 
микропроцессоров, 
что 
является 
очень 

востребованным направлением в настоящее время. 

Целью изучения курса "Операционные системы ЭВМ" является формирование 

знаний по основным принципам организации операционных систем персональных 

ЭВМ и подготовка к эффективному практическому применению вычислительных 

систем. 

Данный курс базируется на курсах "Информатика", "Математическое 

моделирование и программирование", "Цифровая и микропроцессорная техника" и 

"Компьютерные сети". 

Курс имеет следующую структуру: 

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

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

3. Межпроцессное взаимодействие. 

4. Взаимоблокировки. 

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

6. Ввод и вывод. 

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

8. Мультимедийные операционные системы. 

9. Многопроцессорные системы. 

10. Безопасность. 

11. Операционные системы семейства UNIX. 

12. Операционные системы Windows семейства NT. 

 

 
 

1. ОСНОВНЫЕ ПОНЯТИЯ 

1.1. Понятие "операционная система" 

Современный компьютер состоит из одного или нескольких процессоров, 

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

интерфейсов и других устройств ввода-вывода, то есть является сложной системой. 

Написание программ, которые отслеживают все компоненты, корректно используют 

их и при этом оптимально работают, представляет собой крайне трудную задачу. 

Еще много лет назад стало очевидно, что нужно как-то оградить программистов от 

тонкостей, связанных с аппаратным обеспечением. Постепенно был выработан 

следующий путь: поверх аппаратуры работает дополнительная программная 

прослойка, которая управляет всем оборудованием и предоставляет пользователю 

интерфейс, 
или 
виртуальную 
машину, 
более 
простую 
для 
понимания 
и 

программирования, чем аппаратура. Операционная система (ОС) и является этой 

программной прослойкой. 

Место операционной системы в общей структуре компьютера показано на 

рисунке 1.1. Внизу находится аппаратное обеспечение, которое во многих случаях 

само состоит из двух или более уровней (или слоев). Самый нижний уровень 

содержит 
физические 
устройства, 
состоящие 
из 
интегральных 
микросхем, 

проводников, источников питания и т. п. 

Офисные 

программы 

Веб-браузер 

Мультимедийное 

ПО 

Компиляторы 
Редакторы 

Интерпретаторы 

команд 

Операционная система 

Машинный язык 

Микроархитектура 

Физические устройства 

Рисунок 1.1 – Место операционной системы в структуре компьютера 

Далее следует микроархитектурный уровень, на котором физические 

устройства 
группируются 
в 
функциональные 
блоки. 
Как 
правило, 
на 

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

процессора (ЦП) и тракт данных, включающий арифметико-логическое устройство. 

На каждом такте процессора данные извлекаются из регистров и обрабатываются 

Прикладное ПО 

Системное ПО 

Аппаратура 

арифметико-логическим 
устройством 
(к 
примеру, 
участвуют 
в 
операции 

арифметического или логического суммирования). Результат сохраняется в одном 

или нескольких регистрах. В некоторых компьютерах функционирование тракта 

данных 
находится 
под 
управлением 
особой 
программы, 
называемой 

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

схемы. Тракт данных предназначен для выполнения наборов команд. Некоторые 

наборы могут быть выполнены в одном цикле такта данных, другие же требуют 

нескольких тактов. В распоряжении команд находятся различные аппаратные 

средства, в том числе регистры. Аппаратное обеспечение и команды, доступные 

программисту на языке ассемблера, образуют архитектуру набора команд 

(Instruction Set Architecture, ISA). Зачастую данный уровень называют машинным 

языком. 

Обычно машинный язык содержит от 50 до 300 команд, служащих 

преимущественно для перемещения данных в пределах компьютера, выполнения 

арифметических операций и сравнения величин. Управление устройствами на этом 

уровне осуществляется путем загрузки определенных величин в специальные 

регистры устройств. Например, диску можно дать команду чтения, записав в его 

регистры адрес места на диске, адрес в основной памяти, число байтов для чтения и 

направление действия (чтение или запись). На практике нужно передавать больше 

параметров, а информация о статусе операции, возвращаемая диском, достаточно 

сложна. Кроме того, при программировании многих устройств ввода-вывода 

(Input/Output, I/O) очень важную роль играют временные соотношения. 

Основное предназначение операционной системы – скрыть все эти сложности 

и предоставить программисту более удобную систему команд. Чтение блока из 

файла в этом случае представляется намного более простым действием, чем в 

случае, когда программисту приходится думать о перемещении головок диска, о 

задержках, связанных с их установкой в нужное место и т. д. 

Поверх 
операционной 
системы 
на 
рисунке 
расположены 
остальные 

системные программы. Здесь находятся интерпретатор команд (оболочка), 

компиляторы, редакторы и т. д. Подобные программы не являются частью 

операционной системы. Под операционной системой обычно понимается то 

программное обеспечение, которое запускается в режиме ядра или, как его еще 

называют, режиме супервизора, привилегированном режиме. Операционная система 

защищена от вмешательства пользователя с помощью аппаратных средств. 

Компиляторы и редакторы запускаются в пользовательском режиме. 

Подобная классификация имеет весьма размытые границы во встраиваемых 

системах, допускающих отсутствие ядра, и в интерпретируемых системах. Тем не 

менее, в традиционных компьютерах операционная система является элементом, 

исполняемым в режиме ядра. 

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

между системным и прикладным программным обеспечением размыта. Очевидно, 

что компоненты, исполняемые в режиме ядра, относятся к операционной системе, 

однако многие "пользовательские" программы также осуществляют системные 

функции либо, как минимум, тесно связаны с ними. 

Таким образом, операционная система компьютера представляет собой 

комплекс взаимосвязанных программ, который действует как интерфейс между 

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

другой стороны. 

1.2. История операционных систем 

Понимание того, что представляет собой операционная система и каковы ее 

функции, пришло не сразу. В эволюции операционных систем можно выделить 

несколько периодов. 

Первый период (1945-1955). В середине 40-х годов XX века были созданы 

первые ламповые вычислительные устройства. В то время одна и та же группа 

людей участвовала и в проектировании, и в эксплуатации, и в программировании 

вычислительной машины. Это была скорее научно-исследовательская работа в 

области вычислительной техники, а не использование компьютеров в качестве 

инструмента решения практических задач из других прикладных областей. 

Программирование осуществлялось исключительно на машинном языке. Об 

операционных системах не было и речи, все задачи организации вычислительного 

процесса решались вручную каждым программистом с пульта управления. Не было 

никакого другого системного программного обеспечения, кроме библиотек 

математических и служебных подпрограмм. 

Второй период (1955-1965). С середины 50-х годов начался новый период в 

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

базы 
– 
полупроводниковых 
элементов. 
В 
эти 
годы 
появились 
первые 

алгоритмические языки, а, следовательно, и первые системные программы – 

компиляторы. Высокая стоимость процессорного времени требовала уменьшения 

затрат времени между запусками программы. Появились первые системы пакетной 

обработки, которые просто автоматизировали запуск одной программы за другой и, 

тем самым, увеличивали коэффициент загрузки процессора. Системы пакетной 

обработки явились прообразом современных операционных систем, они стали 

первыми 
системными 
программами, 
предназначенными 
для 
управления 

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

Третий период (1965-1980). В это время в технической базе произошел 

переход от отдельных полупроводниковых элементов типа транзисторов к 

интегральным микросхемам. Для этого периода также характерно создание 

семейства программно-совместимых машин. Программная совместимость требовала 

и совместимости операционных систем. Такие операционные системы должны были 

бы работать и на больших, и на малых вычислительных системах, с большим и с 

малым количеством разнообразной периферии, в коммерческих областях и в 

области научных исследований. 

Важнейшим достижением ОС данного поколения явилась реализация 

мультипрограммирования. Мультипрограммирование – это способ организации 

вычислительного процесса, в соответствии с которым на одном процессоре 

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

(spooling), 
который 
определялся 
в 
то 
время 
как 
способ 
организации 

вычислительного процесса, в соответствии с которым задания считывались с 

перфокарт на диск в том темпе, в котором они появлялись в помещении 

вычислительного центра, а затем, когда очередное задание завершалось, новое 

задание с диска загружалось в освободившийся раздел. 

Наряду с мультипрограммной реализацией систем пакетной обработки 

появился новый вариант ОС – системы разделения времени. Этот вариант рассчитан 

на многотерминальные системы, когда каждый пользователь работает за своим 

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

был лишен возможности интерактивно взаимодействовать со своими программами. 

Вариант мультипрограммирования, применяемый в системах разделения времени, 

нацелен на создание для каждого отдельного пользователя иллюзии единоличного 

использования вычислительной машины за счет периодического выделения каждой 

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

эффективность использования оборудования ниже, чем в системах пакетной 

обработки, что явилось платой за удобства работы пользователя. 

Многотерминальный режим использовался не только в системах разделения 

времени, но и в системах пакетной обработки. При этом не только оператор 

вычислительной машины, но и пользователи получали возможность формировать 

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

операционные системы получили название систем удаленного ввода заданий. 

В этот период произошло существенное изменение в распределении функций 

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

системы стали неотъемлемым элементом компьютеров, играя роль "продолжения" 

аппаратуры. 

Реализация мультипрограммирования потребовала внесения очень важных 

изменений в аппаратуру компьютера, непосредственно направленных на поддержку 

этого способа организации вычислительного процесса. При разделении ресурсов 

компьютера 
между 
программами 
необходимо 
обеспечить 
более 
быстрое 

переключение процессора с одной программы на другую, а также надежно защитить 

коды и данные одной программы от непреднамеренной и намеренной порчи другой 

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

режимы работы, специальные регистры для быстрого переключения с одной 

программы на другую, средства защиты областей памяти, развитая система 

прерываний. 

В привилегированном режиме, предназначенном для работы модулей 

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

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

компьютера. Программам, работающим в пользовательском режиме, некоторые 

команды процессора недоступны. Таким образом, только ОС может управлять 

аппаратными средствами и играть роль монитора и арбитра для пользовательских 

программ. 

Система 
прерываний позволила 
синхронизировать работу различных 

устройств компьютера, работающих параллельно и асинхронно, таких как каналы 

ввода-вывода, диски, принтеры и т.п. Аппаратная поддержка операционных систем 

стала с тех пор неотъемлемым свойством практически любых компьютерных 

систем. 

Четвертый период (1980-е годы). Этот период в эволюции операционных 

систем связан с появлением больших интегральных схем. К наиболее важным 

событиям этого десятилетия можно отнести разработку стека протоколов TCP/IP, 

становление Интернета, стандартизацию технологий локальных сетей, появление 

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

широко 
применяться 
неспециалистами, 
что 
потребовало 
разработки 

"дружественного" 
программного 
обеспечения. 
Предоставление 
этих 

"дружественных" функций стало прямой обязанностью операционных систем. Стали 

бурно развиваться сети персональных компьютеров, работающих под управлением 

сетевых или распределенных операционных систем. В результате поддержка 

сетевых функций стала для ОС персональных компьютеров необходимым условием. 

Современный период. В 90-е годы практически все операционные системы 

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

неотъемлемой частью. Операционные системы получили средства работы со всеми 

основными технологиями локальных и глобальных сетей, а также для создания 

составных сетей. 

Во второй половине 90-х годов все производители операционных систем 

резко усилили поддержку средств работы с Интернетом. В комплект поставки 

начали включать утилиты, реализующие популярные сервисы Интернета. Влияние 

Интернета 
проявилось 
и 
в 
том, 
что 
компьютер 
превратился 
из 
чисто 

вычислительного 
устройства 
в 
средство 
коммуникации 
с 
развитыми 

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

Особое внимание в настоящее время уделяется корпоративным сетевым 

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

способностью хорошо и устойчиво работать в крупных сетях, которые характерны 

для большинства предприятий, имеющих отделения в разных городах и странах. 

Таким сетям присуща высокая степень гетерогенности программных и аппаратных 

средств. Поэтому корпоративная ОС должна беспроблемно взаимодействовать с 

операционными системами разных типов и работать на различных аппаратных 

платформах. 
Для 
корпоративной 
ОС 
также 
важно 
наличие 
средств 

централизованного администрирования и управления, позволяющих в единой базе 

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

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

На современном этапе развития операционных систем на передний план 

вышли средства обеспечения безопасности. Это связано с возросшей ценностью 

информации, обрабатываемой компьютерами, а также с повышенным уровнем 

угроз, существующих при передаче данных по сетям. Многие ОС обладают сегодня 

развитыми средствами защиты информации, основанными на шифрации данных, 

аутентификации и авторизации. 

Современным операционным системам присуща многоплатформенность, то 

есть способность работать на различных типах компьютеров. Многие ОС имеют 

специальные версии для поддержки кластерных архитектур, обеспечивающих 

высокую производительность и отказоустойчивость. 

В 
последнее 
время 
получила 
дальнейшее 
развитие 
долговременная 

тенденция повышения удобства работы человека с компьютером. Эффективность 

работы человека становится основным фактором, определяющим эффективность 

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

1.3. Классификация операционных систем 

Существует множество различных подходов к классификации операционных 

систем. 

К основным признакам классификации ОС относятся: 

 
Особенности алгоритмов управления ресурсами. В зависимости от 

особенностей использования алгоритма управления процессором, операционные 

системы делят на: 

 многозадачные и однозадачные. 

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

быть разделены на два класса: однозадачные (например, MS-DOS, MSX) и 

многозадачные (OC EC, OS/2, UNIX, Windows). Однозадачные ОС в основном 

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

более простым и удобным процесс взаимодействия пользователя с компьютером. 

Однозадачные ОС включают средства управления периферийными устройствами, 

средства управления файлами, средства общения с пользователем. Многозадачные 

ОС, кроме вышеперечисленных функций, управляют разделением совместно 

используемых ресурсов, таких как процессор, оперативная память, файлы и внешние 

устройства. 

Доступ онлайн
150 ₽
В корзину