- •Содержание
- •Основы операционных систем
- •Операционная система как менеджер ресурсов
- •Операционная система как защитник пользователей и программ
- •Операционная система как постоянно функционирующее ядро
- •Второй период (1955 г.–начало 60-х). Компьютеры на основе транзисторов. Пакетные операционные системы
- •Третий период (начало 60-х – 1980 г.). Компьютеры на основе интегральных микросхем. Первые многозадачные ос
- •Четвертый период (с 1980 г. По настоящее время). Персональные компьютеры. Классические, сетевые и распределенные системы
- •Прерывания
- •Исключительные ситуации
- •Многоуровневые системы (Layered systems)
- •Виртуальные машины
- •Микроядерная архитектура
- •Смешанные системы
- •Системы реального времени
- •Взаимодействие с периферийными устройствами
- •Понятие процесса
- •Состояния процесса
- •Process Control Block и контекст процесса
- •Одноразовые операции
- •Многоразовые операции
- •Переключение контекста
- •Заключение
- •Уровни планирования
- •Критерии планирования и требования к алгоритмам
- •Параметры планирования
- •Вытесняющее и невытесняющее планирование
- •Гарантированное планирование
- •Приоритетное планирование
- •Многоуровневые очереди (Multilevel Queue)
- •Многоуровневые очереди с обратной связью (Multilevel Feedback Queue)
- •Заключение
- •Взаимодействующие процессы
- •Категории средств обмена информацией
- •Информационная валентность процессов и средств связи
- •Поток ввода/вывода и сообщения
- •Надежность средств связи
- •Как завершается связь?
- •Нити исполнения
- •Заключение
- •Критическая секция
- •Запрет прерываний
- •Переменная-замок
- •Строгое чередование
- •Флаги готовности
- •Алгоритм Петерсона
- •Алгоритм булочной (Bakery algorithm)
- •Аппаратная поддержка взаимоисключений
- •Команда Test-and-Set (проверить и присвоить 1)
- •Решение проблемы producer-consumer с помощью семафоров
- •Мониторы
- •Сообщения
- •Реализация семафоров и передачи сообщений с помощью мониторов
- •Реализация семафоров и мониторов с помощью очередей сообщений
- •Заключение
- •Введение
- •Условия возникновения тупиков
- •Основные направления борьбы с тупиками
- •Игнорирование проблемы тупиков
- •Нарушение условия ожидания дополнительных ресурсов
- •Нарушение принципа отсутствия перераспределения
- •Hарушение условия кругового ожидания
- •Обнаружение тупиков
- •Восстановление после тупиков
- •Заключение
- •Введение
- •Физическая организация памяти компьютера
- •Локальность
- •Логическая память
- •Связывание адресов
- •Функции системы управления памятью
- •Простейшие схемы управления памятью
- •Один процесс в памяти
- •Оверлейная структура
- •Динамическое распределение. Свопинг
- •Страничная память
- •Сегментная и сегментно-страничная организация памяти
- •Заключение
- •Понятие виртуальной памяти
- •Архитектурные средства поддержки виртуальной памяти
- •Страничная виртуальная память
- •Сегментно-страничная организации виртуальной памяти
- •Структура таблицы страниц
- •Ассоциативная память
- •Инвертированная таблица страниц
- •Размер страницы
- •Заключение
- •11. Лекция: Файлы с точки зрения пользователя: версия для печати и pda в настоящей лекции вводится понятие и рассматриваются основные функции и интерфейс файловой системы.
- •Введение
- •Типы файлов
- •Атрибуты файлов
- •Организация файлов и доступ к ним
- •Другие формы организации файлов
- •Операции над файлами
- •Директории. Логическая структура файлового архива
- •Разделы диска. Организация доступа к архиву файлов.
- •Операции над директориями
- •Заключение
- •Общая структура файловой системы
- •Связный список
- •Индексные узлы
- •Учет при помощи организации связного списка
- •Размер блока
- •Структура файловой системы на диске
- •Реализация директорий
- •Связывание файлов
- •Кооперация процессов при работе с файлами
- •Примеры разрешения коллизий и тупиковых ситуаций
- •Порядок выполнения операций
- •Журнализация
- •Проверка целостности файловой системы при помощи утилит
- •Управление "плохими" блоками
- •Оптимальное размещение информации на диске
- •Связывание файла
- •Удаление файла
- •Современные архитектуры файловых систем
- •Заключение
- •13. Лекция: Система управления вводом-выводом: версия для печати и pda в лекции рассматриваются основные физические и логические принципы организации ввода-вывода в вычислительных системах.
- •Физические принципы организации ввода-вывода
- •Общие сведения об архитектуре компьютера
- •Структура контроллера устройства
- •Опрос устройств и прерывания. Исключительные ситуации и системные вызовы
- •Прямой доступ к памяти (Direct Memory Access – dma)
- •Логические принципы организации ввода-вывода
- •Структура системы ввода-вывода
- •Систематизация внешних устройств и интерфейс между базовой подсистемой ввода-вывода и драйверами
- •Функции базовой подсистемы ввода-вывода
- •Блокирующиеся, неблокирующиеся и асинхронные системные вызовы
- •Буферизация и кэширование
- •Spooling и захват устройств
- •Обработка прерываний и ошибок
- •Планирование запросов
- •Алгоритм First Come First Served (fcfs)
- •Алгоритм Short Seek Time First (sstf)
- •Алгоритмы сканирования (scan, c-scan, look, c-look)
- •Заключение
- •Введение
- •Угрозы безопасности
- •Формализация подхода к обеспечению информационной безопасности
- •Криптография как одна из базовых технологий безопасности ос
- •Шифрование с использованием алгоритма rsa
- •Теорема Эйлера
- •Заключение
Заключение
Одним из наиболее ограниченных ресурсов вычислительной системы является процессорное время. Для его распределения между многочисленными процессами в системе приходится применять процедуру планирования процессов. По степени длительности влияния планирования на поведение вычислительной системы различают краткосрочное, среднесрочное и долгосрочное планирование процессов. Конкретные алгоритмы планирования процессов зависят от поставленных целей, класса решаемых задач и опираются на статические и динамические параметры процессов и компьютерных систем. Различают вытесняющий и невытесняющий режимы планирования. При невытесняющем планировании исполняющийся процесс уступает процессор другому процессу только по собственному желанию, при вытесняющем планировании исполняющийся процесс может быть вытеснен из состояния исполнения помимо своей воли.
Простейшим алгоритмом планирования является невытесняющий алгоритм FCFS, который, однако, может существенно задерживать короткие процессы, не вовремя перешедшие в состояние готовность. В системах разделения времени широкое распространение получила вытесняющая версия этого алгоритма – RR.
Среди всех невытесняющих алгоритмов оптимальным с точки зрения среднего времени ожидания процессов является алгоритм SJF. Существует и вытесняющий вариант этого алгоритма. В интерактивных системах часто используется алгоритм гарантированного планирования, обеспечивающий пользователям равные части процессорного времени.
Алгоритм SJF и алгоритм гарантированного планирования являются частными случаями планирования с использованием приоритетов. В более общих методах приоритетного планирования применяются многоуровневые очереди процессов, готовых к исполнению, и многоуровневые очереди с обратной связью. Будучи наиболее сложными в реализации, эти способы планирования обеспечивают гибкое поведение вычислительных систем и их адаптивность к решению задач разных классов.
1) Надо отметить, что аббревиатура FCFS используется для этого алгоритма планирования вместо стандартной аббревиатуры FIFO для механизмов подобного типа для того, чтобы подчеркнуть, что организация готовых процессов в очередь FIFO возможна и при других алгоритмах планирования (например, для Round Robin – см. раздел "Round Robin (RR)").
4. Лекция: Кооперация процессов и основные аспекты ее логической организации: версия для печати и PDA Одной из функций операционной системы является обеспечение санкционированного взаимодействия процессов. Лекция посвящена основам логической организации такого взаимодействия. Рассматривается расширение понятия процесс – нить исполнения (thread).
Взаимодействие процессов в вычислительной системе напоминает жизнь в коммунальной квартире. Постоянное ожидание в очереди к местам общего пользования (процессору) и ежедневная борьба за ресурсы (кто опять занял все конфорки на плите?). Для нормального функционирования процессов операционная система старается максимально обособить их друг от друга. Каждый процесс имеет собственное адресное пространство (каждая семья должна жить в отдельной комнате), нарушение которого, как правило, приводит к аварийной остановке процесса (вызов милиции). Каждому процессу по возможности предоставляются свои дополнительные ресурсы (каждая семья предпочитает иметь собственный холодильник). Тем не менее для решения некоторых задач (приготовление праздничного стола на всю квартиру) процессы могут объединять свои усилия. В настоящей лекции описываются причины взаимодействия процессов, способы их взаимодействия и возникающие при этом проблемы (попробуйте отремонтировать общую квартиру так, чтобы жильцы не перессорились друг с другом).