Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Выделение физической памяти под программный код





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

 

11. Потоки. Свойства потоков. Распределение времени между потоками. Классы

приоритета. Уровни приоритета. Относительный уровень приоритета потока.

Потоки отвечают за исполнение программного кода. При создании процесса всегда создаётся первичный поток. По желанию программиста создаются дополнительные потоки. CreateThread() при использовании WinAPI.

Выделив различные задачи, выполняемые процессом в отдельном потоке например позволяет избежать цикла опросов в функции tmain(…) – C++.

Поток может находится в одном из 3-х состояний:

1. Поток фактически работает, при этом в регистре процессора переписывается содержимое структуры CONTEXT(содержит описание регистров, время создания и завершения потока, стартовый адрес потока, и так далее). Все остальные потоки процесса приостанавливаются в случае одного процессора в системе.

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

3. Заблокированное состояние. Поток ожидает некоторого события, например, завершения другого потока.

Объектами синхронизации являются потоки процессы, критические секции, семафоры, события, мьютексы.

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

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

Поток может завладеть или освободить синхронизирующими объектами процесса. Дескриптор потока – это индекс в таблице дескрипторов процесса. Идентификатор потока – это закодированный указатель на базу данных потока (PDB).







Date: 2015-08-15; view: 428; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию