- •Системное программное обеспечение Учебное пособие
- •Введение
- •1.Основные понятия
- •1.1.Функции и ресурсы ос
- •1.2.Структура программного обеспечения
- •1.3.Режимы функционирования компьютера
- •1.4.Классификация ос
- •1.5.Состав ос
- •2.Управление памятью
- •2.1. Основная память
- •2.2.Регистровая память
- •2.3.Кэш память
- •2.4.Организация основной памяти
- •2.4.1.Режимы работы процессоров Intel
- •2.4.2.Преобразование логического адреса в физический в реальном режиме
- •2.4.3.Адресация памяти в защищенном режиме
- •2.5.Управление памятью
- •2.5.1.Модели памяти
- •2.5.2.Динамическое распределение памяти
- •2.5.3.Динамическое распределение памяти в windows nt
- •2.5.4.Функции ос по управлению основной памятью
- •2.6.Виртуальная память
- •2.6.1.Преобразование виртуального адреса в реальный
- •2.6.2.Страничная организация
- •2.6.3.Сегментная организация
- •2.6.4.Странично-сегментная организация
- •2.6.5.Сплошная модель памяти flat
- •2.6.6.Функции для доступа к виртуальной памяти
- •2.6.6.1Освобождение виртуальной памяти
- •2.6.6.2Фиксирование страниц основной памяти
- •2.6.7.Стратегии управления виртуальной памятью
- •2.6.7.1Определение оптимального размера страниц
- •2.6.7.2Поведение программ при подкачке страниц
- •3.Процессы и задачи. Мультипроцессорные системы
- •3.1.Управление процессами
- •3.1.1.Блок управления процессом (pcb)
- •3.1.2.Управление асинхронными параллельными процессами
- •3.2.Мультизадачность
- •3.2.1.Виды мультизадачности:
- •3.2.2.Процессы и задачи
- •3.2.3.Распределение времени между задачами
- •3.2.4.Процессовая мультизадачность
- •3.2.5.Потоковая мультизадачность
- •3.2.6. Синхронизация задач
- •3.2.6.1Ожидание завершения задачи или процесса
- •3.2.6.2Синхронизация с помощью событий
- •3.2.7.Взаимоисключение
- •3.2.7.1Критические секции в программном интерфейсе windows
- •3.2.7.2Блокирующие функции
- •3.2.8.Семафоры
- •3.3.Тупики
- •3.3.1.Условия возникновения тупика
- •3.3.2.Предотвращение тупиков
- •3.3.3. Обход тупиков
- •3.3.4.Обнаружение тупиков
- •3.3.5.Восстановление после тупика
- •3.4.Средства обеспечения мультизадачности в защищенном режиме работы процессора Intel
- •3.4.1.Переключение задач
- •3.5.Обработка прерываний
- •3.5.1.Обработка прерываний в защищенном режиме
- •3.5.2.Обработка аппаратных прерываний
- •3.6.Управление потоками заданий. Планирование заданий и загрузка процессоров
- •3.6.1.Цели планирования
- •3.6.2.Критерии планирования
- •3.6.3.Дисциплины планирования
- •3.6.4.Многоуровневые очереди с обратными связями
- •3.7.Мультипроцессорные архитектуры. Планирование загрузки ресурсов
- •3.7.1.Параллелизм
- •3.7.2.Цели мультипроцессорных систем
- •3.7.3.Автоматическое распараллеливание
- •3.7.3.1Расщепление цикла
- •3.7.3.2Редукция высоты дерева
- •3.7.4.Мультипроцессорные операционные системы
- •3.7.5.Организация мультипроцессорных операционных систем
- •3.7.6.Производительность мультипроцессорных систем
- •3.7.7.Экономическая эффективность мультипроцессорных систем
- •3.7.8.Восстановление после ошибок
- •3.7.9.Перспективы мультипроцессорных систем
- •4.Управление внешней памятью и файловые системы
- •4.1.Структура дискового тома. Таблица разделов
- •4.2.Управление данными
- •4.2.1.Организация данных
- •4.2.2.Методы доступа
- •4.3. Файловые системы
- •4.3.1.Файловая система fat
- •4.3.2.Файловая система fat32
- •4.3.3.Функции windows api для работы с директориями
- •4.3.4.Файловая система windows 95
- •4.3.5.Файловая система нpfs (os/2)
- •4.3.5.1 Структура тома
- •4.3.5.2Файлы и Fnodes
- •4.3.5.3Каталоги
- •4.3.5.4Расширенные атрибуты
- •4.3.5.5Инсталлируемые файловые системы
- •4.3.5.6Проблемы эффективности
- •4.3.5.7Отказоустойчивость
- •4.3.6.Файловая система ntfs (Windows nt)
- •4.3.6.1Главная файловая таблица
- •4.3.6.2Атрибуты файла ntfs
- •4.3.6.3Длинные и короткие имена файлов
- •4.3.6.4Потоки данных
- •4.3.6.5Согласованность с posix
- •4.4.Асинхронные операции с файлами
- •4.5.Файлы, отображаемые на память
- •4.5.1.Создание отображения файла
- •4.5.2.Выполнение отображения на память
- •5.Средства ввода информации
- •5.1.Аппаратные и программные средства ввода информации с клавиатуры
- •5.1.1.Анализ и преобразование скэн-кода
- •5.1.2.Буфер клавиатуры
- •5.1.3.Схема работы буфера
- •5.1.4.Ввод информации с клавиатуры в Windows
- •5.1.4.1Поддержка горячих клавиш (нot-key)
- •5.1.4.2Языки и локализация
- •5.2.Управление манипулятором "мышь"
- •5.2.1.Аппаратные средства манипулятора
- •5.2.2.Программная поддержка "мыши" (на примере ms dos)
- •5.2.3.Основные функции интерфейса программы с манипулятором "мышь" (int 33н)
- •5.2.4.Чтение позиции курсора и состояния кнопок "мыши"
- •5.2.5.Управление мышью в приложениях Windows
- •5.2.5.1Обработка двойного щелчка (Double-Click Messages)
- •5.2.5.2Сообщения неклиентской области
- •5.2.5.3Активизация окна
- •6.Сетевые операционные системы
- •Литература
- •Оглавление
- •Учебное издание
- •394026 Воронеж, Московский просп., 14
3.6.2.Критерии планирования
1. Фактор, лимитирующий процесс, ограничивает производительность системы: прежде всего, это ввод/вывод, т.е. на быстродействие влияют стадии обмена процесса с внешними устройствами. Лимитирующим фактором может быть ЦП - для процессов, которые полностью используют выделенный квант времени (задачи вычислительного характера). Производительность системы в данном случае зависит от размера кванта, от текущего приоритета и нагрузки.
2. Характер процесса позволяет определить главные цели дисциплины планирования по отношению к этому процессу. Процесс может быть пакетным или диалоговым. Пакетный выполняется от начала до конца без обмена (преимущественно) с пользователем, а диалоговый требует постоянного обмена информацией с пользователем.
3. Рабочие характеристики процесса:
- приоритетность;
- наличие прерывания по отсутствии страниц;
- время ЦП, уже выделенному процессу;
- ожидаемое время завершения.
Механизм планирования должен как можно раньше определять характер заданий. Механизм планирования должен отдавать предпочтение коротким заданиям, лимитируемым вводом/выводом.
3.6.3.Дисциплины планирования
1. По сроку завершения задание должно быть завершено не позднее указанного для него срока. Результаты таких заданий могут иметь значение, если они были получены вовремя. Системы реально времени работают именно по такой дисциплине. Наличие в системе нескольких процессов, требующих завершения к близким срокам, может в значительной степени осложнить работу планировщика, либо потребовать включения специальных методов оптимизации, гарантирующих соблюдения всех сроков. Стоимость выполнения подобных заданий существенно выше стоимости прохождения ординарных процессов.
2. Более простой является дисциплина планирования по принципу FIFO. Это планирование обеспечивает хорошую справедливость, однако многие цели планирования оказываются не выполненными. Например, время ответа в режиме разделения времени гарантируется слабо.
3. Циклическое планирование, когда задания обслуживаются по кругу (Round Robin, RR). Грубо говоря, это FIFO с ограниченным временем кванта ЦП. Если процесс не завершается по истечении кванта, он возвращается в конец очереди готовых процессов. При работе в режиме разделения времени обеспечивается хорошее время ответа для всех интерактивных пользователей.
4. Дисциплина SJF (SНortest Job First) - кратчайшее задание - первым. Эта дисциплина обеспечивает уменьшение минимального времени ожидания, по сравнению с FIFO, но дисперсия времен ожидания оказывается несколько выше. Проблема возникает при оценке времени выполнения того или процесса. Регулярный счет однотипных заданий позволяет применять данную дисциплину.
5. Планирование по принципу SRT (SНortest Remaining Time) - по наименьшему отстающему времени. Данный механизм учитывает, сколько время осталось процессу до завершения.
6. По относительно наибольшему времени реакции НRN (НigНest Response Ratio Next). Эта дисциплина обеспечивает выполнение задания с приоритетом, учитывающим не только время обслуживания процесса, но и время, затраченное на ожидание. Динамический приоритет рассчитывается по формуле:
Приоритет = (Время_ожидания +Время_обслуживания)/Время_обслуживания
Обычно применяются комбинированные дисциплины планирования, т.е. в разные моменты жизни процесса он может планироваться по-разному.