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

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

Покупка
Артикул: 777104.01.99
Доступ онлайн
600 ₽
В корзину
В учебном пособии изложены особенности функционирования, назначения и архитектуры современных операционных систем (ОС). Отражены понятие и эволюция операционных систем, архитектурные особенности и классификация ОС по различным критериям, особенности управления процессами и памятью, основы организации файловых систем и некоторые их конкретные примеры, рассмотрены консолидированные серверные системы хранения данных большого объема RAID, основы организации мультипроцессорных ОС. Учебное пособие предназначено для студентов высших учебных заведений.
Замятин, А. В. Операционные системы : учебное пособие / А. В. Замятин, С. П. Сущенко. - Томск : Издательство Томского государственного университета, 2020. - 220 с. - ISBN 978-5-94621-935-8. - Текст : электронный. - URL: https://znanium.com/catalog/product/1864758 (дата обращения: 29.05.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РФ

НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ

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

А.В. Замятин
С.П. Сущенко

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

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

Томск

Издательство Томского государственного университета

2020

УДК 004.451.9
ББК 32.972.111

З26

Замятин А.В., Сущенко С.П.

З26
Операционные системы : учебное пособие / А.В. Замятин, С.П. 
Сущенко. – Томск : Издательство Томского государственного
университета, 2020. – 220 с.

ISBN 978-5-94621-935-8

В учебном пособии изложены особенности функционирования, 

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

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

УДК 004.451.9
ББК 32.972.111

Рецензенты:

доктор технических наук, профессор А.М. Кориков
кандидат технических наук, доцент С.А. Останин

ISBN 978-5-94621-935-8

© Замятин А.В., Сущенко С.П., 2020
© Томский государственный университет, 2020

Понятие и эволюция операционных систем

3

СОДЕРЖАНИЕ

ВВЕДЕНИЕ ......................................................................................................6
1. ПОНЯТИЕ И ЭВОЛЮЦИЯ ОПЕРАЦИОННЫХ СИСТЕМ....................8

1.1. Основные понятия, назначения и функции ОС ..................................8
1.2. Эволюция вычислительных и операционных систем ......................12

1.2.1. История развития ОС..................................................................12
1.2.2. Основные функции ОС...............................................................22
1.2.3. Особенности современного этапа развития ОС .......................23

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

2. АРХИТЕКТУРНЫЕ ОСОБЕННОСТИ ОС. 
КЛАССИФИКАЦИЯ ОС...............................................................................26

2.1. Архитектурные особенности ОС ......................................................26

2.1.1. Монолитное ядро ........................................................................26
2.1.2. Микроядерная архитектура........................................................27
2.1.3. Многоуровневые системы..........................................................30
2.1.4. Виртуальные машины.................................................................31
2.1.5. Смешанные системы...................................................................32

2.2. Классификация ОС..............................................................................33
Вопросы для самопроверки .......................................................................37

3. УПРАВЛЕНИЕ ПРОЦЕССАМИ..............................................................38

3.1. Мультипрограммирование..................................................................38

3.1.1. Мультипрограммирование в системах пакетной обработки.....40
3.1.2. Мультипрограммирование в системах разделения времени .....41
3.1.3. Мультипрограммирование в системах реального времени.......42
3.1.4. Мультипрограммирование при мультипроцессорной 
обработке ...............................................................................................44
3.1.5. Роль прерываний при мультипрограммировании....................47

3.2. Планирование процессов и потоков ..................................................54

3.2.1. Понятие процесса и потока ........................................................54
3.2.2. Создание процессов и потоков ..................................................58
3.2.3. Управляющие структуры процессов и потоков .......................60
3.2.4. Состояния процесса ....................................................................63
3.2.5. Критерии планирования .............................................................67
3.2.6. Цели и свойства алгоритмов планирования .............................68
3.2.7. Виды планирования ....................................................................71
3.2.8. Алгоритмы планирования ..........................................................73

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

4

3.3. Взаимодействие и синхронизация процессов и потоков .................77

3.3.1. Независимые и взаимодействующие вычислительные 
процессы ................................................................................................77
3.3.2. Цели и средства синхронизации................................................78
3.3.3. Пример необходимости синхронизации ...................................80
3.3.4. Механизмы синхронизации .......................................................82
3.3.5. Проблемы синхронизации..........................................................91
3.3.6. Механизмы межпроцессного взаимодействия .........................94

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

4.УПРАВЛЕНИЕ ПАМЯТЬЮ....................................................................103

4.1. Основные положения ........................................................................103

4.1.1. Задачи по управлению памятью ..............................................104
4.1.2. Типы адресации.........................................................................105

4.2. Распределение памяти.......................................................................110

4.2.1. Общие принципы управления памятью 
в однопрограммных ОС......................................................................110
4.2.2. Особенности организации управления памятью 
в мультипрограммных ОС..................................................................113
4.2.3. Распределение фиксированными разделами ..........................115
4.2.4. Распределение динамическими разделами.............................117
4.2.5. Распределение перемещаемыми разделами ...........................119
4.2.6. Сегментное распределение ......................................................121
4.2.7. Страничное распределение ......................................................132
4.2.8. Особенности эффективного использования 
таблиц страниц....................................................................................139
4.2.9. Сегментно-страничное распределение....................................144

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

5. ФАЙЛОВЫЕ СИСТЕМЫ .......................................................................149

5.1. Физическая организация жесткого диска........................................149
5.2. Принципы построения файловой системы......................................155

5.2.1. Интерфейс файловой системы.................................................155
5.2.2. Функциональная схема организации файловой системы......155
5.2.3. Типовая структура файловой системы на диске ....................158
5.2.4. Способы выделения дискового пространства ........................159
5.2.5. Управление дисковым пространством....................................164
5.2.6. Размер логического блока ........................................................165

5.3. Особенности загрузки ОС.................................................................166

Понятие и эволюция операционных систем

5

5.4. Файлы и файловая система...............................................................169

5.4.1. Цели и задачи файловой системы............................................170
5.4.2. Типы файлов..............................................................................172
5.4.3. Атрибуты файла ........................................................................175
5.4.4. Доступ к файлам .......................................................................176
5.4.5. Операции над файлами.............................................................179
5.4.6. Иерархическая структура каталогов .......................................181
5.4.7. Операции над директориями....................................................182

5.5. Особенности организации некоторых файловых систем...............183

5.5.1. FAT.............................................................................................183
5.5.2. VFAT..........................................................................................190
5.5.3. NTFS...........................................................................................192
5.5.4. HPFS...........................................................................................196
5.5.5. UFS.............................................................................................199

5.6. Дисковые массивы RAID..................................................................204

6. МУЛЬТИПРОЦЕССОРНЫЕ ОС И СРЕДСТВА 
ВИРТУАЛИЗАЦИИ ....................................................................................207

6.1. Организация мультипроцессорных ОС. ..........................................207
6.2. Коммуникационные средства многомашинных систем 
уровня пользователя.................................................................................211
6.3. Средства виртуализации ...................................................................213

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

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

6

Предисловие

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

В связи с этим очевидны ведущая роль современных ОС и осо
бое внимание, которое следует уделять их изучению. Предлагаемое учебное пособие направлено в некоторой степени на решение 
данной задачи. В нем сделана попытка изложить самые основные 
элементы особенностей функционирования, назначения и архитектуры современных ОС без существенной «привязки» к какой-либо 
конкретной ОС и лишних деталей функционирования, усложняющих процесс понимания. 

В пособии главным образом изложены общетеоретические во
просы построения и функционирования ОС: базовые понятия ОС, 
основные этапы эволюции ОС, составляющие функционирования 
мультипроцессной системы, – мультипрограммирование, планирование процессов и потоков и механизмы их взаимодействия и синхронизации, основные задачи по управлению памятью, особенности реализации распределения оперативной памяти и физической 
организации жесткого диска, базовые принципы построения типовой файловой системы, особенности загрузки ОС и организация 
консолидированных серверных систем хранения данных большого 
объема RAID различного уровня.

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

Предисловие

7

систем, а также для широкого круга подготовленных пользовате-
лей, желающих углубить свои познания в области ОС. Более глубокие знания основных архитектурных принципов построения и 
функционирования ОС позволят обоснованно принимать решения 
по приобретению того или иного вычислительного оборудования
и программного обеспечения, организовывать его эффективную и 
надежную эксплуатацию, принимать решения о необходимости 
его частичного обновления или замены.

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

8

1. ПОНЯТИЕ И ЭВОЛЮЦИЯ 
ОПЕРАЦИОННЫХ СИСТЕМ 

1.1. Основные понятия, назначения и функции ОС

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

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

Во-первых, в состав ВС входит то, что называют аппаратным,

или техническим, обеспечением (англ. hardware): процессоры, 
память, мониторы, таймеры, дисковые устройства, накопители на 
магнитных лентах, сетевая коммуникационная аппаратура, принтеры и т.д., объединенные магистральным соединением (шиной). 

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

Следует отметить, что деление на прикладное и системное ПО 

является отчасти условным и зависит от того, кто осуществляет 

1. Понятие и эволюция операционных систем

9

такое деление. Так, обычный пользователь, не искушенный в программировании, может считать текстовый процессор Microsoft 
Word системной программой, а с точки зрения программиста, это –
приложение. Компилятор языка С для обычного программиста –
системная программа, а для системного – прикладная.

 
Пользователь

Прикладные 
программы

Прочие 

системные
программы

Операционная

система

Техническое
обеспечение

Системные
программы

Программное
обеспечение

Рис. 1. Пользователь и обобщенная структура вычислительной системы

Принимая во внимание вышеизложенное, следует отметить, что 

операционная система является фундаментальным компонентом 
системного программного обеспечения. Именно эта часть ПО будет основным предметом детального рассмотрения далее.

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

10

Очевидно, что операционная система является основным ком
понентом любой вычислительной системы и во многом определяет
эффективность ее функционирования в целом. При этом дать однозначное определение операционной системе затруднительно. 
Главным образом это связано с тем, что операционная система выполняет целый ряд разнородных функций, начиная от обеспечения 
пользователю-программисту удобств посредством предоставления 
комфортного интерфейса к аппаратной части вычислительной системы и заканчивая обеспечением рационального управления ресурсами вычислительной системы. В связи с этим целесообразно 
дать несколько различных определений и сделать акцент на целях
создания операционных систем, их функциях и предназначении.

Главными целями разработчиков операционных систем явля
ются следующие:

1. Эффективное использование всех компьютерных ресурсов.
2. Повышение производительности труда программистов.
3. Простота, гибкость, эффективность и надежность организации

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

4. Обеспечение независимости прикладного ПО от аппаратного 

ПО.

Операционная система (ОС) – это программа, которая обеспе
чивает возможность рационального использования оборудования 
компьютера удобным для пользователя образом.

ОС – базовый комплекс компьютерных программ, обеспечива
ющий управление аппаратными средствами компьютера, работу 
с файлами, ввод и вывод данных, а также выполнение прикладных 
программ и утилит.

Кроме различных определений ОС, два из которых приведены 

выше, пользователи выделяют ряд различных точек зрения на ОС:

– ОС как виртуальная машина; 
– ОС как система управления ресурсами;
– ОС как защитник пользователей и программ; 
– ОС как постоянно функционирующее ядро. 
Для более полного представления об ОС рассмотрим основные 

точки зрения пользователей более подробно. 

1. Понятие и эволюция операционных систем

11

ОС как виртуальная машина. Использование архитектуры 

персонального компьютера на уровне машинных команд является 
крайне неудобным для использования прикладными программами. 
Так, работа с диском предполагает знание внутреннего устройства 
его электронного компонента – контроллера для ввода команд 
вращения диска, поиска и форматирования дорожек, чтения и записи секторов и т.д. Работа по организации прерываний, работы
таймера, управления памятью и прочего также может требовать при
программировании знания и учета большого количества деталей. 

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

ОС как система управления ресурсами. В случае, если не
сколько программ, работающих на одном компьютере, будут пытаться одновременно осуществлять вывод на принтер, то можно 
получить «мешанину» строчек и страниц. ОС должна предотвращать такого рода хаос за счет буферизации подобной информации 
и организации очереди на печать. Не менее актуальная проблема –
проблема управления ресурсами для многопользовательских компьютеров.

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

ОС как защитник пользователей и программ. Если в вычис
лительной системе требуется обеспечение совместной работы нескольких пользователей, то возникает проблема организации их 
безопасной деятельности. Так, необходимо обеспечить: 

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

12

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

или удаления файлов; 

– разрешение программам одних пользователей произвольно

вмешиваться в работу программ других пользователей; 

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

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

Эти задачи, как правило, возложены на ОС как организатора 

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

ОС как постоянно функционирующее ядро. Можно говорить 

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

Учитывая рассмотренное многообразие точек зрения на ОС, 

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

1.2. Эволюция вычислительных 
и операционных систем

1.2.1. История развития ОС

Поколения ОС, так же как и аппаратные средства, связаны с до
стижениями в области создания электронных компонентов: ламп 
(1-е поколение), транзисторов (2-е поколение), интегральных микросхем (ИС; 3-е поколение), больших и сверхбольших интегральных 
схем (БИС и СБИС; 4-е и 5-е поколения). Рассмотрим эволюцию 
ОС более подробно.

Первое поколение (1940–1950-е гг.). В эти годы ОС отсут
ствуют. Первые шаги в области разработки электронных вычислительных машин были предприняты в конце Второй мировой войны. 
В середине 1940-х гг. были созданы первые ламповые вычислительные устройства и появился принцип программы, хранящейся 

1. Понятие и эволюция операционных систем

13

в памяти машины (John Von Neumann, июнь 1945 г.). В то время 
одна и та же группа людей участвовала и в проектировании, и в 
эксплуатации, и в программировании вычислительной машины. 
Это была, скорее, научно-исследовательская работа в области вычислительной техники, а не регулярное использование компьютеров в качестве инструмента решения каких-либо практических задач
из других прикладных областей. Программирование осуществлялось исключительно на машинном языке. Об ОС не было и речи, 
все задачи организации вычислительного процесса решались 
вручную каждым программистом с пульта управления. За пультом 
мог находиться только один пользователь. Программа загружалась 
в память машины в лучшем случае с колоды перфокарт, а обычно 
с помощью панели переключателей. 

Вычислительная система выполняла одновременно только одну 

операцию (ввод-вывод или собственно вычисления). Отладка программ велась с пульта управления с помощью изучения состояния 
памяти и регистров машины. В конце этого периода появляется 
первое системное программное обеспечение: в 1951–1952 гг. возникают прообразы первых компиляторов с символических языков 
(Fortran и др.), а в 1954 г. Nat Rochester разрабатывает Ассемблер 
для IBM-701. 

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

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

Второе поколение (1950–1960-е гг.). С середины 1950-х гг. 

начался следующий период в эволюции вычислительной техники, 
связанный с появлением новой технической базы – полупроводниковых элементов. Применение транзисторов вместо часто перегоравших электронных ламп привело к повышению надежности 
компьютеров. Теперь машины могут непрерывно работать достаточно долго, чтобы на них можно было возложить выполнение 
практически важных задач. Снижается потребление вычислитель
Доступ онлайн
600 ₽
В корзину