
- •Классификация системного программного обеспечения
- •Другая классификация
- •Требования к системному программному обеспечению
- •2. Операционная система. Основные функции ос. Структура операционной системы.
- •3. Интерфейс прикладных программ (api) ос. Api Win32 (системные функции).
- •Api операционных систем.
- •Структура api-программ
- •4. Дисковая подсистема в архитектуре ibm pc.
- •5. Низкоуровневая организация дисковой памяти. Сервис bios доступа к дисковой подсистеме.
- •Емкость Диска
- •Оглавление Диска (Каталог)
- •Основные Положения На Память
- •6. Понятие файловой системы. Назначение, требования, функции. Способы организации фс.
- •7. Объекты файловой системы: файлы, директории, логические устройства, другие виды объектов. Файловая система
- •Имена файлов
- •Типы файлов
- •Логическая организация файла
- •Физическая организация и адрес файла
- •Права доступа к файлу
- •Кэширование диска
- •Общая модель файловой системы
- •Отображаемые в память файлы
- •Современные архитектуры файловых систем
- •8. Файловые системы на основе fat (либо по желанию ntfs, s5fs, ufs, ext и т.Д.).
- •9. Служебные структуры файловых систем fat и их использование.
- •1.3.2. Файловые системы
- •Файловая система fat Краткие теоретические сведения
- •Обзор файловой системы fat
- •Имена файлов в fat
- •Преимущества файловой системы fat
- •Недостатки файловой системы fat
- •Обзор файловой системы hpfs
- •Суперблок
- •Запасной блок
- •Преимущества файловой системы hpfs
- •Недостатки файловой системы hpfs
- •Обзор файловой системы ntfs
- •Надежность
- •Дополнительные функции
- •Поддержка posix
- •Устранение ограничений
- •Преимущества файловой системы fat
- •Недостатки файловой системы ntfs
- •Соглашения именования в ntfs
- •10. Программный интерфейс файловой системы (функции для взаимодействия с фс, файлового ввода-вывода) - dos, Win32.
- •12. Вычислительный процесс. Состояния вычислительного процесса.
- •[Править]Создание программ
- •[Править]Использование программ
- •[Править]Правовые аспекты
- •13. Адресное пространство процесса (задачи).
- •20. Адресное пространство процесса
- •14. Приложения Windows (Win 32), разновидности. Структура оконных (windowed) приложений.
- •2. Особенности приложений Win 32.
- •17. Событийное управление в Win32. Сообщения и очереди сообщений Windows (Windows messages): назначение, структура, отсылка, доставка, обработка.
- •18. Цикл обработки сообщений. Оконная процедура: назначение, выполнение, способы активизации и завершения. Краткие теоретические сведения
- •19. Многозадачность, многозадачные операционные системы, особенности выполнения приложений в многозадачной среде.
- •Краткие теоретические сведения поток
- •Краткие теоретические сведения
- •27. Взаимодействие процессов/потоков, взаимное исключение, синхронизация (базовые сведения)
- •Синхронизация субъектов взаимодействия
- •Сравнительная характеристика механизмов взаимодействия
- •33. Графическая подсистема Win32 (gdi) - общая характеристика, основные концепции, объекты (инструменты).
- •Х.1 Общие сведения
- •Х.2 Системы координат и единицы измерения
- •Х.3 Цвета и палитры
- •Х.4 Основные инструменты графической подсистемы
- •Х.4 Растровая графика
- •Х.5 Управление областями вывода и отсечением
- •Х.6 Некоторые аспекты использования графической подсистемы
- •34. Подсистема памяти. Основные задачи, функции, требования. 35. Виртуальное адресное пространство, управление памятью с использованием виртуального адресного пространства.
- •37. Подсистема памяти Win32. Регионы (области) памяти. Группы функций api подсистемы памяти.
- •38. Распределение памяти на уровне менеджера виртуальной памяти (vmm api - Win32). In (35) 3. Архитектура памяти в Win32® api. 3.2. Управление виртуальной памятью. Vmm.
- •39. Отображение файлов в память (File mapping - Win32).
- •4.1 Адресное пространство процесса.
- •4.2 Функции работы с виртуальной памятью.
- •4.3 Проецирование файлов в память
- •4.4.1 Запуск исполняемых файлов и динамически связываемых библиотек
- •4.4.2 Проецирование файлов данных
- •4.4.3 Взаимодействие процессов через общую область данных
- •4.4 Функции работы с кучами (heap-область)
- •4.5 Глобальные и локальные объекты "память"
- •4.6 Функции crt Memory api
- •X.2. Структура подсистемы памяти Win 32 и группы функций
- •40. Системный реестр Windows: назначение, организация, доступ.
Краткие теоретические сведения
Процессорное время выделяется потокам в соответствии с их уровнем приоритета. Потоку с более низким приоритетом не выделяется время, если на него претендует поток с более высоким уровнем приоритета. Более того, процесс с более низким приоритетом прерывается до истечения кванта времени, если на процессор претендует более приоритетный поток.
Уровни приоритетов варьируются в диапазоне от 0 (низший) до 31 (высший).
Действующий приоритет каждого потока образуют три составляющие: класс приоритета процесса, уровень приоритета потока внутри класса приоритета процесса, динамический уровень приоритета.
Класс приоритета процесса и уровень приоритета потока внутри класса определяют базовый уровень приоритета потока. Привилегированными считаются приоритеты от 16 до 31, они резервируются за системными программами реального времени. Прикладная программа получить приоритет выше 15 не может.
Определены следующие классы приоритетов, которым соответствуют константы:
– Idle (простаивающий) – IDLE_PRIORITY_CLASS (4), процесс активизируется только при простое других процессов;
– Normal (нормальный) – NORMAL_PRIORITY_CLASS (7), большинство процессов в системе, в частности, все процессы пользователя; приоритет владеющего активным окном процесса повышается на 2 и составляет 9;
– High (высокий) – HIGH_PRIORITY_CLASS (13), системные процессы, реагирующие на соответствующие события;
– Real time (реального времени) – REALTIME_PRIORITY_CLASS (24), некоторые системные процессы в "особых случаях".
Внутри классов приоритетов процессов определены уровни приоритетов потоков:
– низший (THREAD_PRIORITY_LOWEST) – –2 от уровня класса;
– пониженный (THREAD_PRIORITY_BELOW_NORMAL) – –1 от уровня класса;
– нормальный (THREAD_PRIORITY_NORMAL) – равен уровню класса;
– повышенный (THREAD_PRIORITY_ABOVE_NORMAL) – +1 к уровню класса;
– высший (THREAD_PRIORITY_HIGHEST) – +2 к уровню класса;
– простаивающий (THREAD_PRIORITY_IDLE) – равен 16 для REALTIME_PRIORITY_CLASS и 1 для остальных классов;
– «критический» (THREAD_PRIORITY_TIME_CRITICAL) – равен 31 для REALTIME_PRIORITY_CLASS и 15 для остальных классов.
Для класса REALTIME_PRIORITY_CLASS может использоваться также расширенный диапазон значений – от –7 до +6. Начиная с Windows 2003 были добавлены два специальных значения: THREAD_MODE_BACKGROUND_BEGIN и THREAD_MODE_BACKGROUND_END, они связаны с дополнительными возможностями планировщика.
Динамический уровень приоритета образуется повышением базового уровня потока на две единицы при поступлении сообщений в его очередь; по истечении некоторого времени восстанавливается исходное значение. Временное повышение приоритета делается также и для долго не получавшего управление потока. Эти правила действуют только для потоков с уровнем приоритета не выше 15.
Для управления приоритетами выполнения процессов и потоков служат следующие функции.
GetPriorityClass() – получение текущего класса приоритета для процесса;
SetPriorityClass() – установка класса приоритета для процесса;
GetThreadPriority() – получение текущего приоритета выполнения потока;
SetThreadPriority() – установка приоритета выполнения потока.
В сбалансированной системе высокоприоритетные потоки выполняют, как правило, короткие операции, связанные с реагированием на события. Кроме того, само событийное управление процессами предполагает частое переключение в состояние ожидания. Это дает шанс на исполнения потокам с низким уровнем приоритета.