Операционные системы и среды : в 2 ч. Ч. 1
Покупка
Издательство:
Издательский Дом НИТУ «МИСиС»
Год издания: 2022
Кол-во страниц: 111
Дополнительно
Вид издания:
Курс лекций
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-907560-17-8
Артикул: 797219.01.99
Курс лекций знакомит с основными понятиями, назначением, типами и ключевыми функциями операционных систем. Подробно обсуждаются общие вопросы и особенности структурной организации операционных систем. Материал, изложенный в курсе лекций, позволяет расширить кругозор и вызвать интерес к углубленному изучению дисциплины «Операционные системы и среды». Предназначен для обучающихся в бакалавриате по направлению подготовки 09.03.01 «Информатика и вычислительная техника», а также обучающихся по другим направлениям подготовки, изучающих информационные технологии. Курс лекций может быть рекомендован при описании информационных систем в основной части выпускной квалификационной работы.
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Москва 2022 М ИНИС ТЕРС ТВО НАУКИ И ВЫСШ ЕГО О Б РА З О ВА Н И Я РФ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ «МИСиС» ИНСТИТУТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ И АВТОМАТИЗИРОВАННЫХ СИСТЕМ УПРАВЛЕНИЯ Кафедра автоматизированных систем управления А.Н. Гончаренко ОПЕРАЦИОННЫЕ СИСТЕМЫ И СРЕДЫ Часть 1 Курс лекций Рекомендовано редакционно-издательским советом университета № 4679
УДК 65.011.56 Г65 Р е ц е н з е н т канд. техн. наук, доц. Д.В. Калитин Гончаренко, Алексей Николаевич. Г65 Операционные системы и среды : курс лекций : в 2 ч. / А.Н. Гончаренко. – Москва : Издательский Дом НИТУ «МИСиС», 2022. – Ч. 1. – 111 с. ISBN 978-5-907560-17-8 Курс лекций знакомит с основными понятиями, назначением, типами и ключевыми функциями операционных систем. Подробно обсуждаются общие вопросы и особенности структурной организации операционных систем. Материал, изложенный в курсе лекций, позволяет расширить кругозор и вызвать интерес к углубленному изучению дисциплины «Операционные системы и среды». Предназначен для обучающихся в бакалавриате по направлению подготовки 09.03.01 «Информатика и вычислительная техника», а также обучающихся по другим направлениям подготовки, изучающих информационные технологии. Курс лекций может быть рекомендован при описании информационных систем в основной части выпускной квалификационной работы. УДК 65.011.56 Гончаренко А.Н., 2022 ISBN 978-5-907560-17-8 НИТУ «МИСиС», 2022
СОДЕРЖАНИЕ Лекция 1. Понятие, назначение, типы и основные функции операционных систем. Особенности структурной организации операционных систем ................................... 4 Лекция 2. Определение и классификация интерфейсов ..... 29 Лекция 3. Современные файловые системы. Файловая система FAT ................................................................. 35 Лекция 4. Файловая система NTFS ................................ 43 Лекция 5. Концепция и особенности архитектуры операционных систем семейства Windows ........................ 51 Лекция 6. Установка и удаление оборудования в ОС Windows. Драйверы устройств ................................. 61 Лекция 7. Архитектура реестра в ОС Windows ................. 71 Лекция 8. Командная строка в ОС Windows. Основные команды и параметры .................................................... 88 Библиографический список ...........................................110
ЛЕКЦИЯ 1. Понятие, назначение, типы и основные функции операционных систем. Особенности структурной организации операционных систем Операционная система (ОС) – это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом. В данной лекции рассказывается о предмете, изучаемом в рамках дисциплины «Операционные системы и среды». Сначала мы попытаемся ответить на вопрос, что такое ОС. Затем последует анализ эволюции ОС и рассказ о возникновении основных концепций и компонентов современных ОС. В заключение будет представлена классификация ОС с точки зрения особенностей архитектуры и использования ресурсов компьютера. Из чего состоит любая вычислительная система? Во-первых, из того, что в англоязычных странах принято называть словом hardware, или техническим обеспечением, – процессора, памяти, монитора, дисковых устройств и т.д., объединенных магистральным соединением, которое называется шиной. Во-вторых, вычислительная система состоит из программного обеспечения. Все программное обеспечение принято делить на две части – прикладное и системное. К прикладному программному обеспечению, как правило, относят разнообразные банковские и прочие бизнес-программы, игры, текстовые процессоры и т.п. Под системным программным обеспечением обычно понимают программы, способствующие функционированию и разработке прикладных программ. Надо сказать, что деление на прикладное и системное программное обеспечение является отчасти условным и зависит от того, кто осуществляет такое деление. Так, обычный пользователь, неискушенный в программировании, может считать Microsoft Word системной программой, а с точки зрения программиста, это – приложение. Компилятор языка Си для обычного программиста – системная программа, а для системного – прикладная.
Несмотря на эту нечеткую грань, данную ситуацию можно отобразить в виде последовательности слоев (рис. 1.1), выделив наиболее общую часть системного программного обеспечения – ОС. Рис. 1.1. Слои программного обеспечения компьютерной системы Большинство пользователей имеет опыт эксплуатации операционных систем, но тем не менее они затруднятся дать этому понятию точное определение. Давайте кратко рассмотрим основные точки зрения относительно этого понятия. Операционная система как виртуальная машина При разработке ОС широко применяется абстрагирование, которое является важным методом упрощения и позволяет сконцентрироваться на взаимодействии высокоуровневых компонентов системы, игнорируя детали их реализации. В этом смысле ОС представляет собой интерфейс между пользователем и компьютером. Архитектура большинства компьютеров на уровне машинных команд очень неудобна при использовании прикладных
программ. Например, работа с диском предполагает знание внутреннего устройства его электронного компонента – контроллера, предназначенного для ввода команд вращения диска, поиска и форматирования дорожек, чтения и записи секторов и т.д. Очевидно, что программист среднего уровня не в состоянии учитывать все особенности работы оборудования (в современной терминологии – заниматься разработкой драйверов устройств), а должен иметь простую высокоуровневую абстракцию, скажем, представляя информационное пространство диска как набор файлов. Файл можно открывать для чтения или записи, использовать для получения или сброса информации, а потом закрывать. Это концептуально проще, чем заботиться о деталях перемещения головок дисков или организации работы мотора. Аналогичным образом, с помощью простых и ясных абстракций, скрываются от программиста все ненужные подробности организации прерываний, работы таймера, управления памятью и т.д. Более того, на современных вычислительных комплексах можно создать иллюзию неограниченного размера оперативной памяти и числа процессоров. Всем этим занимается ОС. Таким образом, ОС представляется пользователю виртуальной машиной, с которой проще иметь дело, чем непосредственно с оборудованием компьютера. Операционная система как менеджер ресурсов. ОС предназначена для управления всеми частями весьма сложной архитектуры компьютера. Представим, к примеру, что произойдет, если несколько программ, работающих на одном компьютере, будут пытаться одновременно осуществлять вывод на устройство печати. Мы получили бы мешанину из строчек и страниц, выведенных на печать различными программами. ОС предотвращает такого рода хаос путем буферизации информации, предназначенной для печати, на диске и организации очереди на печать. Для многопользовательских компьютеров необходимость управления ресурсами и их защиты еще более очевидна. Следовательно, ОС, как менеджер ресурсов, осуществляет упорядоченное и контролируемое распределение процессоров, памяти и других ресурсов между различными программами.
Операционная система как защитник пользователей и программ. Если вычислительная система допускает совместную работу нескольких пользователей, то возникает проблема организации их безопасной деятельности. Необходимо обеспечить сохранность информации на диске для того, чтобы никто не мог удалить или повредить чужие файлы. Нельзя разрешить программам одних пользователей произвольно вмешиваться в работу программ других пользователей. Нужно пресекать попытки несанкционированного использования вычислительной системы. Всю эту деятельность осуществляет ОС как организатор безопасной работы пользователей и их программ. С такой точки зрения ОС представляется системой, обеспечивающей безопасность государства, на которую возложены полицейские и контрразведывательные функции. Операционная система как постоянно функционирующее ядро. Наконец, можно дать и такое определение: операционная система – это программа, постоянно работающая на компьютере и взаимодействующая со всеми прикладными программами. Казалось бы, это абсолютно правильное определение, но, как мы увидим дальше, для многих современных ОС постоянно работает на компьютере лишь часть ОС, которую принято называть ее ядром. Существует много точек зрения относительно того, что такое ОС. Невозможно дать ей строгое определение. Нам проще сформулировать не что есть ОС, а для чего она нужна и что она делает. Для выяснения этого вопроса рассмотрим историю развития вычислительных систем. Краткая история эволюции вычислительных систем Мы будем рассматривать историю развития именно вычислительных систем, а не ОС, потому что hardware и программное обеспечение эволюционировали совместно, оказывая взаимное влияние друг на друга. Появление новых технических возможностей приводило к прорыву в области создания удобных, эффективных и безопасных программ, а свежие идеи в программной области стимулировали поиски новых технических решений. Именно эти критерии – удобство, эффектив
ность и безопасность – играли роль факторов «естественного отбора» при эволюции вычислительных систем. Первый период (1945–1955 гг.). Ламповые машины. ОС еще не созданы. Мы начнем исследование развития компьютерных комплексов с появления электронных вычислительных систем (опуская историю механических и электромеханических устройств). Первые шаги в области разработки электронных вычислительных машин были предприняты в конце Второй мировой войны. В середине 1940-х годов были созданы первые ламповые вычислительные устройства и сформулирован принцип программы, хранящейся в памяти машины (John Von Neumann, июнь 1945 г.). В то время одна и та же группа людей участвовала и в проектировании, и в эксплуатации, и в программировании вычислительной машины. Это была скорее научно-исследовательская работа в области вычислительной техники, а не регулярное использование компьютеров в качестве инструмента решения каких-либо практических задач из других прикладных областей. Программирование осуществлялось исключительно на машинном языке. Об использовании ОС не было и речи, все задачи организации вычислительного процесса решались вручную каждым программистом с помощью пульта управления. За пультом мог находиться только один пользователь. Программа загружалась в память машины в лучшем случае с использованием колоды перфокарт, а обычно с помощью панели переключателей. Вычислительная система выполняла одновременно только одну операцию (ввод-вывод или собственно вычисления). Отладка программ велась с пульта управления с помощью изучения состояния памяти и регистров машины. В конце данного периода появляется первое системное программное обеспечение – в 1951–1952 гг. создаются прообразы первых компиляторов с символических языков (Fortran и др.), а в 1954 г. Nat Rochester разрабатывает язык программирования «Ассемблер» для IBM-701. Существенная часть времени уходила на подготовку процесса запуска программы, а сами программы выполнялись
строго последовательно. Такой режим работы называется последовательной обработкой данных. В целом первый период характеризуется крайне высокой стоимостью вычислительных систем, их малым числом и низкой эффективностью использования. Второй период (1955 г. – начало 1960-х годов). Компьютеры на основе транзисторов. Пакетные ОС. С середины 1950-х годов начался следующий период в эволюции вычислительной техники, связанный с появлением новой технической базы – полупроводниковых элементов (транзисторов). Применение транзисторов вместо часто перегоравших электронных ламп позволило повысить надежность компьютеров. Начиная с этого момента машины могли непрерывно работать достаточно долгое время, поэтому на них можно было возложить выполнение важных с практической точки зрения задач. Снизилось потребление вычислительными машинами электроэнергии, усовершенствовались системы охлаждения. Размеры компьютеров уменьшились. Уменьшилась стоимость эксплуатации и обслуживания вычислительной техники. Началось использование электронно-вычислительных машин (ЭВМ) коммерческими фирмами. Одновременно происходило бурное развитие алгоритмических языков (LISP, COBOL, ALGOL-60, PL-1 и т.д.). Появились первые настоящие компиляторы, редакторы связей, библиотеки математических и служебных подпрограмм. Упростился процесс программирования. Отпала необходимость «взваливать» на одних и тех же людей весь процесс разработки и использования компьютеров. Именно в этот период произошло разделение персонала на программистов и операторов, специалистов по эксплуатации и разработчиков вычислительных машин. Изменился сам процесс «прогона» программ. Теперь пользователь приносил программу с входными данными в виде колоды перфокарт и указывал необходимые ресурсы. Такая колода получила название задания. Оператор загружал задание в память машины и запускал его на исполнение. Полученные выходные данные печатались на принтере, и пользователь по
лучал их обратно через некоторое (довольно продолжительное) время. Смена запрошенных ресурсов вызывала приостановку выполнения программ, в результате процессор часто простаивал. Для повышения эффективности использования компьютера задания с похожими ресурсами начали собирать вместе, создавая пакет заданий. Появились первые системы пакетной обработки, которые просто автоматизируют запуск одной программы из пакета за другой и тем самым позволяют увеличить коэффициент загрузки процессора. При реализации систем пакетной обработки был разработан формализованный язык управления заданиями, с помощью которого программист сообщал системе и оператору, какую работу он хочет выполнить на вычислительной машине. Системы пакетной обработки стали прообразом современных ОС, они были первыми системными программами, предназначенными для управления вычислительным процессом. Третий период (начало 1960-х годов – 1980 г.). Компьютеры на основе интегральных микросхем. Первые многозадачные ОС. Следующий важный период совершенствования вычислительных машин относится к большей части второй половины XX в. В это время в технической базе произошел переход от отдельных полупроводниковых элементов типа транзисторов к интегральным микросхемам. Вычислительная техника становится более надежной и дешевой. Возросла сложность и количество задач, решаемых компьютерами. Повысилась производительность процессоров. Повышению эффективности использования процессорного времени мешала низкая скорость работы механических устройств ввода-вывода (быстрый считыватель перфокарт мог обработать 1200 перфокарт в минуту, принтеры печатали до 600 строк в минуту). Вместо непосредственного переноса пакета заданий с перфокарт в память вычислительной машины начали использовать его предварительную запись, сначала на магнитную ленту, а затем и на диск. Когда в процессе выполнения задания требовался ввод данных, они считывались с диска. Точно так же выходная информация сначала копиро