Основы операционных систем

         

Основы операционных систем


Структура вычислительной системы
Что такое ОС
Операционная система как виртуальная машина
Операционная система как менеджер ресурсов
Операционная система как защитник пользователей и программ
Операционная система как постоянно функционирующее ядро
Краткая история эволюции вычислительных систем
Первый период (1945–1955 гг.). Ламповые машины. Операционных систем нет
Второй период (1955 г.–начало
Третий период (начало 60-х – 1980

Четвертый период (с 1980 г. по
Основные понятия, концепции ОС
Системные вызовы
Прерывания
Исключительные ситуации

Файлы
Процессы, нити
Архитектурные особенности ОС
Монолитное ядро
Многоуровневые системы (Layered systems)
Виртуальные машины
Микроядерная архитектура
Смешанные системы
Классификация ОС
Реализация многозадачности

Поддержка многопользовательского режима
Многопроцессорная обработка
Системы реального времени
Заключение
Некоторые сведения об архитектуре компьютера
Взаимодействие с периферийными устройствами

Основы операционных систем

Понятие процесса
Состояния процесса
Набор операций
Process Control Block и контекст процесса
Одноразовые операции

Многоразовые операции
Переключение контекста
Заключение

Основы операционных систем

Уровни планирования

Критерии планирования и требования к алгоритмам
Параметры планирования
Вытесняющее и невытесняющее планирование
Алгоритмы планирования
First-Come, First-Served (FCFS)
Round Robin (RR)

Shortest-Job-First (SJF)
Гарантированное планирование
Приоритетное планирование
Многоуровневые очереди (Multilevel Queue)

Многоуровневые очереди с обратной связью (Multilevel Feedback Queue)
Заключение

Основы операционных систем

Взаимодействующие процессы
Категории средств обмена информацией
Логическая организация механизма передачи информации

Как устанавливается связь?
Информационная валентность процессов и средств связи
Особенности передачи информации с помощью линий связи
Буферизация
Поток ввода/вывода и сообщения
Надежность средств связи
Как завершается связь?
Нити исполнения

Заключение

Основы операционных систем

Interleaving, race condition и взаимоисключения
Критическая секция
Требования, предъявляемые к алгоритмам
Запрет прерываний

Переменная-замок
Строгое чередование
Флаги готовности
Алгоритм Петерсона
Алгоритм булочной (Bakery algorithm)
Аппаратная поддержка взаимоисключений
Команда Test-and-Set (проверить и присвоить 1)
Команда Swap (обменять значения)
Заключение

Основы операционных систем

Семафоры
Концепция семафоров
Решение проблемы producer-consumer с помощью семафоров
Мониторы

Сообщения
Эквивалентность семафоров, мониторов и сообщений
Реализация мониторов и передачи сообщений с помощью семафоров
Реализация семафоров и передачи сообщений с помощью мониторов
Реализация семафоров и мониторов с помощью очередей сообщений
Заключение

Основы операционных систем

Введение
Условия возникновения тупиков
Основные направления борьбы с тупиками
Игнорирование проблемы тупиков
Способы предотвращения тупиков
Способы предотвращения тупиков путем тщательного распределения ресурсов. Алгоритм банкира
Предотвращение тупиков за счет нарушения условий возникновения тупиков
Нарушение условия взаимоисключения

Нарушение условия ожидания дополнительных ресурсов
Нарушение принципа отсутствия перераспределения
Hарушение условия кругового ожидания
Обнаружение тупиков
Восстановление после тупиков
Заключение

Основы операционных систем


Введение
Физическая организация памяти компьютера
Локальность
Логическая память
Связывание адресов
Функции системы управления памятью
Простейшие схемы управления памятью
Схема с фиксированными разделами
Один процесс в памяти
Оверлейная структура

Динамическое распределение. Свопинг
Схема с переменными разделами
Страничная память
Сегментная и сегментно-страничная организация памяти
Заключение

Основы операционных систем

Понятие виртуальной памяти
Архитектурные средства поддержки виртуальной памяти
Страничная виртуальная память

Сегментно-страничная организации виртуальной памяти
Структура таблицы страниц
Ассоциативная память
Инвертированная таблица страниц
Размер страницы
Заключение

Основы операционных систем


Исключительные ситуации при работе с памятью
Стратегии управления страничной памятью
Алгоритмы замещения страниц
Алгоритм FIFO. Выталкивание первой пришедшей страницы
Аномалия Билэди (Belady)
Оптимальный алгоритм (OPT)
Выталкивание дольше всего не использовавшейся страницы. Алгоритм LRU
Выталкивание редко используемой страницы. Алгоритм NFU
Другие алгоритмы

Управление количеством страниц, выделенным процессу. Модель рабочего множества
Трешинг (Thrashing)
Модель рабочего множества
Страничные демоны
Программная поддержка сегментной модели памяти процесса
Отдельные аспекты функционирования менеджера памяти
Заключение

Основы операционных систем

Введение

Имена файлов
Типы файлов
Атрибуты файлов
Организация файлов и доступ к ним
Последовательный файл
Файл прямого доступа
Другие формы организации файлов

Операции над файлами
Директории. Логическая структура файлового архива
Разделы диска. Организация доступа к архиву файлов.
Операции над директориями
Защита файлов
Контроль доступа к файлам
Списки прав доступа
Заключение

Основы операционных систем


Общая структура файловой системы
Современные архитектуры файловых систем
Заключение
Управление внешней памятью
Методы выделения дискового пространства
Выделение непрерывной последовательностью блоков
Связный список
Таблица отображения файлов
Индексные узлы

Управление свободным и занятым дисковым пространством
Учет при помощи организации битового вектора
Учет при помощи организации связного списка
Размер блока
Структура файловой системы на диске
Реализация директорий
Директории в ОС MS-DOS
Директории в ОС Unix
Поиск в директории
Линейный поиск

Хеш-таблица
Другие методы поиска
Монтирование файловых систем
Связывание файлов
Кооперация процессов при работе с файлами
Примеры разрешения коллизий и тупиковых ситуаций
Hадежность файловой системы

Целостность файловой системы
Порядок выполнения операций
Журнализация
Проверка целостности файловой системы при помощи утилит
Управление "плохими" блоками
Производительность файловой системы
Кэширование
Оптимальное размещение информации на диске
Реализация некоторых операций над файлами
Системные вызовы, связывающие pathname с дескриптором файла

Связывание файла
Удаление файла
Системные вызовы, работающие с файловым дескриптором
Функции ввода-вывода из файла

Основы операционных систем

Физические принципы организации ввода-вывода
Общие сведения об архитектуре компьютера

Структура контроллера устройства
Опрос устройств и прерывания. Исключительные ситуации и системные вызовы
Прямой доступ к памяти (Direct Memory Access – DMA)
Логические принципы организации ввода-вывода

Структура системы ввода-вывода
Систематизация внешних устройств и интерфейс между базовой подсистемой ввода-вывода и драйверами
Функции базовой подсистемы ввода-вывода
Блокирующиеся, неблокирующиеся и асинхронные системные вызовы
Буферизация и кэширование
Spooling и захват устройств
Обработка прерываний и ошибок

Планирование запросов
Алгоритмы планирования запросов к жесткому диску
Строение жесткого диска и параметры планирования
Алгоритм First Come First Served (FCFS)
Алгоритм Short Seek Time First (SSTF)
Алгоритмы сканирования (SCAN, C-SCAN, LOOK, C-LOOK)
Заключение

Основы операционных систем

Для чего компьютеры объединяют в сети
Сетевые и распределенные операционные системы
Взаимодействие удаленных процессов как основа работы вычислительных сетей

Основные вопросы логической организации передачи информации между удаленными процессами
Понятие протокола
Многоуровневая модель построения сетевых вычислительных систем
Проблемы адресации в сети

Одноуровневые адреса
Двухуровневые адреса
Удаленная адресация и разрешение адресов
Локальная адресация. Понятие порта
Полные адреса. Понятие сокета (socket)
Проблемы маршрутизации в сетях

Связь с установлением логического соединения и передача данных с помощью сообщений
Синхронизация удаленных процессов
Заключение

Основы операционных систем

Введение
Угрозы безопасности
Формализация подхода к обеспечению информационной безопасности
Криптография как одна из базовых технологий безопасности ОС

Шифрование с использованием алгоритма RSA
Теорема Эйлера
Заключение

Основы операционных систем

Идентификация и аутентификация
Пароли, уязвимость паролей
Шифрование пароля
Авторизация. Разграничение доступа к объектам ОС
Домены безопасности

Матрица доступа
Список прав доступа. Access control list
Мандаты возможностей. Capability list
Другие способы контроля доступа
Смена домена
Недопустимость повторного использования объектов
Выявление вторжений. Аудит системы защиты
Анализ некоторых популярных ОС с точки зрения их защищенности
MS-DOS
NetWare, IntranetWare

OS/2
Unix
Windows NT/2000/XP
Заключение

Содержание раздела