
- •Эволюция операционных систем. Структура вычислительной системы
- •Понятие операционной системы.
- •Функции операционных систем.
- •Основные понятия и концепции ос.
- •Архитектурные особенности ос.
- •Классификация ос.
- •Краткие сведения об архитектуре компьютера.
- •История создания ос корпорации Microsoft.
- •Системы Unix и Linux.
- •Дистрибутивы Linux.
- •Процессы. Понятие процесса.
- •Состояния процесса.
- •Одноразовые операции. Упрощенная иеархическая структура процессов.
- •Многоразовые операции. Приостановка, блокирование и разблокирование процесса.
- •Переключение контекста. Выполнение операции разблокирования процесса.
- •Планирование процессов. Уровни планирования процессов.
- •Критерии планирования и требования к алгоритмам.
- •Вытесняющее и невытесняющее планирование.
- •Алгоритм планирования First-Come, First-Served (fcfs).
- •Алгоритм планирования Round Robin (rr).
- •Алгоритм планирования Shortest-Job-First (sjf).
- •Гарантированное планирование.
- •Приоритетное планирование.
- •Многоуровневые очереди с обратной связью (Multilevel Feedback Queue).
- •Категории средств обмена информацией.
- •Логическая организация механизма передачи информации. Установка связи.
- •Особенности передачи информации с помощью линий связи.
- •Буферизация.
- •Поток ввода/вывода и сообщения.
- •Надежность средств связи. Завершение связи.
- •Потоки исполнения.
- •Алгоритмы синхронизации. Interleaving, race condition и взаимоисключения.
- •Критическая секция.
- •Программные алгоритмы организации взаимодействия процессов.
- •Требования, предъявляемые к алгоритмам синхронизации.
- •Запрет прерываний.
- •Переменная-замок.
- •Флаги готовности.
- •Алгоритм Петерсона.
- •Команда Test-and-Set (проверить и присвоить).
- •Команда Swap (обменять значения).
- •Механизмы синхронизации процессов и потоков.
- •Цели и средства синхронизации.
- •Решение проблемы producer-consumer с помощью семафоров.
- •Wait-функции и ожидаемые таймеры.
- •События и семафоры.
- •Мьютексы.
- •Реализация мониторов и передачи сообщений с помощью семафоров.
- •Реализация семафоров и передачи сообщений с помощью мониторов
- •Реализация семафоров и мониторов с помощью очередей сообщений
- •Управление памятью. Физическая организация памяти
- •Физическая организация памяти компьютера
- •Свойство локальности
- •Логическая память
- •Связывание адресов
- •Функции системы управления памятью
- •59. Схема управления памятью с одним процессом в памяти
- •Страничная память
- •Сегментная и сегментно-страничная организация памяти
- •Виртуальная память. Архитектурные средства поддержки виртуальной памяти. Понятие виртуальной памяти
- •Архитектурные средства поддержки виртуальной памяти
- •Страничная виртуальная память
- •Сегментно-страничная организация виртуальной памяти
- •Структура таблицы страниц
- •Ассоциативная память
- •Размер страницы
- •Аппаратно-независимый уровень управления виртуальной памятью. Исключительные ситуации при работе с памятью
- •Стратегии управления страничной памятью
- •Алгоритмы замещения страниц: общие правила, классификация, эффективность
- •Алгоритм fifo
- •Аномалия Билэди
- •Оптимальный алгоритм (opt)
- •Алгоритм nru
- •Алгоритм lru
- •Программное моделирование алгоритма lru
- •Трешинг
- •Моделирование рабочего множества
- •Страничные демоны (сервисы). Фоновый процесс
- •Программная поддержка сегментной модели памяти процесса
- •Файловая система. Файлы с точки зрения пользователя. Функции файловой системы
- •Общие сведения о файлах (имена, типы, атрибуты)
- •Организация файлов и доступ к ним (последовательный, прямой). Формы организации файлов
- •Операции над файлами
- •Директории. Логическая структура файлового архива
- •Разделы диска
- •Операции над директориями
- •Защита файлов
- •Реализация файловой системы. Общая структура файловой системы. Блок-схема файловой системы
- •Управление внешней памятью. Методы выделения дискового пространства
- •Выделение непрерывной последовательностью дисковых блоков
- •Связанный список. Хранение файла в виде связанного списка дисковых блоков.
- •Индексные узлы.
- •Управление свободным и занятым дисковым пространством.
- •Структура файловой системы на диске. Примерная структура файловой системы на диске.
- •Связывание файлов. Структура файловой системы с возможностью связывания файла с новым именем.
- •Кооперация процессов при работе с файлами.
- •Примеры разрешения коллизий и тупиковых ситуаций.
- •Hадежность файловой системы.
- •Целостность файловой системы.
- •Порядок выполнения операций.
- •Журнализация.
- •Производительность файловой системы. Кэширование.
- •Современные архитектуры файловых систем.
- •Дополнительные возможности современных файловых систем (на примере ntfs ос Windows xp).
- •Система управления вводом-выводом
- •Физические принципы организации ввода-вывода.
- •Общие сведения об архитектуре компьютера.
- •Прямой доступ к памяти (Direct Memory Access – dma).
- •Структура системы ввода-вывода. Логические принципы организации ввода-вывода.
- •Структура подсистемы ввода-вывода. Драйверы.
- •Функции подсистемы ввода-вывода.
- •Компоненты подсистемы ввода-вывода (структурная схема).
- •Диспетчер ввода-вывода.
- •Типовая обработка ввода-вывода.
- •Установка драйвера.
- •Диспетчер электропитания.
- •Сетевые и распределенные операционные системы.
- •Взаимодействие удаленных процессов как основа работы вычислительных сетей.
- •Основные вопросы логической организации передачи информации между удаленными процессами.
- •Понятие протокола.
- •Многоуровневая модель построения сетевых вычислительных систем. Семиуровневая эталонная модель osi/iso.
- •Проблемы адресации в сети. Одноуровневые адреса. Двухуровневые адреса.
- •Удаленная адресация и разрешение адресов. Схема разрешения имен с использованием dns-серверов.
- •Основные понятия информационной безопасности. Угрозы безопасности
- •Формализация подхода к обеспечению информационной безопасности.
- •Криптография как одна из базовых технологий безопасности ос.
- •Шифрование. Шифрование открытым ключом.
- •Шифрование с использованием алгоритма rsa.
- •Защитные механизмы ос. Идентификация и аутентификация
- •Пароли, уязвимость паролей.
- •Шифрование пароля.
- •Авторизация. Разграничение доступа к объектам ос.
- •Аудит системы защиты.
- •Анализ некоторых популярных ос с точки зрения их защищенности: ms-dos; Windows nt/2000/xp; Windows Vista; Windows 7.
- •Брандмауэр ос ms Windows.
Диспетчер ввода-вывода.
Диспетчер ввода-вывода (I/O manager) определяет модель доставки запросов на ввод-вывод драйверам устройств. Подсистема ввода-вывода управляется пакетами. Большинство запросов ввода-вывода представляется пакетами запросов ввода-вывода (I/O request packets, IRP), передаваемых от одного компонента подсистемы ввода-вывода другому. (Как вы еще убедитесь, исключением является быстрый ввод-вывод, при котором IRP не используется.) Подсистема ввода-вывода позволяет индивидуальному потоку приложения управлять сразу несколькими запросами на ввод-вывод.
IRP – структура данных, содержащая информацию, полностью опис-щую запрос в/в.
Диспетчер в/в создает IRP (представляющий операцию в/в), передает указатель на IRP соответствующему Д и удаляет пакет по завершении операции в/в.
Драйвер, получивший IRP, выполняет указанную в пакете операцию и возвращает IRP диспетчеру ввода-вывода, чтобы тот либо завершил эту операцию, либо передал пакет другому драйверу для дальнейшей обработки.
Диспетчер ввода-вывода не только создает и уничтожает IRP, но и содержит общий для различных драйверов код, который они используют при обработке ввода-вывода. Благодаря этому драйверы стали проще и компактнее. Так, одна из функций диспетчера ввода-вывода позволяет драйверу вызывать другие драйверы. Этот диспетчер также управляет буферами запросов ввода-вывода, таймаутами драйверов и регистрирует, какие устанавливаемые файловые системы загружаются в операционную систему. Драйверы устройств могут вызывать около сотни функций, предоставляемых диспетчером ввода-вывода.
Диспетчер ввода-вывода также предоставляет гибкие сервисы ввода-вывода, на основе которых подсистемы окружения (например, Windows и POSIX) реализуют свои функции. В их число входят весьма изощренные сервисы асинхронного ввода-вывода, которые дают возможность разработчикам создавать высокопроизводительные масштабируемые серверные приложения.
Унифицированный модульный интерфейс драйверов позволяет диспетчеру ввода-вывода вызывать любой драйвер, ничего не зная о его структуре и внутреннем устройстве. Операционная система обрабатывает запросы на ввод-вывод так, будто они адресованы файлам; драйвер преобразует запросы к виртуальному файлу в запросы, специфичные для устройства. Драйверы также могут вызывать друг друга (через диспетчер ввода-вывода), обеспечивая многоуровневую независимую обработку запросов на ввод-вывод.
Типовая обработка ввода-вывода.
Большинство операций ввода-вывода не требует участия всех компонентов подсистемы ввода-вывода. Как правило, запрос на ввод-вывод выдается приложением, выполняющим соответствующую операцию (например, чтение данных с устройства); такие операции обрабатываются диспетчером ввода-вывода, одним или несколькими драйверами устройств и HAL.
Как уже упоминалось, в Windows потоки выполняют операции ввода-вывода над виртуальными файлами. Операционная система абстрагирует все запросы на ввод-вывод, скрывая тот факт, что конечное устройство ввода-вывода может и не быть устройством с файловой структурой. Это позволяет обобщить интерфейс между приложениями и устройствами. Таким образом виртуальный файл относится к любому источнику или приемнику ввода-вывода (файлу, каталогу, именованному каналу и почтовому ящику), который рассматривается как файл. Все считываемые или записываемые данные представляются простыми потоками байтов, направляемыми в виртуальные файлы. Приложения пользовательского режима вызывают документированные функции, которые в свою очередь обращаются к внутренним функциям подсистемы ввода-вывода для чтения/записи файла и для выполнения других операций.
Запросы, адресованные виртуальным файлам, диспетчер ввода-вывода динамически направляет соответствующим драйверам устройств. Базовая схема обработки запроса на ввод-вывод показана на рисунке.