- •Классификация системного программного обеспечения
- •Другая классификация
- •Требования к системному программному обеспечению
- •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: назначение, организация, доступ.
Х.3 Цвета и палитры
Цветовые схемы вообще. Схема RGB.
С точки зрения прикладной программы, использующей функции GDI, цвет инструментов или отдельных точек изображения (см. ниже) задается значением типа COLORREF (совместим с 32-разрядным целым).
На нижнем уровне всегда осуществляется преобразование цвета физической палитрой, учитывающей специфику цветовых возможностей конкретного устройства отображения (в действительности это скорее системная палитра, так как существует еще действительно аппаратная палитра, определяемая, например, регистрами ЦАП видеоадаптера). Если цепочка преобразований ограничивается только физической палитрой, для получения значения цвета можно использовать функцию (макрос) RGB(), принимающую в качестве параметров три однобайтовые составляющие соответственно красного, зеленого и синего цвета, которые могут принимать значения от 0 до 255.
Логическая палитра – объект GDI, тип HPALETTE, выбирается для конкретного контекста:
HPALETTE SelectPalette(hDC, HPALETTE hPal, BOOL bForceBackground) Последний параметр управляет поведением палитрового преобразования при неактивности окна.
Создание логической палитры:
CreatePalette(const LOGPALETTE* lplpPal)
typedef struct tagLOGPALETTE { // lgpl
WORD palVersion;
WORD palNumEntries;
PALETTEENTRY palPalEntry[1];
} LOGPALETTE;
palVersion Specifies the Windows version number for the structure (currently 0x300).
palNumEntries Specifies the number of entries in the logical color palette.
palPalEntry Specifies an array of PALETTEENTRY structures that define the color and usage of each entry in the logical palette.
typedef struct tagPALETTEENTRY { // pe
BYTE peRed;
BYTE peGreen;
BYTE peBlue;
BYTE peFlags;
} PALETTEENTRY;
peRed Specifies a red intensity value for the palette entry.
peGreen Specifies a green intensity value for the palette entry.
peBlue Specifies a blue intensity value for the palette entry.
peFlags Specifies how the palette entry is to be used. The peFlags member may be set to NULL or one of the following values: PC_EXPLICIT Specifies that the low-order word of the logical palette entry designates a hardware palette index. This flag allows the application to show the contents of the display device palette. PC_NOCOLLAPSE Specifies that the color be placed in an unused entry in the system palette instead of being matched to an existing color in the system palette. If there are no unused entries in the system palette, the color is matched normally. Once this color is in the system palette, colors in other logical palettes can be matched to this color. PC_RESERVED Specifies that the logical palette entry be used for palette animation. This flag prevents other windows from matching colors to the palette entry since the color frequently changes. If an unused system-palette entry is available, the color is placed in that entry. Otherwise, the color is not available for animation.
COLORREF PALETTERGB(red,green,blue)
COLORREF PALETTEINDEX(index)
Функция UINT RealizePalette(HDC hDC) переносит (насколько это возможно) содержимое логической палитры данного контекста в системную. Возвращает количество перенесенных элементов PALETTEENTRY или GDI_ERROR в случае ошибки.
Большая часть инструментов содержит информацию о цвете, присущем данному экземпляру инструмента. Для инструментов и объектов, не имеющих собственной информации о цвете и оперирующих в терминах цветов переднего (foreground) и заднего (background) планов, эти цвета задаются соответственно функциями SetTextColor(), SetBkColor(). Подобным образом работают, например, шрифты и монохромные битовые образы (см. ниже).