- •Алматы 2011
- •Наименование темы
- •Лекция 1. Введение. Основные понятия. Основы программирования в операционной системе Windows.
- •Классическое системное программирование рассматривает круг вопросов, связанных с синхронизацией и диспетчеризацией потоков и процессов, обменом данными между процессами, управлением устройствами компьютера и файлами, обеспечением безопасности данных.
- •Несколько общих положений о программировании в Windows.
- •TranslateMessage (&msg);
- •DispatchMessage(&msg);
- •Дополнительная литература: 14[31-54, 551-559]
- •Дополнительная литература: 14[167-179]
- •Глоссарий по курсу
Глоссарий по курсу
Анонимный канал Каналы, используемые для организации передачи данных между родительскими и дочерними процессами, запущенными на одной рабочей станции или на отдельно стоящем компьютере.
Атомарные |
опе- |
Операции, выполняющиеся |
как единое целое либо не |
|
рации |
|
выполняющиеся |
вовсе. Имеет |
особое значение в много- |
|
|
процессорных компьютерах (многозадачных ОС), так как |
||
|
|
доступ к неразделяемым ресурсам должен быть обяза- |
||
|
|
тельно атомарным. Операция открыта влиянию только |
||
|
|
одного потока. Бывает аппаратной и программной, когда |
||
|
|
используются |
специальные |
средства межпрограммного |
взаимодействия: мьютекс, семафор).
Виртуальная |
па- |
Технология управления памятью ЭВМ, разработанная |
||||
мять, |
Virtual |
для многозадачных ОС. При использовании технологии |
||||
memory |
|
|
для каждой программы используются независимые схемы |
|||
|
|
|
адресации памяти, отображающиеся различными спосо- |
|||
|
|
|
бами на физические адреса в памяти ЭВМ. Позволяет уве- |
|||
|
|
|
личить эффективность использования памяти нескольки- |
|||
|
|
|
ми одновременно работающими программами, организо- |
|||
|
|
|
вав множество независимых адресных пространств, и |
|||
|
|
|
обеспечить защиту памяти между различными приложе- |
|||
|
|
|
ниями. Также |
позволяет |
программисту |
использовать |
|
|
|
больше памяти, чем установлено в компьютере, за счет |
|||
|
|
|
откачки неиспользуемых страниц на вторичное хранили- |
|||
|
|
|
ще. |
|
|
|
Дескрипторы |
|
Специальная структура, содержащая информацию о |
||||
безопасности |
|
безопасности объекте, о пользователях или группе поль- |
||||
|
|
|
зователей, правах доступа к объекту, информация для ау- |
|||
|
|
|
дита объекта |
|
|
|
Именованный |
ка- |
Каналы, с присвоенным именем при создании, доступ- |
||||
нал |
|
|
ное для других процессов. Зная имя какой-либо рабочей |
|||
|
|
|
станции в сети, процесс может получить доступ к каналу, |
|||
|
|
|
созданному на этой рабочей станции. |
|
||
Критическая |
сек- |
Объект синхронизации потоков, позволяющий предот- |
||||
ция |
|
|
вратить одновременное выполнение некоторого набора |
|||
|
|
|
операций (обычно |
связанных |
с доступом к |
данным) не- |
88
|
сколькими потоками. Принадлежит |
процессу |
и служит |
|
для синхронизации только его потоков. |
|
|
Куча |
Структура данных, с помощью |
которой |
реализована |
|
динамически распределяемая память приложения, а также |
||
|
объём памяти, зарезервированный под эту структуру. |
Локальная - па Массив указателей, доступ к которым выполняется че- мять потока рез индексы при помощи специальных функцийWin32
API
Менеджер вирту- |
Часть |
компьютерной программы (прикладной, опера- |
|
альной |
памяти, ционной |
системы), обрабатывающая запросы на выделе- |
|
Virtual |
memory |
ние и освобождение оперативной памяти, запросы на |
|
manager |
|
включение заданной области памяти в адресное простран- |
|
|
|
ство процессора. Основное назначение - реализация дина- |
|
|
|
мической памяти. В языке C динамическое выделение па- |
|
|
|
мяти производится через функцию malloc. |
|
Мьютекс |
|
Механизм организации взаимного исключения для по- |
|
|
|
токов из одного и того же или из разных процессов. Явля- |
|
|
|
ется объектом ядра и может использоваться несколькими |
|
|
|
процессами одновременно |
|
Подкачка |
стра- |
Один из механизмов виртуальной памяти, при котором |
|
ниц, Paging |
отдельные фрагменты памяти (обычно неактивные) пере- |
||
|
|
мещаются из ОЗУ на жёсткий диск (или другой внешний |
|
|
|
накопитель), освобождая ОЗУ для загрузки других фраг- |
|
|
|
ментов памяти. Такими фрагментами в современных ЭВМ |
|
|
|
являются страницы памяти. Временно выгруженные из |
|
|
|
памяти страницы могут сохраняться на внешних запоми- |
|
|
|
нающих устройствах, как в файле, так и в специальном |
|
|
|
разделе на жёстком диске (partition), называемые соответ- |
|
|
|
ственно swap-файл и swap-раздел. |
|
Поток, thread |
Последовательность выполнения инструкций програм- |
||
|
|
мы называется потоком управления внутри программы. |
|
|
|
Поток управления можно представить как нить програм- |
|
|
|
мы, на |
которую нанизаны инструкции, выполняемые |
|
|
микропроцессором. Часто называется нитью. |
|
Процесс |
|
Программа, находящаяся в режиме выполнения. Для |
|
|
|
ОС процесс представляет собой единицу работы, заявку |
|
|
|
на потребление системных ресурсов. С каждым процессом |
|
|
|
связывается его адресное пространство, из которого он |
89
|
|
|
может читать и в которое он может писать данные. |
Реестр |
|
|
Специализированная база данных для хранения инфор- |
|
|
|
мации о работе и настройкеWindows. Для обеспечения |
|
|
|
структуризованности информации реестр сделан в виде |
|
|
|
дерева. Windows имеет специальную утилиту RegEdit для |
|
|
|
редактирования реестра вручную. |
Семафор |
|
|
Объект синхронизации позволяющий ограничить дос- |
|
|
|
туп потоков к объекту синхронизации на основании их |
|
|
|
количества. CreateSemaphore() функция создает семафор с |
|
|
|
заданным начальным значением счетчика и максималь- |
|
|
|
ным значением. Функция OpenSemaphore() осуществляет |
|
|
|
доступ к семафору. Функция ReleaseSemaphore() увеличи- |
|
|
|
вает значение счетчика. |
Структурная |
об- |
Механизм обработки программных и аппаратных -ис |
|
работка |
|
исклю- |
ключений в ОСWindows, позволяющий программистам |
чений |
|
|
контролировать обработку исключений и отлаживать про- |
|
|
|
грамму. |
Windows API |
|
Набор базовых функций интерфейсов программирова- |
|
|
|
|
ния приложений ОС семействаMicrosoft Windows корпо- |
|
|
|
рации «Майкрософт». Самый прямой способ взаимодей- |
|
|
|
ствия приложений с Windows. |
DLL |
|
|
Динамическая библиотека, позволяющая многократное |
|
|
|
использование различными программными приложения- |
|
|
|
ми. K DLL относятся также элементы управления ActiveX |
|
|
|
и драйверы. |
GUI, |
Graphical |
Графический интерфейс пользователя (ГИП), графиче- |
|
user interface |
|
ский пользовательский интерфейс(ГПИ) разновидность |
|
|
|
|
пользовательского интерфейса, в котором элементы ин- |
терфейса (меню, кнопки, значки, списки и т. п.), представленные пользователю на дисплее, исполнены в виде графических изображений. Пользователь имеет произвольный доступ ко всем видимым экранным объектам(элементам интерфейса) и осуществляет непосредственное манипулирование ими.
90
Юбузова Халича Ибрагимовна
Технологии системного программирования
Учебно-методический комплекс дисциплины (для специальности 5В100200 - Системы информационной безопасности)
Редактор
Протокол заседания кафедры |
|
«Вычислительная техника» |
№ ___ «___» __________ 20…г. |
Протокол заседания УМС института |
|
«Информационных и |
|
Телекоммуникационных технологий» |
№ ___ «___» __________ 20…г. |
Подписано в печать … 20…г.
Тираж … экз. Формат 60х84 1/16. Бумага типографская № 1. Объем … п. л. Заказ № … Цена договорная
Издание Казахского национального технического университета имени К.И. Сатпаева
Научно-технический издательский центр КазНТУ г. Алматы, ул. Сатпаева 22
91