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

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

Покупка
Основная коллекция
Артикул: 765653.01.99
Охарактеризованы основные понятия и классификация операционных систем, приведено описание современных архитектур операционных систем, рассмотрены вопросы управления памятью, организации вычислительного процесса и управления данными. Уделено внимание сетевым операционным системам, поскольку объединение компьютеров в информационно-вычислительную сеть дает возможность программам, установленным на отдельных рабочих станциях, совместно решать прикладные задачи. Предназначено для студентов, обучающихся по направлению 09.03.03 «Прикладная информатика». Может быть полезно преподавателям дисциплины «Операционные системы».
Кузьмич, Р. И. Операционные системы : учебное пособие / Р. И. Кузьмич, А. Н. Пупков, Л. Н. Корпачева. - Красноярск : Сиб. федер. ун-т, 2018. - 122 с. - ISBN 978-5-7638-3949-4. - Текст : электронный. - URL: https://znanium.com/catalog/product/1818709 (дата обращения: 27.04.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Министерство науки и высшего образования Российской Федерации
Сибирский федеральный университет

Р. И. Кузьмич, А. Н. Пупков, Л. Н. Корпачева

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

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

Красноярск 
СФУ 
2018

УДК 004.451(07)
ББК 22.161я73
К893

Р е ц е н з е н т ы: 
Л. А. Казаковцев, доктор технических наук, доцент, заведующий 
кафедрой системного анализа и исследования операций Сибирского 
государственного университета науки и технологий имени академика 
М. Ф. Решетнева;
А. А. Ступина, доктор технических наук, профессор, проректор по 
образовательной деятельности Сибирского федерального университета

Кузьмич, Р. И.
К893 
 
Операционные системы : учеб. пособие / Р. И. Кузьмич, 
А. Н. Пупков, Л. Н. Корпачева. – Красноярск : Сиб. федер. ун-т, 
2018. – 122 c.
ISBN 978-5-7638-3949-4

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

Электронный вариант издания см.: 
УДК 004.451(07)

http://catalog.sfu-kras.ru 
ББК 22.161я73

ISBN 978-5-7638-3949-4 
© Сибирский федеральный
университет, 2018

ОГЛАВЛЕНИЕ

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

1. Введение в операционные системы ....................................................7
1.1. Место ОС в структуре аппаратного  
и программного обеспечения компьютера ..........................................7
1.2. Назначение, состав и функции ОС ......................................................9
1.3. Классификация ОС ............................................................................ 15
1.4. Требования, предъявляемые к современным ОС ............................ 18

2. Архитектура операционной системы .............................................. 20
2.1. Классическая архитектура ОС .......................................................... 20
2.2. Многослойная структура ОС ............................................................ 22
2.3. Аппаратная зависимость и переносимость ОС ............................... 24
2.4. Микроядерная архитектура ОС ........................................................ 27

3. Управление процессами и потоками ............................................... 31
3.1. Мультипрограммирование. Планирование процессов и потоков .... 31
3.1.1. Понятия «процесс» и «поток» ............................................... 32
3.1.2. Описатели процессов и потоков ............................................ 34
3.1.3. Состояния процессов и потоков ............................................ 34
3.1.4. Планирование и диспетчеризация ......................................... 35
3.1.5. Операции над потоками.......................................................... 37
3.2. Алгоритмы планирования ................................................................. 38
3.3. Аппаратно-программная система прерывания ............................... 44
3.4. Системные вызовы ............................................................................. 47
3.5. Синхронизация процессов и потоков ............................................... 49
3.5.1. Блокирующие переменные ..................................................... 50
3.5.2. Семафоры ................................................................................. 50
3.6. Тупики ................................................................................................. 52
3.7. Синхронизирующие объекты ОС ..................................................... 53

4. Управление памятью .......................................................................... 57
4.1. Организация памяти .......................................................................... 57
4.2. Функции ОС по управлению памятью ............................................ 61
4.3. Алгоритмы распределения памяти ................................................... 64

5. Управление данными ......................................................................... 75
5.1. Задачи подсистемы ввода-вывода ..................................................... 75

5.1.1. Организация параллельной работы УВВ и процессора ...... 75
5.1.2. Согласование скоростей обмена и кэширование данных .... 76
5.1.3. Разделение устройств и данных между процессами ........... 76
5.1.4. Обеспечение удобного логического интерфейса  
между устройствами и остальной частью системы ............ 77
5.1.5. Поддержка широкого спектра драйверов  
и простота включения нового драйвера в систему .............. 78
5.1.6. Динамическая загрузка и выгрузка драйверов ..................... 79
5.1.7. Поддержка нескольких ФС  ................................................... 79
5.1.8. Поддержка синхронных и асинхронных операций  
ввода-вывода ........................................................................... 79
5.2. Многослойная модель подсистемы ввода-вывода .......................... 80
5.3. Многоуровневые драйверы ............................................................... 82
5.4. Логическая организация ФС ............................................................. 85
5.4.1. Цели и задачи ФС .................................................................... 85
5.4.2. Иерархическая структура ФС ................................................ 87
5.4.3. Типы, имена и атрибуты файлов ........................................... 88
5.4.4. Логическая организация файла .............................................. 92
5.5. Физическая организация ФС ............................................................ 94
5.5.1. Диски, разделы, секторы, кластеры....................................... 94
5.5.2. Физическая организация и адресация файла ....................... 96
5.6. Контроль доступа к файлам .............................................................. 99

6. Сетевые операционные системы ................................................... 102
6.1. Структура сетевой операционной системы ................................... 102
6.2. Одноранговые сетевые ОС и ОС с выделенными серверами ...... 105
6.3. Классификация сетевых операционных систем по масштабу ..... 109

Заключение ............................................................................................. 115
Тесты ....................................................................................................... 116
Библиографический список ................................................................ 120

ВВЕДЕНИЕ

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

Введение

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

1. ВВЕДЕНИЕ В ОПЕРАЦИОННЫЕ СИСТЕМЫ

1.1. Место ОС в структуре аппаратного  
и программного обеспечения компьютера

ЭВМ состоит из двух взаимосвязанных и взаимодействующих 
компонентов – аппаратного и программного обеспечения.
Место ОС в общей структуре программного и аппаратного обеспечения компьютера показано в табл. 1.1. 

Таблица 1.1

Иерархическая структура программно-аппаратных средств компьютера

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

Системное ПО: операционная система и другие системные программы (утилиты, 
трансляторы, редакторы и т. д.) 

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

Микроархитектура (регистры ЦП, АЛУ)

Устройства (шины, контроллеры и т. д.)

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

1. Введение в операционные системы

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

1.2. Назначение, состав и функции ОС

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

1.2. Назначение, состав и функции ОС

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

1. Введение в операционные системы

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

1.2. Назначение, состав и функции ОС

и с которой легче работать, чем непосредственно с аппаратурой, составляющей реальный компьютер, систему или сеть.
2. Организация эффективного использования ресурсов компьютера. ОС не только представляет пользователям и программистам удобный интерфейс к аппаратным средствам компьютера, но и является 
своеобразным диспетчером ресурсов компьютера. К числу основных 
ресурсов современных вычислительных систем относятся процессоры, 
основная память, таймеры, наборы данных, диски, принтеры, сетевые 
устройства и др. Эти ресурсы распределяются операционной системой 
между выполняемыми программами. В отличие от программы, которая 
является статическим объектом, выполняемая программа – это динамический объект, он называется процессом и является базовым понятием 
современных ОС.
Управление ресурсами вычислительной системы с целью наиболее эффективного их использования является вторым назначением операционной системы. Критерии эффективности, в соответствии с которыми ОС организует управление ресурсами компьютера, могут быть 
различными. Например, в одних системах важен такой критерий, как 
пропускная способность вычислительной систем, в других – время ее 
реакции. Зачастую ОС должны удовлетворять нескольким противоречащим друг другу критериям, что доставляет разработчикам серьезные 
трудности.
Управление ресурсами включает решение ряда общих, не зависящих от типа ресурса задач:
а) планирование ресурса – определение, какому процессу, когда 
и в каком качестве (если ресурс может выделяться частями) следует выделить данный ресурс;
б) удовлетворение запросов на ресурсы – выделение ресурса процессам;
в) отслеживание состояния и учет использования ресурса – поддержание оперативной информации о занятости ресурса и распределенной его доли;
г) разрешение конфликтов между процессами, претендующими 
на один и тот же ресурс.
Для решения этих общих задач управления ресурсами разные 
ОС используют отличающиеся алгоритмы, особенности которых, в ко
1. Введение в операционные системы

нечном счете, определяют облик ОС в целом, включая характеристики 
производительности, область применения и даже пользовательский интерфейс. Таким образом, управление ресурсами составляет важное назначение ОС. В отличие от функций расширенной виртуальной машины 
большинство функций управления ресурсами выполняются ОС автоматически и прикладному программисту недоступны.
3. Облегчение процессов эксплуатации аппаратных и программных средств ЭВМ. Ряд операционных систем имеют в своем составе 
наборы служебных программ, обеспечивающие резервное копирование, 
архивацию данных, проверку, очистку и дефрагментацию дисковых 
устройств и др.
Кроме того, современные ОС имеют достаточно большой набор 
средств и способов диагностики и восстановления работоспособности 
системы. 
4. Возможность развития. Современные ОС организуются таким 
образом, что допускают эффективную разработку, тестирование и внедрение новых системных функций, не прерывая процесса нормального 
функционирования вычислительной системы. Большинство ОС постоянно развиваются (нагляден пример Windows). Происходит это в силу 
следующих причин:
а) обновление и возникновение новых видов аппаратного обеспечения;
б) новые сервисы; 
в) исправления. 
Функции ОС обычно группируются либо в соответствии с типами 
локальных ресурсов, которыми управляет ОС, либо в соответствии со 
специфическими задачами, применимыми ко всем ресурсам. Совокупности модулей, выполняющих такие группы функций, образуют подсистемы операционной системы.
Наиболее важными подсистемами управления ресурсами являются подсистемы управления процессами, памятью, файлами и внешними 
устройствами, а подсистемами, общими для всех ресурсов, являются 
подсистемы пользовательского интерфейса, защиты данных и администрирования.
Управление процессами. Подсистема управления процессами непосредственно влияет на функционирование вычислительной системы.