- •Основы построения операционных систем
- •Введение
- •1. Основные аспекты операционных систем
- •1.1. Программные системы
- •1.2. Ресурсы вычислительных систем
- •1.3. Функции операционных систем
- •1.3.1. Упрощение доступа к компьютеру
- •1.3.2. Повышение эффективности использования ресурсов
- •1.4. Классификация операционных систем
- •2. Управление файлами
- •2.1. Файлы
- •2.1.1. Имя файла
- •2.1.2. Типы файлов
- •2.1.3. Атрибуты файла
- •2.2. Функции системы управления файлами
- •2.3. Способы организации файлов
- •2.3.1. Последовательное размещение
- •2.3.2. Размещение с помощью сцепленных блоков
- •2.3.3. Организация файлов на основе таблиц размещения
- •2.3.4. Размещение с использованием таблицы индексов
- •2.3.5. Индексно-последовательное размещение
- •2.3.6. Библиотечная структура данных
- •2.4. Методы доступа к содержимому файлов
- •2.4.1. Последовательный доступ
- •2.4.2. Прямой доступ
- •2.4.3. Другие методы доступа
- •2.5. Способы организации файловой структуры
- •2.6. Манипулирование файловой структурой
- •3. Управление памятью
- •3.1. Простое непрерывное распределение
- •3.2. Распределение с несколькими непрерывными разделами
- •3.2.1. Мультипрограммирование и разбиение на разделы
- •3.2.2. Разделы с фиксированными границами
- •3.2.3. Разделы с подвижными границами
- •3.2.4. Своппинг
- •3.3. Организация виртуальной памяти
- •3.3.1. Основные концепции виртуальной памяти
- •3.3.2. Страничная организация памяти
- •3.3.3. Сегментная организация памяти
- •3.3.4. Сегментно-страничная организация памяти
- •3.4. Управление виртуальной памятью
- •3.4.1. Алгоритмы выталкивания страниц
- •3.4.2. Подкачка страниц по запросу
- •3.4.3. Подкачка страниц с опережением
- •3.4.4. Освобождение страниц
- •3.4.5. Размер страниц
- •4. Управление процессами
- •4.1. Концепции процесса
- •4.1.1. Понятие последовательного процесса
- •4.1.2. Состояния процесса
- •4.1.3. Блок управления процессом
- •4.1.4. Планирование процессов
- •4.1.5. Обработка прерываний
- •4.2. Синхронизация параллельных процессов
- •4.2.1. Параллельная обработка
- •4.2.2. Взаимное исключение
- •4.2.3. Алгоритм Деккера
- •4.2.4. Аппаратная реализация взаимного исключения
- •4.2.5. Семафоры
- •4.2.6. Мониторы
- •4.2.7. Передача сообщений
- •4.3. Тупиковые ситуации
- •4.3.1. Условия возникновения дедлоков
- •4.3.2. Основные направления исследований по проблеме тупиков
- •4.3.3. Предотвращение тупиков
- •4.3.4. Обход дедлоков
- •4.3.5. Алгоритм банкира
- •4.3.6. Распознавание дедлоков
- •4.3.7. Восстановление после тупиков
- •5. Управление процессором
- •5.1. Диспетчеризация процессов
- •5.2. Приоритеты
- •5.3. Алгоритмы диспетчеризации с одной очередью
- •5.3.1. Алгоритм fcfs (первый пришедший обслуживается первым)
- •5.3.2. Алгоритм spn (кратчайший процесс - следующий)
- •5.3.3. Алгоритм srt (по наименьшему остающемуся времени)
- •5.3.4. Алгоритм hrrn (по наибольшему относительному времени ответа)
- •5.3.5. Алгоритм циклической диспетчеризации rr
- •5.3.6. Сравнение алгоритмов диспетчеризации с одной очередью
- •5.4. Многоуровневые очереди с обратными связями
- •6. Управление устройствами
- •6.1. Общая организация ввода-вывода
- •6.2. Методы управления периферийными устройствами
- •6.3. Действия по вводу-выводу
- •6.3.1. Буферизация : прочитать и записать
- •6.3.2. Блокирование : получить и поместить
- •6.3.3. Подготовка : открыть и закрыть
- •6.4. Управление магнитными дисками
- •6.4.1. Физическая структура магнитного диска
- •6.4.2. Физическая структура формата данных дискеты
- •6.4.3. Логическая структура магнитного диска
- •6.4.4. Планирование работы с магнитными дисками
- •Заключение
- •Список используемых источников
- •Оглавление
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
РЫБИНСКАЯ ГОСУДАРСТВЕННАЯ АВИАЦИОННАЯ
ТЕХНОЛОГИЧЕСКАЯ АКАДЕМИЯ
Н. Л. Михайлов
Основы построения операционных систем
Учебное пособие
РЫБИНСК
2000
УДК 681.3.06
Михайлов Н.Л. Основы построения операционных систем : Учебное пособие. - Рыбинск, РГАТА, 2000. - 170 с.
Учебное пособие посвящено операционным системам и составляющим их управляющим программам и ориентировано преимущественно на тех, кто впервые знакомится с программными системами. В нем на доступном уровне излагаются основные понятия операционных систем, их назначение, принципы работы. Основное внимание уделяется управлению ресурсами вычислительной системы, свойственном всем управляющим программам. Пособие в первую очередь рассчитано на студентов младших курсов, но будет полезным для многих пользователей ЭВМ.
Ил. 71 Табл. 6 Библиогр. 12
Рецензенты :
кафедра вычислительных систем Санкт-Петербургского государственного университета аэрокосмического приборостроения ;
докт.физ.-мат.наук, профессор Угланов А.В.
Н.Л. Михайлов, 2000
Рыбинская государственная
авиационная технологическая
академия , 2000
Введение
Данное пособие посвящено операционным системам и составляющим их управляющим программам. Оно ориентировано преимущественно на тех, кто впервые знакомится с программными системами. Из всех студентов, изучающих ЭВМ и их использование, лишь немногим придется непосредственно заниматься модификацией управляющих программ, но пользоваться возможностями, предоставляемыми операционными системами, будут все без исключения. Поэтому знать о назначении и работе операционных систем, о принципах, лежащих в основе их разработки, полезно всем.
В условиях, когда время, отведенное на изучение таких сложных инженерных конструкций, как операционные системы, ограничено, возникает вопрос: изучать ли детально какую-нибудь одну конкретную операционную систему или менее детально несколько систем? В данном пособии излагаются основные функции управляющих программ, поскольку актуальность различных систем будет со временем меняться. В работе изложение материала ведется на некотором среднем уровне: не совсем тривиальном, но и не на очень глубоком. Предпочтение отдается формулировкам основных принципов, а не обсуждению деталей построения или реализации. Пособие подобного описательного характера, с одной стороны, дает достаточно основных сведений для тех студентов, которые не нуждаются в более детальном изучении, а с другой - создает основу для последующих курсов, ориентированных на обучение проектированию.
Из-за ограниченности объема настоящего пособия в нем не рассматриваются подходы к организации распределенных и сетевых операционных систем, ставших популярными в последнее время, хотя влияние коммуникационных подсистем на управляющие программы настолько существенно, что они должны изучаться в первую очередь.
Основное внимание в пособии уделяется управлению ресурсами вычислительной системы, свойственном всем управляющим программам. При этом сделана попытка соразмерно рассматривать различные виды ресурсов. Поскольку в пособии преимущественно обсуждаются основные принципы, то это ориентирует студентов на понимание того, что именно делают операционные системы и как они это делают, а не на способы разработки реальной операционной системы.
Данное пособие в первую очередь рассчитано на студентов младших курсов. Студентам более подготовленным, но не имеющим представления об управляющих программах, оно позволит быстро ознакомиться с предметом и послужит основой для более детального изучения. Так как пособие носит в основном описательный характер, оно будет полезным для многих пользователей ЭВМ. Предполагается, что студенты имеют некоторый опыт программирования и смогут понять короткие программы, составленные на языке, подобном Паскалю.
В основу данного пособия положен курс лекций “Operating Systems”, прочитанный автором во время летнего семестра в Фитчбургском государственном колледже (Массачусетс, США), а также материалы лекций по курсам “Операционные системы” и “Системное программное обеспечение” для студентов специальностей 071900 “Информационные системы в экономике” и 220100 “Электронно-вычислительные машины, комплексы, системы и сети”.