- •Основы построения операционных систем
- •Введение
- •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. Планирование работы с магнитными дисками
- •Заключение
- •Список используемых источников
- •Оглавление
Заключение
Цель, которая стояла перед автором данного учебного пособия, - изложение основ построения современных операционных систем, типичных для большинства существующих и перспективных ОС.
Безусловно, рамки учебного пособия не позволяют осветить материал в полном объеме. Оказались нерассмотренными вопросы защиты операционных систем, обеспечения безопасности информации, конфигурации операционных систем и т.д. Для их глубокого изучения необходимо обратиться к специальной литературе.
Список используемых источников
1. Бек Л. Введение в системное программирование: Пер. с англ. - М.: Мир, 1988. - 448 с.
2. Богумирский Б.С. Руководство пользователя ПЭВМ: В 2-х ч. - Санкт-Петербург: Ассоциация OILCO, 1992.
3. Брой М. Информатика. Структуры систем и системное программирование: В 4-х ч. Ч. 3./Пер. с нем. - М.: Диалог-МИФИ, 1996. - 224 с.
4. Дейтел Г. Введение в операционные системы: В 2-ч т. Пер. с англ. - М.: Мир, 1987.
5. Дьяконов В.Ю., Китов В.А., Калиничев И.А. Системное программирование: Учеб. Пособие для втузов/Под ред. А.Л.Горелика. - М.: Высш. шк., 1990. - 221 с.
6. Кейлингерт П. Элементы операционных систем. Введение для пользователей: Пер. с англ. - М.: Мир, 1985. - 295 с.
7. Краковяк С. Основы организации и функционирования ОС ЭВМ: Пер. с франц. - М.: Мир, 1988. - 480 с.
8. Соловьев Г. Н., Никитин В. Д. Операционные системы ЭВМ: Учебное пособие для студентов вузов, обучающихся по спец. «ЭВМ, сист., компл. и сети» и «Автом. сист. обр. инф. и упр.» - М.: Высш. шк., 1989. - 255 с.
9. Цикритзис Д., Бернстайн Ф. Операционные системы: Пер. с англ.. - М.: Мир, 1977. - 336 с.
10. Шоу А. Логическое проектирование операционных систем: Пер. с англ. - М.: Мир, 1981. - 360 с.
11. Silberschatz A., Galvin P. B. Operating systems concepts. - Addison-Wesley Publishing Company, 1994.
12. Stalings W. Operating systems. - Prentice Hall, Englewood Cliffs, N.J., 1995.
Оглавление
ВВЕДЕНИЕ |
3 |
|
|
1. ОСНОВНЫЕ АСПЕКТЫ ОПЕРАЦИОННЫХ СИСТЕМ |
5 |
1.1 Программные системы |
5 |
1.2. Ресурсы вычислительных систем |
8 |
1.3. Функции операционной системы |
10 |
1.3.1. Упрощение доступа к компьютеру |
10 |
1.3.2. Повышение эффективности использования ресурсов |
13 |
1.4. Классификация операционных систем |
14 |
|
|
2. УПРАВЛЕНИЕ ФАЙЛАМИ |
17 |
2.1. Файлы |
17 |
2.1.1. Имя файла |
17 |
2.1.2. Типы файлов |
21 |
2.1.3. Атрибуты файлов |
23 |
2.2. Функции системы управления файлами |
24 |
2.3. Способы организации файлов |
26 |
2.3.1. Последовательное размещение |
26 |
2.3.2. Размещение с помощью сцепленных блоков |
28 |
2.3.3. Организация файлов на основе таблиц размещения |
29 |
2.3.4. Размещение с использованием таблицы индексов |
31 |
2.3.5. Индексно-последовательное размещение |
32 |
2.3.6. Библиотечная структура данных |
35 |
2.4. Методы доступа к содержимому файлов |
35 |
2.4.1. Последовательный доступ |
36 |
2.4.2. Прямой доступ |
36 |
2.4.3. Другие методы доступа |
40 |
2.5. Способы организации файловой структуры |
41 |
2.6. Манипулирования файловой структурой |
45 |
|
|
3. УПРАВЛЕНИЕ ПАМЯТЬЮ |
46 |
3.1. Простое непрерывное распределение |
46 |
3.2. Распределение с несколькими непрерывными разделами |
48 |
3.2.1. Мультипрограммирование и разбиение на разделы |
48 |
3.2.2. Разделы с фиксированными границами |
50 |
3.2.3. Разделы с подвижными границами |
53 |
3.2.4. Своппинг |
57 |
3.3. Организация виртуальной памяти |
59 |
3.3.1. Основные концепции виртуальной памяти |
59 |
3.3.2. Страничная организация памяти |
61 |
3.3.3. Сегментная организация памяти |
64 |
3.3.4. Сегментно-страничная организация памяти |
68 |
3.4. Управление виртуальной памятью |
71 |
3.4.1. Алгоритмы выталкивания страниц |
71 |
3.4.2. Подкачка страниц по запросу |
75 |
3.4.3. Подкачка страниц с опережением |
76 |
3.4.4. Освобождение страниц |
77 |
3.4.5. Размер страниц |
77 |
|
|
4. УПРАВЛЕНИЕ ПРОЦЕССАМИ |
79 |
4.1. Концепции процесса |
79 |
4.1.1. Понятие последовательного процесса |
79 |
4.1.2. Состояния процесса |
82 |
4.1.3. Блок управления процессом |
84 |
4.1.4. Планирование процессов |
85 |
4.1.4. Обработка прерываний |
88 |
4.2. Синхронизация параллельных процессов |
95 |
4.2.1. Параллельная обработка |
95 |
4.2.2. Взаимное исключение |
97 |
4.2.3. Алгоритм Деккера |
98 |
4.2.4. Аппаратная реализация взаимного исключения |
101 |
4.2.5. Семафоры |
102 |
4.2.6. Мониторы |
106 |
4.2.7. Передача сообщений |
108 |
4.3. Тупиковые ситуации |
111 |
4.3.1. Условия возникновения дедлоков |
111 |
4.3.2. Основные направления исследований по проблеме тупиков |
111 |
4.3.3. Предотвращение тупиков |
112 |
4.3.4. Обход тупиков |
114 |
4.3.5. Алгоритм банкира |
114 |
4.3.6. Распознавание дедлоков |
119 |
4.3.7. Восстановление после тупиков |
120 |
|
|
5. УПРАВЛЕНИЕ ПРОЦЕССОРОМ |
121 |
5.1. Диспетчеризация процессов |
121 |
5.2. Приоритеты |
123 |
5.3. Алгоритмы диспетчеризации с одной очередью |
124 |
5.3.1. Алгоритм FCFS |
124 |
5.3.2. Алгоритм SPN |
125 |
5.3.3. Алгоритм SRT |
127 |
5.3.4. Алгоритм HRRT |
128 |
5.3.5. Алгоритм циклической диспетчеризации RR |
128 |
5.3.6. Сравнение алгоритмов диспетчеризации с одной очередью |
130 |
5.4. Многоуровневые очереди с обратными связями |
132 |
|
|
6. УПРАВЛЕНИЕ УСТРОЙСТВАМИ |
137 |
6.1. Общая организация ввода-вывода |
137 |
6.2. Методы управления периферийными устройствами |
142 |
6.3. Действия по вводу/выводу |
144 |
6.3.1. Буферизация : ПРОЧИТАТЬ и ЗАПИСАТЬ |
144 |
6.3.2. Блокирование : ПОЛУЧИТЬ и ПОМЕСТИТЬ |
147 |
6.3.3. Подготовка : ОТКРЫТЬ и ЗАКРЫТЬ |
150 |
6.4. Управление магнитными дисками |
152 |
6.4.1. Физическая структура магнитного диска |
152 |
6.4.2. Физическая структура формата данных дискеты |
153 |
6.4.3. Логическая структура магнитного диска |
155 |
6.4.4. Планирование работы с магнитными дисками |
158 |
|
|
ЗАКЛЮЧЕНИЕ |
164 |
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ |
165 |
Зав. РИО М.А.Салкова
Редактор М.А.Салкова
Лицензия ЛР № 020284 от 13.11.91
Подписано в печать
Формат 60х84 1/16
Усл. п.л. Уч.-изд. л.
Заказ Тираж
Рыбинская государственная авиационная технологическая академия
Отпечатано в Рыбинской государственной авиационной технологической академии
г. Рыбинск, ул. Пушкина, 53