
- •Базовые концепции
- •Графический интерфейс пользователя
- •Многозадачность
- •Управление памятью
- •Независимость от аппаратных средств
- •Объектно-ориентированное программирование
- •Архитектура приложения, управляемая событиями
- •Оконная процедура
- •Оконные классы
- •Цикл обработки сообщений
- •30. О чем уведомляет приложение сообщение wm_paint?
- •Проект firstApplication Файл firstApplication.Cpp
Базовые концепции
Операционная система Windows по сравнению с ОП типа MS-DOS обладает следующими свойствами:
Графический интерфейс пользователя;
Многозадачность;
Управление памятью;
Независимость от аппаратных средств.
Графический интерфейс пользователя
Graphical User Interface (GUI) дает возможность работать с приложениями максимально удобным способом. Стандартизация графического интерфейса имеет большое значение для пользователя (экономит время и упрощает изучение новых приложений). С точки зрения программиста стандартный вид интерфейса приводит к экономии времени при написании программ.
Многозадачность
Позволяет пользователю одновременно работать с несколькими приложениями.
Многозадачность осуществляется с помощью процессов (process) и потоков (thread).
Любое приложение после запуска реализуется как процесс. Процесс можно представить как совокупность программного кода и выделенных для его исполнения системных ресурсов. При инициализации процесса система всегда создает основной поток, из основного потока могут быть запущены один или несколько вторичных потоков.
Окно всегда принадлежит некоторому потоку. Поток может быть владельцем одного или нескольких окон, а может быть и без окон. Сами окна, которые принадлежат потоку, находятся в иерархических взаимоотношениях. (top level window ->chilled windows).
Если на экране несколько окон, то в каждый момент времени только одно окно может быть активным. Говорят, что активное окно имеет фокус ввода-все вводимое пользователем передается системой Windows этому окну.
Вытесняющая многозадачность означает, что система Windows сама решает, какому из процессов предоставить в распоряжение процессор. Каждый процесс отработав некоторое время, автоматически выгружается системой и управление передается другому процессу. Такая организация позволяет создать иллюзию одновременного выполнения нескольких приложений и не допускает возможности полного захвата ресурсов каким-либо сбойным приложение (хотя на практике такое бывает).
Управление памятью
Память – важнейший ресурс, который должен быть разделен между одновременно запущенными приложениями.
Гибкость обеспечивается:
Большие объемы исполняемых файлов загружаются по частям, из памяти автоматически удаляются отработанные фрагменты кода.
Если пользователь запустил несколько копий, то система размещает в памяти одну копию исполняемого кода, которая используется этими экземплярами совместно.
Приложения могут использовать функции из других файлов, которые называются библиотеками динамической компоновки – DLL (dynamic link libraries) – файлы .dll функции этих библиотек добавляются к кодам не на этапе компоновки, а на этапе выполнения приложения.
Независимость от аппаратных средств
Преимуществом Windows является независимость от используемой платформы. У программ, написанных для Windows, нет прямого доступа к аппаратной части таких устройств отображения информации, как, например, экран и принтер. Вместо этого они вызывают функции графической подсистемы Win32 API, называемый графическим интерфейсом устройства (Grafics Device Interface, GDI).
Функции GDI реализуют основные графические команды при помоши обращения к программным драйверам соответствующих аппаратных устройств. Одна и таже функция, например, LineTo – нарисовать линию, может иметь различную реализацию в разных драйверах. Эта реализация скрыта от программиста, что упрощает разработку приложений.