рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Архитектура API управления памятью.

Архитектура API управления памятью. - раздел История, Определение ОС. Функции ОС. Процессы и потоки. Классификация ОС. История развития   ...

 

 

Адресное пространство процесса:

Средства защиты памяти:

Объектно-ориентированная защита памяти. Каждый раз, когда процесс открывает указатель на блок адресов, монитор ссылок безопасности проверяет, разрешен ли доступ процесса к данному объекту.

Отдельное адресное пространство для каждого процесса. Аппаратура запрещает процессу доступ к физическим адресам другого процесса.

Два режима работы: режим ядра, в котором процессам разрешен доступ к системным данным, и пользовательский режим, в котором это запрещен.

Страничный механизм защиты. Каждая виртуальная страница имеет набор признаков, который определяет разрешенные типы доступа в пользовательском режиме и в режиме ядра.

Принудительная очистка страниц, освобождаемых процессами.

 

Страничное преобразование:

Виртуальная память в Windows имеет страничную организацию, принятую во многих современных ОС. Процессоры Intel начиная с Pentium Pro позволяют ОС применять одно-, двух- и трехступенчатые схемы. И даже разрешается одновременное использование страниц различного размера. Эта возможность, конечно, повысила бы эффективность страничного преобразования, будь она внедрена в Windows. Однако Windows возникла раньше и поддерживает только двухступенчатую схему преобразования с фиксированным размером страниц.

Каждому процессу назначается свой каталог страниц. Именно поэтому адресное пространство каждого процесса изолировано, что очень хорошо с точки зрения защиты процессов друг от друга.

32-разрядный виртуальный адрес в ОС Windows разбивается на три части:

Старшие 10 разрядов адреса определяют номер одного из 1024 элементов в каталоге страниц, адрес которого находится в регистре процессора CR3. Этот элемент содержит физический адрес таблицы страниц.

Следующие 10 разрядов линейного адреса определяют номер элемента таблицы. Элемент, в свою очередь, содержит физический адрес страницы виртуальной памяти.

Размер страницы - 4 Кбайт, и младших 12 разрядов линейного адреса как раз хватает (212 = 4096), чтобы определить точный физический номер адресуемой ячейки памяти внутри этой страницы.

 

 

 
 

 

 


Защита – Win32 API поддерживает ряд значений, в том числе: PAGE_NOACCESS, PAGE_READONLY, PAGE_READWRITE, PAGE_EXECUTE.

Базовый физический адрес страницы в памяти.

Pagefile – индекс используемого файла подкачки (один из 16 возможных в системе файлов).

State – состояние страницы в системе:

1. T (Transition) – отмечает страницу как переходную;

2. D (Dirty) – страница, в которую была произведена запись;

3. P (Present) – страница присутствует в ОП или находится в файле подкачки.

 

Отдельные состояния страниц:

Valid – страница используется процессом. Она реально существует в ОП и помечена в PTE как присутствующая в рабочем множестве процесса (P=1, D=0,1).

Modified – содержимое страницы было изменено (D=1). В PTE страница помечена как отсутствующая (P=0) и переходная (T=1).

Standby – содержимое страницы не изменялось (D=0). В PTE страница помечена как отсутствующая (P=0) и переходная (T=1).

Free – страница, на которую не ссылается ни один PTE. Страница свободна, но подлежит обнулению, прежде чем будет использована.

Zeroed – свободная и обнуленная страница, пригодная к непосредственному использованию любым процессом.

Bad – страница, которая вызывает аппаратные ошибки и не может быть использована ни одним процессом.

 

T D P Page state
- Invalid page (Free)
- Valid page
- Valid dirty page
Invalid page in transition (Standby)
Invalid dirty page in transition (Modified)

 

Реализация свопинга:

 

11. Архитектура памяти MS Windows 2000-2003. Организация «статической » виртуальной памяти. Блоки адресов. Состояния блоков адресов. Функции Win32 API.

 

Работа приложений с виртуальной памятью:

Резервирование и выделение памяти производится блоками. Начальный адрес блока должен быть выровнен на границу 64K (округляется вниз), а размер кратен размеру страницы (округляется вверх). При выделении память обнуляется.

Блок адресов в адресном пространстве процесса может находиться в одном из трех состояний:

1. Выделен (committed) – блоку адресов назначена физическая память либо часть файла подкачки.

2. Зарезервирован (reserved) – блок адресов помечен как занятый, но физическая память не распределена.

3. Свободен (free) – блок адресов не выделен и не зарезервирован.

 

Функции API для работы виртуальной памятью:

Для резервирования региона памяти в адресном пространстве процесса или выделения ее используется функция VirtualAlloc, а для освобождения – функция VirtualFree. Для работы в адресном пространстве произвольного процесса необходимо использовать функции VirtualAllocEx и VirtualFreeEx.

Выделенные страницы можно заблокировать в памяти, т.е. запретить их вытеснение в файл подкачки. Для этих целей служит пара функций VirtualLock и VirtualUnlock. Процессу не разрешается блокировать более 30 страниц.

Для изменения атрибутов защиты регионов используются функции VirtualProtect и VirtualProtectEx. Причем, первая позволяет изменять атрибуты защиты в адресном пространстве текущего процесса, а вторая – произвольного.

 

LPVOID VirtualAlloc (

LPVOID lpAddress, // адрес, по которому надо зарезервировать

// или выделить память

DWORD dwSize, // размер выделяемого региона

DWORD flAllocationType, // тип распределения памяти

DWORD flProtect // тип защиты доступа

);

 

LPVOID VirtualAllocEx (

HANDLE hProcess, // дескриптор процесса

LPVOID lpAddress, // адрес, по которому надо зарезервировать

// или выделить память

DWORD dwSize, // размер выделяемого региона

DWORD flAllocationType, // тип распределения памяти

DWORD flProtect // тип защиты доступа

);

 

Функции API для работы с ВП: VirtualAlloc

Параметр flAllocationType может принимать следующие значения:

1. MEM_RESERVE - резервирует блок адресов без выделения памяти;

2. MEM_COMMIT - отображает ранее зарезервированный блок адресов на физическую память или файл подкачки, выделяя при этом память. Может комбинироваться с флагом MEM_RESERVE для одновременного резервирования и выделения;

3. MEM_TOP_DOWN - выделяет память по наибольшему возможному адресу. Имеет смысл только при lpAddress = NULL. В Windows 95 игнорируется.

4. MEM_DECOMMIT - освободить выделенную память;

5. MEM_RELEASE - освободить зарезервированный регион. При использовании этого флага параметр dwSize должен быть равен нулю.

 

Параметр flProtect - тип защиты доступа выделяемого региона:

1. PAGE_READONLY - допускается только чтение;

2. PAGE_READWRITE - допускается чтение и запись;

3. PAGE_EXECUTE - допускается только выполнение;

4. PAGE_EXECUTE_READ - допускается исполнение и чтение;

5. PAGE_EXECUTE_READWRITE - допускается выполнение, чтение и запись;

6. PAGE_GUARD - дополнительный флаг защиты, который комбинируется с другими флагами. При первом обращении к странице этот флаг сбрасывается и возникает исключение STATUS_GUARD_PAGE. Этот флаг используется для контроля размеров стека с возможностью его динамического расширения;

7. PAGE_NOCACHE - запрещает кэширование страниц. Может быть полезен при разработке драйверов устройств (например, данные в видеобуфер должны переписываться сразу, без кэширования).

BOOL VirtualFree (

LPVOID lpAddress, // адрес региона, который надо освободить

DWORD dwSize, // размер освобождаемого региона

DWORD dwFreeType // тип освобождения

);

 

dwSize – размер, если мы будем использовать тип освобождения, как MEM_RELEASE, то размер должен быть установлен в 0.

 

dwFreeType – будет определять какая операция произойдет с памятью:

1. MEM_RELEASE – освобождена;

2. MEM_DECOMMIT – зарезервирована, но не используется.

 

При успешном выполнении функция вернет TRUE в случае успеха и FALSE - в случае неудачи.

BOOL VirtualFreeEx (

HANDLE hProcess, // дескриптор процесса

LPVOID lpAddress, // адрес региона, который надо освободить

DWORD dwSize, // размер освобождаемого региона

DWORD dwFreeType // тип освобождения

);

 

Для изменения атрибутов защиты регионов используются функции VirtualProtect и VirtualProtectEx.

VirtualProtect позволяет изменять атрибуты защиты в адресном пространстве текущего процесса.

VirtualProtectEx позволяет изменять атрибуты защиты в адресном пространстве произвольного процесса.

 

BOOL VirtualProtect (

LPVOID lpAddress, // адрес региона для установки флага
DWORD dwSize, // размер региона
DWORD flNewProtect, // флаг

PDWORD lpflOldProtect // адрес для сохранения старых флагов

);

 

Функция VirtualLock() позволят предотвратить запись памяти на диск.

BOOL VirtualLock (

LPVOID lpAddress, // адрес начала памяти

SIZE_T dwSize // количество байтов

);

 

Если фиксация больше не нужна, то ее можно убрать функцией VirtualUnlock().

BOOL VirtualUnlock (

LPVOID lpAddress, // адрес начала памяти

SIZE_T dwSize // количество байтов

);

 

При успешном выполнении обе функции возвращают ненулевое значение.

Функции VirtualQueryи VirtualQueryEx позволяют определить статус указанного региона адресов.

Процессу не разрешается блокировать более 30 страниц.

Для настройки рабочего множества процесса может использоваться и функция SetProcessWorkingSetSize, которая может снять это ограничение.

SetProcessWorkingSetSize позволяет задать для процесса минимальный и максимальный размер рабочего множества процесса.

 

BOOL SetProcessWorkingSetSize (

HANDLE hProcess, // дескриптор процесса

DWORD dwMinimumWorkingSetSize, // мин. размер рабочего мн-ва процесса, в байтах

DWORD dwMaximumWorkingSetSize // макс. размер рабочего мн-ва процесса, в байтах

);

 

Если и dwMinimumWorkingSetSize и dwMaximumWorkingSetSize имеют значение (минус) 1, функция временно урезает рабочее множество процесса до нуля. Это, по существу, выносит процесс за пределы физической оперативной памяти.

Аналогичный результат достигается с помощью функции EmptyWorkingSet.

Дескриптор процесса должен иметь права доступа PROCESS_SET_QUOTA.

Если значения dwMinimumWorkingSetSize или dwMaximumWorkingSetSize больше, чем текущий размер рабочего множества памяти процесса, данный процесс должен иметь привилегию SE_INC_BASE_PRIORITY_NAME.

 

Получение справочной информации по ВП процесса:

GetProcessWorkingSetSize – получение текущих значений минимального и максимального размера рабочего множества процесса.

GetProcessMemoryInfo – получение расширенной статистики по использованию ВП процесса, например:

1. количество страничных прерываний;

2. текущий и пиковый размер рабочего множества процесса;

3. текущее и пиковое использование файла подкачки.

 

12. Архитектура памяти в MS Windows 200-2003. Организация «динамической» виртуальной памяти. Назначение и преимущество по сравнению с кучами ANSI C. Функции Win32 API.

Кучи (heaps) – это динамически распределяемые области данных.

При порождении процесса ему предоставляется куча размером 1 Мбайт по умолчанию. Ее размер может изменяться параметром /HEAP при построении исполняемого модуля.

Функции библиотеки времени исполнения компилятора CRT (malloc(), free() и т. д.) используют возможности куч.

Создание дополнительных «куч»:

- для повышения эффективности управления памятью;

- для уменьшения рабочего множества процесса ;

- для повышения эффективности работы многонитевых приложений;

- для “защиты” друг от друга различных структур данных;

- для быстрого освобождение всей памяти в куче.

 

Повышение эффективности управления памятью:

В системах со страничной организацией отсутствует проблема фрагментации физической памяти. Однако существует проблема фрагментации адресного пространства. В 4Gb адресном пространстве эта проблема не актуальна, но она имеет значение в 1Mb куче.

Если элементы какой-либо структуры имеют один размер, а элементы другой структуры - другой размер, то полезно размещать эти структуры в разных кучах.

Уменьшение рабочего множества процесса:

В соответствии с принципом локальности, работа с разными структурами, чаще всего, происходит не одновременно. Границы элементов разных структур не выровнены на границу страницы.

Обращение к элементам одной структуры вызывает подкачку всей страницы, а, значит и элементов другой структуры. Это увеличивает рабочее множество процесса.

Функции создания и использования «куч»:

HANDLE GetProcessHeap (VOID ) – для получения дескриптора кучи по умолчанию;

LPVOID HeapAlloc (HANDLE hHeap, DWORD dwFlags, DWORD dwSize) – для выделения из кучи блока памяти заданного размера и возвращения указателя;

LPVOID HeapReAlloc (HANDLE hHeap, DWORD dwFlags, LPVOID lpOldBlock, DWORD dwSize) – для изменения размера выделенного блока памяти с возможностью перемещения блока при необходимости;

BOOL HeapFree (HANDLE hHeap, DWORD dwFlags, LPVOID lpMem) – для освобождения выделенного блока памяти кучи.

 

Создание и уничтожение «кучи»:

 

HANDLE HeapCreate (

DWORD dwFlags,

DWORD dwInitialSize,

DWORD dwMaximumSize

);

BOOL HeapDestroy ( HANDLE hHeap);

 

Создание «кучи» - dwFlags:

HEAP_GENERATE_EXCEPTIONS – указывает системе на то, что в случае возникновения ошибки необходимо генерировать исключительную ситуацию. Это будет происходить во всех случаях, когда функция должна была бы возвратить значение null.

HEAP_NO_SERIALIZE – указывает, что пока выполняется текущий вызов HeapAlloc, к куче не будут происходить обращения из других потоков (т.е. программист сам берет на себя исключение ситуаций одновременных обращений).

HEAP_ZERO_MEMORY – указывает, что выделяемая память должна инициализироваться нулями. В противном случае память не обязательно инициализируется нулями.

Дополнительные возможности по управлению «кучами»:

UINT HeapCompact (HANDLE hHeap, DWORD fdwFlags);

BOOL HeapLock (HANDLE hHeap);

BOOL HeapUnlock (HANDLE hHeap);

BOOL HeapWalk (HANDLE hHeap, PPROCESS_HEAP_ENTRY pHeapEntry);

 

– Конец работы –

Эта тема принадлежит разделу:

Определение ОС. Функции ОС. Процессы и потоки. Классификация ОС. История развития

Определение ОС... Операционная система ОС комплекс системных программ обеспечивающий... Критерием эффективности ОС может быть например пропускная способность число выполненных задач за единицу времени...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Архитектура API управления памятью.

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Машинный язык.
Микропрограмма действует просто как интерпретатор, который получает машинные команды, такие как MOVE, JUMP или ADD, и выполняет их в несколько маленьких шагов. Набор интерпретируемых инструкций опр

Системное и прикладное ПО.
Операционная система предназначена для тот, чтобы скрыть от пользователя все эти сложности. Она состоит из уровня программного обеспечения, который частично избавляет от необходимости общения с апп

Дополнительная функция ОС.
Кроме основной функции управления ресурсами ВС, от ОС зачастую требуется решение еще одной важной задачи – предоставления программного интерфейса доступа к аппаратным ресурсам в виде некоторой вирт

Процессы и потоки.
Процесс – абстракция, описывающая выполняющуюся программу. Для ОС процесс представляет собой единицу работы, заявку на потребление системных ресурсов. Одним из основных ресурсов является ад

Состояния процессов и потоков.
Выделяют 3 основных дискретных состояния процесса (потока): - Готов к выполнению – ждет ЦП; - Выполняется – выделен ЦП; - Приостановлен (блокирован) – ждет некоторого соб

Поддержка многозадачности.
По числу одновременно выполняемых задач ОС могут быть разделены на два класса: - однозадачные (например, MS-DOS, MSX); - многозадачные (OC EC, UNIX, Windows 9х, NT и выше).

Многозадачность.
Способ распределения процессорного времени между несколькими одновременно существующими в системе задачами (процессами или потоками) в режиме мультипрограммирования во многом определяет специфику О

Дисциплины обслуживания.
Бесприоритетные дисциплины – выбор из очереди производится без учета относительной важности задач и времени их обслуживания. Приоритетное обслуживание – отдельным задачам пре

Поддержка многопользовательского режима.
По числу “одновременно” работающих пользователей ОС делятся на: - однопользовательские (MS-DOS, Windows 3.x, Windows 9x); - многопользовательские (UNIX, Windows NT, 2000-2007).

Многопроцессорная обработка.
Другим важным свойством ОС является отсутствие или наличие в ней средств поддержки многопроцессорной обработки. Мультипроцессирование приводит к усложнению всех алгоритмов управления ресурсами.

Особенности алгоритмов управления ресурсами.
Выше были рассмотрены характеристики ОС, связанные с управлением только одним типом ресурсов – процессором. Важное влияние на облик операционной системы в целом, на возможности ее использования в т

Системы пакетной обработки.
Системы пакетной обработки (batch processing) предназначались для решения задач в основном вычислительного характера, не требующих быстрого получения результатов. Главной целью и критерием

Системы пакетной обработки.
  Для одновременного выполнения выбираются задачи, предъявляющие отличающиеся требования к р

Системы реального времени.
Системы реального времени применяются для управления различными техническими объектами, такими, (станок, научная экспериментальная установка) или технологическими процессами (гальв

Многоуровневая структура.
Развитием монолитного подхода является многоуровневый, когда ОС реализуется как иерархии уровней. Уровни образуются группами функций ОС – файловая система, управление процессами и устройст

Монолитное ядро.
Наиболее распространенным и классическим вариантом реализации ядерного подхода является моноли́тное ядро́. Монолитность ядер усложняет их отладку, понимание кода

Модульное ядро.
Cовременная, усовершенствованная модификация архитектуры монолитных ядер ОС. В отличие от «классических» монолитных ядер, считающихся ныне устаревшими, модульные ядра, как правило, не треб

Достоинства и недостатки микроядра.
При микроядерном построении ОС работает более медленно, так как часто выполняются переходы между привилегированным и пользовательским режимом. Систему проще функционально развивать, добавл

Появление ОС.
Так как ОС появились и развивались в процессе конструирования компьютеров, то эти события исторически тесно связаны. Поэтому чтобы представить, как выглядели ОС, мы кратко рассмотрим следующие друг

Этап (1940-60).
Середина 40-х XX-века – первые ламповые вычислительные устройства. ОС еще не появились, все задачи организации вычислительного процесса решались программистом вручную с пульта управления.

Этап (1965-75).
1965-1975 годы переход к ИС, новое поколение ЭВМ – IBM/360, многопроцессорная ЭВМ для централизованных вычислений. Реализованы основные концепции, присущие современным ОС: - мульт

Этап (1970-80).
Начало 70-х годов – первые сетевые ОС, которые в отличие от многотерминальных ОС позволяли не только рассредоточить пользователей, но и организовать распределенное хранение и обработку данных между

Этап (1980-90).
Постоянное развитие версий ОС UNIX для ЭВМ различных архитектур. Начало 80-х годов – появление персональных компьютеров (ПК), которые стали мощным катализатором для бурног

Операционная система MS Windows 2000 и выше. Общая характеристика и основные функции. Структура MS Windows 2000-2003. Объекты в MS Windows 2000-2003.
  2.2 Основная характеристика Windows 2000-2008.   Система Windows 2000-2008 не является дальнейшим развитием ранее существовавших пр

Краткая характеристика.
  l Многоуровневая ОС. l Ядро работает в защищенном режиме. l Присутствует микроядро, но оно дополнительно не защищено от остальных фрагментов ядра (т.е. по сути при

Структура ядра.
l Исполняющая система, которая включает управление памятью, процессами, потоками, безопасностью, вводом/выводом, межпроцессорными обменами; Важные для производительности О

Типы объектов Windows 2000-2008.
Объекты исполнительной системы (executive object) представляются различными компонентами исполнительной системы. Они доступны программам пользовательского режима (защищенным

Структура объектов Windows 2000-2003.
Имя объекта Делает объект видимым другим процессам для совместного использования Каталог объектов Обеспечивает иерархичес

Защита объектов.
ОС Windows 2000 поддерживает два вида контроля доступа к объектам: - управление избирательным доступом (discretionary access control) – основной механизм контроля д

Избирательный доступ.
Основан на списках контроля доступа (access control list, ACL), которые описывают каким пользователям можно выполнять какие операции. При отсутствии ACL объект является незащищенным, и сис

Кэширование диска.
Перехват запросов к внешним блочным ЗУ, промежуточным программным слоем – подсистемой буферизации (ПБ). ПБ представляет собой буферный пул, располагающийся в ОЗУ, и комплекс программ, упра

RAID - 0.
Представляет собой дисковый массив, в котором данные разбиваются на блоки, и каждый блок записываются (или же считывается) на отдельный диск. Таким образом, можно осуществлять несколько оп

RAID - 1.
Зеркалирование - традиционный способ для повышения надежности дискового массива небольшого объема. В простейшем варианте используется два диска, на которые записываетс

RAID - 4.
Данные разбиваются на блочном уровне. Каждый блок данных записывается на отдельный диск и может быть прочитан отдельно. Четность для группы блоков генерируется при записи и проверяется при чтении.

Сравнение RAID-систем.
  Составные RAID системы: l RAID 0+1 / RAID 1+0 l RAI

Фрагментация и дефрагментация.
Файл, который занимает на диске более одного непрерывного участка, называется фрагментированным. Фрагментация диска- это появление на диске множества свободных учас

Long File Names.
FAT32 преодолела ограничение прежней системы наименования файлов "8.3". В VFAT имя файла может содержать до 255 символов. К счастью, FAT32 воспринимает файлы, которые уже существовали на

Перечень метафайлов
$MFT список содержимого тома NTFS $MFTmirr копия первых 4 записей таблицы MFT $LogFile

Заголовок атрибута
Смещение, байт Размер, байт Описание 0x00 Тип атрибута 0x04

Атрибуты файлов NTFS - 1
Standard Information (стандартная информация) Стандартный атрибут. Дата и время создания и последнего изменения файла, дата и время последнего доступа к файлу

Атрибуты файлов NTFS - 2
Volume Version версия тома, используется только в системных файлах тома Volume Information (информация о томе) Использует

Страничное распределение.
Виртуальное адресное пространство (ВАП) каждого процесса делится на части одинакового, фиксированного для данной ОС размера, называемые виртуальными страницами. Размер страницы кратен степени двойк

Сегментное распределение.
При страничной организации виртуальное адресное пространство процесса делится механически на равные части. Это не позволяет дифференцировать способы доступа к разным частям программы (сегментам), а

Сегментно-страничное распределение.
Данный метод представляет собой комбинацию страничного и сегментного распределения памяти и, вследствие этого, сочетает в себе достоинства обоих подходов. ВАП процесса делится на сегменты,

Проецируемые файлы.
“Как и виртуальная память, проецируемые файлы позволяют резервировать регион адресного пространства и передавать ему физическую память. Различие между этими механизмами состоит в том, что в последн

Взаимодействие процессов через общую область данных
      Для обеспечения когерентности процессы должны работ

Объекты Windows .
Основные понятия: Задание – набор процессов, управляемых как единое целое, с общими квотами и лимитами Процесс – контейнер для ресурс

Процессы.
Процесс – это совокупность системных ресурсов, задействованная для выполнения определенной работы. Понятие "процесс" включает следующее: - исполняемый код;

Потоки.
Поток (нить) – это непрерывная последовательность инструкций, выполняющих определенную функцию. Потоки не имеют собственного адресного пространства и получают доступ к адресному пр

Волокна (fibers).
Введены в Windows 2000 для переноса существующих серверных приложений из UNIX. Реализованы на уровне кода пользовательского режима. В потоке может быть одно или несколько волокон. Для ядра

Планирование загрузки однопроцессорной системы.
  Планирование загрузки процессорного времени: - В Windows реализована вытесняющая многозадачность, при которой ОС не ждет, когда поток сам захочет освободит

Граф состояний потоков в MS Windows 2000-2003. Поток простоя. Принципы адаптивного планирования.
16.1 Граф состояний потоков в MS Windows 2000.

Граф состояний потоков в MS Windows 2000-2003. Особенности планирования в многопроцессорных системах.
17.2 Особенности планирования в многопроцессорных системах.   Управление потоками в МПС: Операционные системы Wind

Граф состояний потоков в MS Windows 2000-2003. Особенности планирования в ОС MS Windows Vista и Server 2008.
18.2 Особенности планирования в ОС MS Windows Vista и Server 2008.   Проблема неравномерного распределения ресурсов процессора:

Планирование загрузки процессорного времени в MS WINDOWS 2000-2003. Функции WIN 32 API создания и завершение процессов и потоков, управление потоками
  Планирование загрузки процессорного времени: В Windows реализована вытесняющая многозадачность, при которой ОС не ждет, когда поток сам захочет освободить

Параметры создания потока
Параметр psa является указателем на структуру SECURITY_ATTRIBUTES. Если Вы хотите, чтобы объекту ядра "поток" были присвоены атрибуты за

Функция CreateRemoteThread
Функция CreateRemoteThread создает поток, который запускается в виртуальном адресном пространстве другого процесса.   HANDLE Cre

Приоритеты потоков
Приоритет Назначение THREAD_PRIORITY_ABOVE_NORMAL Приоритет на 1 пункт выше класса приоритета. TH

Функция TerminateThread
Вызов этой функции также завершает поток: BOOL TerminateThread( HANDLE hThread, DWORD dwExitCode); В параметр dwExitCode помещается код завершения потока.

Засыпание и переключение потоков
VOID Sleep ( DWORD dwMilliseconds ); Эта функция приостанавливает поток па dwMilliseconds миллисекунд. Отметим несколько важных моментов, с

BOOL SwitchToThread();
Функция SwitchToThread позволяет подключить к процессору другой поток (если он есть). Вызов SwitchToThread аналогичен вызову Sleep с передачей в dwMilliseconds

DWORD SuspendThread(HANDLE hThread);
Засыпание и переключение потоков VOID Sleep ( DWORD dwMilliseconds ); Эта функция приостанавливает поток па dwMilliseconds миллисекунд. Отметим несколько важных моментов, с

Межпроцессорное взаимодействие. Передача информации в MS Windows 2000-2003. Анонимные каналы. Почтовые ящики. Функции WIN 32 API.
  Анонимные каналы Анонимные каналы не имеют имен. Не пригодны для обмена через сеть. Главная цель – служить каналом между родительским и дочерним процессом

Межпроцессорное взаимодействие. Передача информации в MS Windows 2000-2003. Именованные каналы. Почтовые ящики. Функции WIN 32 API.
  Виды межпроцессорного взаимодействия (IPC) Предотвращение критических ситуаций Синхронизация процессов Передача информации от одного процесса другому

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги