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

Операционные системы и среды: основные понятия теории

Покупка
Артикул: 752980.01.99
Доступ онлайн
2 000 ₽
В корзину
В учебнике рассматриваются основное понятие предмета - операционная система, а также абстракции ее теории - процессы, память, файлы. Для них приведены как теоретические модели и алгоритмы, так и средства их практического изучения для двух семейств - Windows и UNIX/Linux. Учебник дополнен тремя приложениями, в которых приведены правила использования командного режим Linux и утилиты для изучения и управления процессами и файлами. Предназначен для студентов, обучающихся в бакалавриате по направлениям подготовки 01.03.04 «Прикладная математика», 09.03.02 «Информационные системы и технологии», 09.03.03 «Прикладная информатика».
Широков, А. И. Операционные системы и среды: основные понятия теории : учебник / А. И. Широков, Ф. Г. Кирдяшов, С. Э. Мурадханов ; под ред. Е. А. Калашникова, Л. П. Рябова. - Москва : Изд. Дом НИТУ «МИСиС», 2018. - 192 с. - ISBN 978-5-906953-49-0. - Текст : электронный. - URL: https://znanium.com/catalog/product/1232238 (дата обращения: 19.04.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Москва  2018

МИНИС Т Е РС ТВО НАУКИ И ВЫСШ ЕГО О Б РА З О ВА Н И Я РФ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ 
ВЫСШЕГО ОБРАЗОВАНИЯ 
«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ «МИСиС»

ИНСТИТУТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ И АВТОМАТИЗИРОВАННЫХ 
 СИСТЕМ УПРАВЛЕНИЯ

Кафедра инженерной кибернетики 

А.И. Широков
Ф.Г. Кирдяшов
С.Э. Мурадханов 

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

ОСНОВНЫЕ ПОНЯТИЯ ТЕОРИИ

Учебник

Под редакцией профессора Е.А. Калашникова и профессора Л.П. Рябова

Рекомендовано редакционно-издательским 
советом университета

УДК  004.451 
Ш64

Р е ц е н з е н т ы: 
канд. техн. наук, доц. С.В. Никифоров (РГГУ) 
канд. техн. наук, доц. С.В. Громов

Широков А.И. 
Ш64  
Операционные системы и среды : основные понятия теории : 
учеб. / А.И. Широков, Ф.Г. Кирдяшов, С.Э. Мурадханов ; под 
ред. Е.А. Калашникова и Л.П. Рябова. – М. : Изд. Дом НИТУ 
«МИСиС», 2018. – 192 с.
ISBN 978-5-906953-49-0

В учебнике рассматриваются основное понятие предмета – операционная 
система, а также абстракции ее теории – процессы, память, файлы. Для них 
приведены как теоретические модели и алгоритмы, так и средства их практического изучения для двух семейств – Windows и UNIX/Linux. Учебник дополнен тремя приложениями, в которых приведены правила использования 
командного режим Linux и утилиты для изучения и управления процессами 
и файлами. 
Предназначен для студентов, обучающихся в бакалавриате по направлениям подготовки 01.03.04 «Прикладная математика», 09.03.02 «Информационные системы и технологии», 09.03.03 «Прикладная информатика».
УДК 004.451


А.И. Широков,  
Ф.Г. Кирдяшов 
С.Э. Мурадханов, 2018
ISBN 978-5-906953-49-0

НИТУ «МИСиС», 2018

Содержание

От авторов ................................................................................................. 4
Предисловие ..............................................................................................6
1. Основные понятия операционных систем  .........................................7
1.1. К определению термина «Операционная система».  
Функции и классификация операционных систем  ............................. 7
1.2. Место операционной системы в современных  
программно-аппаратных комплексах  ................................................. 16
1.3. Пользователи программно-аппаратного комплекса  ................... 22
2. Функции операционных систем по управлению процессами  .......27
2.1. К определению термина «вычислительный процесс»  .............. 27
2.2. Функции подсистемы управления процессами  .......................... 32
2.3. Характеристики вычислительных процессов   ............................ 35
2.4. Модели состояния процессов  ....................................................... 42
2.5. Планирование процессов  .............................................................. 49
3. Управление памятью в операционных системах  ............................65
3.1. Иерархия памяти  ............................................................................ 65
3.2. Функции операционной системы по управлению памятью  ..... 66
3.3. Отображение памяти, виртуальное адресное пространство  ..... 68
3.4. Модели физической организации памяти .................................... 71
3.5. Использование внешней памяти.  
Виртуальная память современных ОС  ............................................... 77
3.6. Модели (алгоритмы) замещения страниц  ................................... 81
4. Файловые системы  .............................................................................87
4.1. Определение термина «файловая система»,  
классификация и ее функции ................................................................ 87
4.2. Логическая организация файловых систем  ................................ 91
4.3. Физическая организация файловых систем ............................... 107
4.4. Реализация файловых систем современных  
операционных систем  ..........................................................................111
Библиографический список .................................................................... 131
ПРИЛОЖЕНИЯ .....................................................................................134
Приложение 1. Основы использования командной строки...............134
Приложение 2. Утилиты командного режима Linux  
для управления процессами .................................................................162
Приложение 3. Изучение логической организации  
файловой системы на примере Linux  .................................................177

Памяти
Юрия Юрьевича
Прокопчука
посвящается

От авторов

Этот учебник посвящается светлой памяти Юрия Юрьевича Прокопчука, скончавшегося 16 мая 2013 г. Авторы и редакторы данного 
учебника знали Юрия Юрьевича не один десяток лет. 
Ю.Ю. Прокопчук родился в Москве 26 апреля 1939 г. Окончив 
среднюю школу, он поступил в МФТИ для овладения специальностью математика, где проучился три года, но закончил обучение 
в НГУ – Новосибирском государственном университете в 1963 г. Будучи студентом, он начал трудовую деятельность в Институте математики СО АН СССР. Вернувшись в Москву, поступил на работу в МКБ 
Стрела-Алмаз. В 1967 г. он становится сотрудником вычислительного 
центра кафедры инженерной кибернетики МИСиС, где работает до 
1975 г. Параллельно с основной деятельностью Юрий Юрьевич готовит диссертационную работу на тему «Алгоритмическое решение задачи моделирования для асинхронных автоматов», которую защитил 
в Институте проблем управления. ВАК утвердила его диссертацию 
7 июня 1974 г. 
В 1975 г. местом его работы стал Главный вычислительный центр 
Мосгорисполкома, где он возглавлял лабораторию программирования 
задач оперативного управления. Но в марте 1978 г. Прокопчук возвращается в МИСиС на преподавательскую деятельность на кафедре 
инженерной кибернетики. Он является ее сотрудником до декабря 
1987 г. В это время образуется кафедра автоматизированных систем 
управления под руководством Анатолия Григорьевича Дьячко, куда 
Прокопчук был переведен на должность доцента. Он завершил свой 
формальный трудовой стаж, уйдя на пенсию в 2011 г. Но и после этого он продолжал заниматься своим любимым делом. 
Основные научные достижения Ю.Ю. Прокопчука лежат в области конечных автоматов и потоках в сетях. Всего опубликовано около 
150 печатных трудов, где он является автором или соавтором. Работая 
преподавателем в МИСиС, Юрий Юрьевич посвятил себя учебной 
и методической работе по предмету дискретная математика. С 1991 
по 2013 г. опубликовано 20 учебных пособий общим объемом около 

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

ПРЕДИСЛОВИЕ

Теория и практика операционных систем (ОС) представляют собой обширную область знаний, систематическое изложение которой 
в одном учебнике является сложной задачей. Наиболее полно, пожалуй, это делает Эндрю Танненбаум в своей книге [1], которая давно 
стала классикой и постоянно выпускается в новой редакции с учетом 
появления новых системных технологий и их программной реализации. В данном учебнике рассматривается ограниченный круг вопросов. В первой главе подробно и с разных точек зрения описывается 
основное понятие теории – термин «операционная система». Там же 
приводится классификация программных комплексов, их функции, 
место в вычислительной установке и описание взаимодействия с разными типами пользователей. Вторая глава с теоретической и практической точек зрения описывает терминологию, связанную с понятием 
«вычислительная работа». При организации вычислений очень важным является использование памяти. Третья глава рассматривает эту 
абстракцию. В четвертой главе описаны принципы логической и физической организации файловой системы (ФС). Приведены способы 
организации ФС для семейств Windows и UNIX/Linux, а также Mac 
OS. Учебник содержит три приложения. В первом описаны правила 
использования системных утилит Linux в командном режиме. Это 
сделано для того, чтобы далее можно было познакомиться с утилитами для управления процессами и элементами ФС.  
Таким образом, в учебнике рассмотрены основные понятия теории 
ОС как с практической, так и с теоретической точек зрения. Такие понятия конкретизированы для наиболее распространенных семейств 
Windows и UNIX/Linux. 

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

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

1.1. К определению термина «Операционная 
система». Функции и классификация 
операционных систем 

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

В книге [3] термин описан так: «Операционная система – это 
комплекс программ, которые обеспечивают управление аппаратными средствами, организует работу с файлами (в том числе запуск и 
управление выполнением программ), а также реализует взаимодействие с пользователем, т.е. интерпретацию вводимых пользователем команд и вывод результатов обработки этих команд».
Еще в одном учебнике [4] ОС определяется так: «Операционная система (ОС) – программный комплекс, предоставляющий пользователю 
среду для выполнения прикладных программ и управления ими, а прикладным программам средства доступа и управления аппаратными 
ресурсами». Для подтверждения этого там же приводится рис. 1.1.  

Рис. 1.1. Структура ядра типичной ОС  

В книге, реализованной в рамках проекта ИНТУИТ [5], приводится такое определение: «...операционная система – это набор программ, контролирующих работу прикладных программ и системных 
приложений и исполняющих роль интерфейса между пользователями, программистами, прикладными программами, системными приложениями и аппаратным обеспечением компьютера».
Приведем определение термина из ГОСТа 15971–90 [6] (документа 
содержащего стандартизованные определения многих понятий из области информационных технологий): «Операционная система (Operating 

system). Совокупность системных программ, предназначенных для обеспечения определенного уровня эффективности системы обработки 
информации за счет автоматизированного управления ее работой и 
представляемого пользователю определенного набора услуг». 
На наш взгляд, в этих определениях есть неточности. Вряд ли следует включать в состав ядра ОС драйверы. Также не следует рассматривать ОС как средство обеспечения интерфейса пользователя, что 
является функциями оболочек (командного или графического режима). 
Многие авторы монографий и учебников прямо не приводят определение понятию «Операционная система», а дают его описание. 
Например, в классическом труде Э. Таненбаума [1] во введении рассматриваются составные элементы аппаратной части компьютера: 
процессор, оперативная память, диски, дисплей и другое внешнее 
оборудование. Далее там говорится следующее: «... компьютеры оснащены специальным уровнем программного обеспечения, который 
называется операционной системой, в чью задачу входит управление 
пользовательскими программами, а также всеми ранее упомянутыми ресурсами». Четырехуровневая модель современного компьютера 
Таненбаума (рис. 1.2) содержит три уровня программного обеспечения и один уровень аппаратных средств. Уровень ОС расположен 
между аппаратурой и пользовательским интерфейсом. В подразд. 1.2 
настоящего учебника уровни программно-аппаратного комплекса будут описаны более подробно.   

Рис. 1.2. Место операционной системы  
в структуре программного обеспечения 

Далее в монографии [1] говорится о том, что ОС работает в особом режиме. Он называется режимом ядра или супервизора. Остальное программное обеспечение работает в режиме, который называется пользовательским. 
В другом подразделе гл. 1 (понятие операционной системы) книги 
Э. Таненбаума содержатся такие подразделы, как процессы, адресные 
пространства, файлы, безопасность. Если рассматривать эту монографию в целом, то заметим, что она содержит состав основных глав, не 
привязанных к конкретным ОС: процессы и потоки, управление памятью, файловые системы, управление безопасностью. Таким образом, определены четыре главных объекта, которыми управляет ОС. 
Отметим, что авторы работ [1, 5, 7] по-разному определяют термин «Операционная система» и наша задача по возможности выявить 
«пересечения» этих трех описаний (табл. 1.1).

Таблица 1.1
Три описания понятия «операционная система» 

В.А. Карпов  
и К.Е Коньков [5] 
Э. Таненбаум [1]
В.Г. Олифер  
и Н.А. Олифер [7] 
Виртуальная машина.
Менеджер ресурсов.
Защита пользователей 
и программ.
Постоянно  
функционирующее ядро

Расширенная машина.
Менеджер ресурсов

Виртуальная машина.
Система управления 
ресурсами

Сделаем следующие замечания про содержимое табл. 1.1. Сказанное далее относится не ко всем типам ОС. 
В книге [5] четыре пункта. Они следуют сразу за словами «Большинство пользователей имеет опыт эксплуатации операционных 
систем, но, тем не менее, они затрудняются дать этому понятию 
точное определение». 
Таненбаум [1] не говорит прямо, что два пункта полностью определяют такой термин. Просто в разделе с именем «Операционная 
система» представлены, как было сказано ранее, только два таких 
пункта. 
И, наконец, в учебнике [7] в разделе «Операционные системы автономного компьютера» содержатся два пункта. 
Как видно из табл. 1.1, две ее строки – виртуальная машина (расширенная машина – у Таненбаума) и менеджер ресурсов (система 
управления ресурсами – у Олиферов) совпадают у трех авторов. 

Операционная система как виртуальная машина позволяет процессам общаться с оборудованием как с некоторым обобщенным элементом заданного типа, при этом процессам не надо знать конкретных 
деталей. Добавим, что ОС, имеющая некоторую основу, получает дополнение в виде драйверов, обеспечивающих наиболее эффективную 
работу конкретной модели выбранного производителя. Сделаем замечание. Для ОС Windows большинство моделей оборудования может 
работать без драйверов, но для более эффективной работы оборудования они могут быть установлены.  
Заметим, что в области информационных технологий есть и другое толкование термина «виртуальная машина». Это связано с технологией, эмулирующей на программном или аппаратном уровне другую компьютерную платформу. Широкое распространение получили 
программные средства VMware Workstation (VMware, Inc.), Virtual PC 
(Microsoft), Virtual Box (Oracle), позволяющие выполнять программы, 
разработанные для одной ОС, когда на компьютере загружена другая. 
Виртуальные машины используются еще и несколько иным способом – для запуска программ на языке Java. Для этого компания Sun 
Microsystems создала специальное программное средство JVM (Java 
Virtual Machine). Если компилятор Java создает код для него, то последний затем может быть выполнен интерпретатором JVM. Такой 
код может передаваться по Интернету и выполняться на компьютере, 
где установлен этот интерпретатор. 
Еще одна строка (управление ресурсами) также имеется у всех авторов. А вот функция защиты, так же как «постоянно функционирующее ядро», выделены только у одного автора. 
Опираясь на изложенное ранее, можно определить ОС как специальный уровень программного обеспечения, управляющего пользовательскими программами и оборудованием. Последние рассматриваются как ресурсы, которыми и должна управлять ОС. В функции 
этого слоя программного обеспечения входят управление вычислительными работами, памятью, файлами, а также обеспечение безопасности. 
Если говорить о развитии термина «операционная система», то 
новое, появившееся последним в его определении, – это обеспечение 
безопасности. Это, конечно, связано с широким внедрением технологий глобальных и локальных сетей. 
Для полноты описания термина «операционная система» приведем ее функции, также опираясь на несколько работ. 

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