Управление памятью и процессорным временем. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Управление памятью и процессорным временем.



Подсистема управления программами не обеспечивает квантования времени между приложениями Windows. Приложения Windows сделаны таким образом, что они сами "добровольно" отдают друг другу процессорное время, обеспечивая так называемую невытесняющую мультизадачность (nonpreemptive multitasking), используя аппарат сообщений. Windows NT создает отдельную виртуальную машину. Благодаря этому приложения Windows NT изолированы друг от друга. Использование отдельных виртуальных машин позволяет реализовать вытесняющую мультизадачность (preemptive multitasking) с выделением каждому приложению квантов времени.

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

Сегменты приложения Windows получают дополнительный атрибут - тип сегмента. Существуют сегменты с фиксированным расположением в оперативной памяти (fixed), перемещаемые (moveable) и удаляемые (discardable). Перемещаемые сегменты могут менять свое расположение в адресном пространстве. Управляет этим, незаметным для приложений, процессом операционная система Windows.

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

Удаляемые (discardable) сегменты обычно используются для хранения выполняемых сегментов или сегментов констант. Если операционной системе Windows требуется получить в свое распоряжение область памяти, она может уничтожить удаляемый сегмент и забрать распределенную для него память. Если впоследствии потребуется восстановить содержимое удаляемого сегмента, Windows выполняет чтение данных сегмента из соответствующего файла.

Помимо описанных выше атрибутов сегменты могут иметь еще два. Можно создать сегменты, загружаемые при запуске приложения (preload) и загружаемые при обращении к ним (loadoncall). Сегменты типа loadoncall не загромождают оперативную память, так как после запуска приложения они остаются на диске и загружаются в память только при необходимости. Причем при составлении программы вам достаточно описать сегмент как loadoncall, после чего Windows будет сама его загружать при обращении к сегменту со стороны приложения.

Windows - приложения могут пользоваться так называемой виртуальной памятью. Виртуальная память позволяет создать иллюзию работы с оперативной памятью огромного размера - десятки и сотни мегабайт. Реально в физической памяти располагаются только те области виртуальной памяти, к которым чаще всего происходит обращение. Остальные области памяти (страницы памяти) хранятся на диске в специальном файле. Виртуальная память облегчает работу с очень большими массивами данных. Можно, например, получить у Windows буфер размером 10 Мбайт и заполнить его содержимым файла, затем выполнить сортировку этого буфера и записать результат в тот же самый или другой файл.

 

Аппаратная независимость

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

Аппаратная независимость означает, что прикладная программа, рабо­тающее в среде Windows на некотором компьютере с определенным набором технических средств будет работать на любом компьютере, на котором работает система Windows. Таким образом, в системе Windows программист свободен при создании программ от особенностей и огра­ничений, накладываемых конкретными техническими устройствами.

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

 

 

Файл определения модуля
Исходный текст на языке СИ
Компилятор СИ
Объектный файл
WINDOWS программа без ресурсов
Компоновка
Заголовочный файл
Библиотечные файлы
Компилятор ресурсов
Текстовый файл ресурсов  
Скомпилированный файл ресурсов
Компилятор ресурсов
Бинарный файл ресурсов  
WINDOWS программа

 



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 151; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.224.33.107 (0.006 с.)