
- •Кафедра программного обеспечения информационных технологий
- •ТЕМА 1
- •1.1 Введение в операционные системы
- •1.1.1 Понятие операционной системы
- •1.1.2 Поколения ОС
- •1.1.3 Функции и свойства ОС
- •1.1.4 Характеристики современных ОС
- •1.1.5 Архитектура микроядра
- •1.1.6 Многопоточность
- •1.1.7 Симметричная многопроцессорность
- •1.1.8 Распределенные ОС
- •1.1.9 Объектно-ориентированный дизайн
- •1.1.10 Концепция ОС на основе микроядра
- •1.1.11 Принципы построения ОС
- •ТЕМА 2
- •2.1 Основы операционных систем
- •2.1.1 Понятие процесса
- •2.1.2 Понятие ресурса
- •2.1.3 Концепция виртуализации
- •2.1.5 Дисциплины распределения ресурсов
- •2.1.6 Концепция прерывания
- •ТЕМА 3
- •3.1 Процессы
- •3.1.1 Состояние процессов
- •3.1.2 Описание процессов
- •3.1.2.1 Структуры управления процессами
- •3.1.2.2 Управление процессами
- •3.1.3 Концепция потока как составной части процесса
- •3.1.4 Многопоточность
- •3.1.5 Однопоточная модель процесса
- •3.1.6 Многопоточная модель процесса
- •3.1.7 Функциональность потоков
- •3.1.8 Взаимодействие процессов
- •3.1.8.1 Задача взаимного исключения
- •3.1.8.2 Обобщенная задача взаимного исключения
- •3.1.9 Синхронизирующие примитивы (семафоры). Применение семафоров для решения задачи взаимного исключения
- •3.1.10 Задача “производитель-потребитель”
- •3.1.10.1 Общие семафоры
- •3.1.10.2 Задача “производитель-потребитель”, буфер неограниченного размера
- •3.1.10.3 Задача “производитель-потребитель”, буфер ограниченного размера
- •3.1.11 Взаимодействие через переменные состояния
- •3.1.12 Монитороподобные средства синхронизации
- •3.1.12.1 Введение
- •3.1.12.2 Механизм типа «критическая область»
- •3.1.12.3 Механизм типа «условная критическая область»
- •3.1.12.4 Вторая модификация механизма «критическая область» (модификация второго рода)
- •ТЕМА 4
- •4.1 Ресурсы
- •4.1.1 Распределение ресурсов. Проблема тупиков
- •4.1.2 Алгоритм банкира
- •4.1.3 Применение алгоритма банкира
- •ТЕМА 5
- •5.1 Память. Управление памятью
- •5.1.1 Требования к управлению памятью
- •5.1.2 Схемы распределения памяти
- •5.1.3 Система двойников при распределении памяти
- •ТЕМА 6
- •6.1 Организация виртуальной памяти
- •6.1.1 Структуризация адресного пространства виртуальной памяти
- •6.1.2 Задачи управления виртуальной памятью
- •6.1.2.1 Задача размещения
- •6.1.2.2 Задача перемещения
- •6.1.2.3 Задача преобразования
- •6.1.2.4 Задача замещения
- •ТЕМА 7
- •7.1 Планирование в операционных системах
- •7.1 Типы планирования процессора
- •7.2 Алгоритмы плинирования
- •7.3 Традиционное планирование в Unix
- •ТЕМА 8
- •8.1 Управление вводом-выводом и файлами
- •8.1.2 Развитие функций ввода-вывода
- •8.1.3 Управление ОС и устройствами ввода-вывода
- •8.1.4 Модели организации ввода-вывода
- •ТЕМА 9
- •9.1.1 Сегментация памяти
- •9.1.1.1 Сегментация памяти в процессорах 8086
- •9.1.1.3 Дескриптор сегмента
- •9.1.1.4 Дескрипторные таблицы
- •9.1.1.5 Селекторы сегментов в защищенном режиме
- •9.1.1.6 Локальные дескрипторные таблицы
- •9.1.1.7 Особенности сегментации
- •9.1.2 Страничная организация памяти
- •9.1.2.1 Страничный дескриптор
- •9.1.2.2 Разрешение и запрещение страничного преобразования
- •9.1.3 Организация защиты при работе процессора в защищенном режиме
- •9.1.3.1 Привилегированные команды
- •9.1.3.2 Защита доступа к данным
- •DPL- Descriptor Privilege Level
- •9.1.3.3 Защита сегмента кода
- •9.1.3.4 Определение текущего уровня привилегий
- •9.1.3.5 Передача управления между уровнями привилегий
- •9.1.3.6 Подчиненные сегменты
- •9.1.3.7 Шлюзы вызова
- •9.1.4 Поддержка многозадачности в процессорах архитектуры IA-32
- •9.1.4.1 Сегмент состояния задачи
- •9.1.4.2 Дескриптор сегмента TSS
- •9.1.4.3 Сегмент состояния задач TSS
- •9.1.4.4 События, которые могут вызвать переключение задачи
- •9.1.4.5 Формат шлюза задач
- •9.1.4.7 Особые случаи при переключении задач
- •9.1.4.8 Вложенность задач
- •9.1.4.9 Двоичная карта разрешения ввода-вывода
- •9.1.5 Прерывания и особые случаи
- •9.1.5.1 Прерывания и особые случаи в процессоре 8086
- •9.1.5.2 Прерывания в защищенном режиме
- •9.1.5.3 Дескрипторная таблица прерываний
- •9.1.5.4 Шлюз ловушки
- •9.1.5.5 Шлюз прерывания
- •9.1.5.6 Шлюз задачи
Министерство образования Республики Беларусь
Учреждение образования «Белорусский государственный университет
информатики и радиоэлектроники»
Факультет компьютерных систем и сетей
Кафедра программного обеспечения информационных технологий
П.Ю. Бранцевич Лекционный материал
«Операционные системы и системное программирование»
Часть 1 Раздел 2 Операционные системы
Для студентов специальности
40 01 01 «Программное обеспечение информационных технологий»
дневной формы обучения
Минск 2008
ТЕМА 1 ......................................................................................................................... |
|
4 |
1.1 Введение в операционные системы................................................................. |
4 |
|
1.1.1 |
Понятие операционной системы.............................................................. |
4 |
1.1.2 |
Поколения ОС............................................................................................ |
5 |
1.1.3 |
Функции и свойства ОС............................................................................ |
7 |
1.1.4 |
Характеристики современных ОС........................................................... |
9 |
1.1.5 |
Архитектура микроядра............................................................................ |
9 |
1.1.6 |
Многопоточность..................................................................................... |
10 |
1.1.7 |
Симметричная многопроцессорность ................................................... |
10 |
1.1.8 |
Распределенные ОС................................................................................. |
11 |
1.1.9 |
Объектно-ориентированный дизайн...................................................... |
11 |
1.1.10 Концепция ОС на основе микроядра.................................................... |
11 |
|
1.1.11 |
Принципы построения ОС.................................................................... |
16 |
ТЕМА 2 ....................................................................................................................... |
|
21 |
2.1 Основы операционных систем....................................................................... |
21 |
|
2.1.1 |
Понятие процесса .................................................................................... |
21 |
2.1.2 |
Понятие ресурса....................................................................................... |
24 |
2.1.3 |
Концепция виртуализации...................................................................... |
27 |
2.1.5 Дисциплины распределения ресурсов.................................................... |
30 |
|
2.1.6 |
Концепция прерывания........................................................................... |
31 |
ТЕМА 3 ....................................................................................................................... |
|
33 |
3.1 Процессы .......................................................................................................... |
33 |
|
3.1.1 Состояние процессов................................................................................ |
33 |
|
3.1.2 |
Описание процессов ............................................................................. |
36 |
3.1.3 Концепция потока как составной части процесса............................. |
40 |
|
3.1.4 |
Многопоточность.................................................................................. |
41 |
3.1.5 Однопоточная модель процесса.............................................................. |
42 |
|
3.1.6 |
Многопоточная модель процесса........................................................... |
43 |
3.1.7 |
Функциональность потоков.................................................................... |
44 |
3.1.8 Взаимодействие процессов...................................................................... |
45 |
3.1.9Синхронизирующие примитивы (семафоры). Применение
семафоров для решения задачи взаимного исключения ............................... |
55 |
3.1.10 Задача “производитель-потребитель” .................................................. |
56 |
3.1.11 Взаимодействие через переменные состояния.................................... |
61 |
3.1.12 Монитороподобные средства синхронизации..................................... |
64 |
ТЕМА 4 ....................................................................................................................... |
72 |
4.1 Ресурсы............................................................................................................. |
72 |
4.1.1 Распределение ресурсов. Проблема тупиков......................................... |
72 |
4.1.2 Алгоритм банкира..................................................................................... |
73 |
4.1.3 Применение алгоритма банкира.............................................................. |
75 |
ТЕМА 5 ....................................................................................................................... |
77 |
5.1 Память. Управление памятью ...................................................................... |
77 |
5.1.1 Требования к управлению памятью........................................................ |
78 |
2 |
|
5.1.2 Схемы распределения памяти................................................................. |
79 |
|
5.1.3 |
Система двойников при распределении памяти................................... |
80 |
ТЕМА 6 ....................................................................................................................... |
|
81 |
6.1 Организация виртуальной памяти ................................................................. |
81 |
|
6.1.1 |
Структуризация адресного пространства виртуальной памяти ......... |
81 |
6.1.2 |
Задачи управления виртуальной памятью............................................ |
81 |
ТЕМА 7 ....................................................................................................................... |
|
85 |
7.1 Планирование в операционных системах..................................................... |
85 |
|
7.1 Типы планирования процессора ................................................................ |
85 |
|
7.2 Алгоритмы плинирования.......................................................................... |
90 |
|
7.3 Традиционное планирование в Unix.......................................................... |
98 |
|
ТЕМА 8 ..................................................................................................................... |
|
100 |
8.1 Управление вводом-выводом и файлами.................................................... |
101 |
|
8.1.1 Организация функций ввода-вывода.................................................... |
101 |
|
8.1.2 Развитие функций ввода-вывода........................................................... |
102 |
|
8.1.3 |
Управление ОС и устройствами ввода-вывода.................................. |
102 |
8.1.4 |
Модели организации ввода-вывода..................................................... |
103 |
ТЕМА 9 ..................................................................................................................... |
|
106 |
9.1 Аппаратно-программые особенности современных.................................. |
106 |
|
процессоров, ориентированные на поддержку мноозадачности.................... |
106 |
|
9.1.1 |
Сегментация памяти.............................................................................. |
106 |
9.1.2 |
Страничная организация памяти.......................................................... |
118 |
9.1.3 Организация защиты при работе процессора в защищенном режиме |
||
............................................................................................................................ |
|
125 |
9.1.4 Поддержка многозадачности в процессорах архитектуры IA-32...... |
131 |
|
9.1.5 |
Прерывания и особые случаи............................................................... |
140 |
3