Реферат Архитектура фон Неймана
Работа добавлена на сайт bukvasha.net: 2015-10-28Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
от 25%
договор
Архитектура фон Неймана (англ. von Neumann architecture) — широко известный принцип совместного хранения программ и данных в памяти компьютера. Вычислительные системы такого рода часто обозначают термином «машина фон Неймана», однако, соответствие этих понятий не всегда однозначно. В общем случае, когда говорят об архитектуре фон Неймана, подразумевают физическое отделение процессорного модуля от устройств хранения программ и данных.
Наличие заданного набора исполняемых команд и программ было характерной чертой первых компьютерных систем. Сегодня подобный дизайн применяют с целью упрощения конструкции вычислительного устройства. Так, настольные калькуляторы, в принципе, являются устройствами с фиксированным набором выполняемых программ. Их можно использовать для математических расчётов, но невозможно применить для обработки текста и компьютерных игр, для просмотра графических изображений или видео. Изменение встроенной программы для такого рода устройств требует практически полной их переделки, и в большинстве случаев невозможно. Впрочем, перепрограммирование ранних компьютерных систем всё-таки выполнялось, однако требовало огромного объёма ручной работы по подготовке новой документации, перекоммутации и перестройки блоков и устройств и т. п.
Всё изменила идея хранения компьютерных программ в общей памяти. Ко времени её появления использование архитектур, основанных на наборах исполняемых инструкций, и представление вычислительного процесса как процесса выполнения инструкций, записанных в программе, чрезвычайно увеличило гибкость вычислительных систем в плане обработки данных. Один и тот же подход к рассмотрению данных и инструкций сделал лёгкой задачу изменения самих программ.
Принципы фон Неймана
В 1946 году трое учёных[1] — Артур Бёркс (англ. Arthur Burks), Герман Голдстайн (англ. Herman Goldstine) и Джон фон Нейман — опубликовали статью «Предварительное рассмотрение логического конструирования электронного вычислительного устройства»[2]. В статье обосновывалось использование двоичной системы для представления данных в ЭВМ (преимущественно для технической реализации, простота выполнения арифметических и логических операций — до этого машины хранили данные в десятичном виде[3]), выдвигалась идея использования общей памяти для программы и данных. Имя фон Неймана было достаточно широко известно в науке того времени, что отодвинуло на второй план его соавторов, и данные идеи получили название «принципы фон Неймана».
- Принцип двоичного кодирования.
Для представления данных и команд используется двоичная система счисления.
- Принцип однородности памяти.
Как программы (команды), так и данные хранятся в одной и той же памяти (и кодируются в одной и той же системе счисления — чаще всего двоичной). Над командами можно выполнять такие же действия, как и над данными.
- Принцип адресуемости памяти.
Структурно основная память состоит из пронумерованных ячеек; процессору в произвольный момент времени доступна любая ячейка; память внутренняя.
- Принцип последовательного программного управления.
Все команды располагаются в памяти и выполняются последовательно, одна после завершения другой, в последовательности, определяемой программой.
- Принцип жесткости архитектуры
Неизменяемость в процессе работы топологии, архитектуры, списка команд.
Компьютеры, построенные на этих принципах, относят к типу фоннеймановских.
Компьютеры, построенные на принципах фон Неймана
В середине 1940-х проект компьютера, хранящего свои программы в общей памяти был разработан в Школе электрических разработок Мура (англ. The Moore School of Electrical Engineering) в Университете штата Пенсильвания (англ. The University of Pennsylvania). Подход, описанный в этом документе, стал известен как архитектура фон Неймана, по имени единственного из названных авторов проекта Джона фон Неймана, хотя на самом деле авторство проекта было коллективным. Архитектура фон Неймана решала проблемы, свойственные компьютеру «ЭНИАК», который создавался в то время, за счёт хранения программы компьютера в его собственной памяти. Информация о проекте стала доступна другим исследователям вскоре после того, как в 1946 году было объявлено о создании «Эниака». По плану предполагалось осуществить проект силами Муровской школы в машине EDVAC, однако до 1951 года EDVAC не был запущен из-за технических трудностей в создании надёжной компьютерной памяти. Другие научно-исследовательские институты, получившие копии проекта, сумели решить эти проблемы гораздо раньше группы разработчиков из Муровской школы и реализовали их в собственных компьютерных системах. Первыми пятью компьютерами, в которых были реализованы основные особенности архитектуры фон Неймана, были:
- Манчестерский Марк I. Прототип — Манчестерская малая экспериментальная машина. Университет Манчестера (англ. The University of Manchester), Великобритания, 21 июня 1948 года;
- EDSAC. Кембриджский университет (англ. The Cambridge University), Великобритания, 6 мая 1949 года;
- BINAC. США, апрель или август 1949 года;
- CSIR Mk 1. Австралия, ноябрь 1949 года;
- SEAC. США, 9 мая 1950 года.
1 Понятие архитектуры ЭВМ. Принципы фон Неймана
Архитектурой ПК называется его описание на некотором общем уровне включающее описание пользовательских возможностей программирования систем команд систем адресации организации памяти Архитектура определяет принцип действия, информационные связи взаимное соединение основных логических узлов компьютера: процессора; оперативного ЗУ, Внешних ЗУ и периферийных устройств.
Классические принципы построения архитектуры ЭВМ были предложены в 1946 году и известны как принципы фон Неймана".
Они таковы:
Использование двоичной системы представления данных
Авторы убедительно продемонстрировали преимущества двоичной системы для технической реализации, удобство и простоту выполнения в ней арифметических и логических операций. ЭВМ стали обрабатывать и нечисловые виды информации - текстовую, графическую, звуковую и другие, но двоичное кодирование данных по-прежнему составляет информационную основу любого современного компьютера.
Принцип хранимой программы Нейман первым догадался, что программа может также храниться в виде нулей и единиц, причем в той же самой памяти, что и обрабатываемые ею числа. Отсутствие принципиальной разницы между программой и данными дало возможность ЭВМ самой формировать для себя программу в соответствии с результатами вычислений. Устройство управления (УУ) и арифметико-логическое устройство (АЛУ) в современных компьютерах объединены в один блок - процессор, являющийся преобразователем информации, поступающей из памяти и внешних устройств.
Память (ЗУ) хранит информацию (данные) и программы. Запоминающее устройство у современных компьютеров "многоярусно" и включает оперативное запоминающее устройство (ОЗУ) и внешние запоминающие устройства(ВЗУ).
ОЗУ- это устройство, хранящее ту информацию, с которой компьютер работает непосредственно в данное время (исполняемая программа, часть необходимых для нее данных, некоторые управляющие программы).
ВЗУ- устройства гораздо большей емкости, чем ОЗУ, но существенно более медленны.
Принцип последовательного выполнения операций
Структурно основная память состоит из пронумерованных ячеек. Процессору в произвольный момент времени доступна любая ячейка. Отсюда следует возможность давать имена областям памяти, так, чтобы к запомненным в них значениям можно было бы впоследствии обращаться или менять их в процессе выполнения программы с использованием присвоенных имен.
Принцип произвольного доступа к ячейкам оперативной памяти
Программы и данные хранятся в одной и той же памяти. Поэтому ЭВМ не различает, что хранится в данной ячейке памяти - число, текст или команда. Над командами можно выполнять такие же действия, как и над данными.
Устройство ввода-вы́вода — компонент типовой архитектуры ЭВМ, предоставляющий компьютеру возможность взаимодействия с внешним миром и, в частности, с пользователями и другими компьютерами.
1.6. Устройства ввода-вывода информации
Человек взаимодействует с информационными системами главным образом через устройства ввода-вывода (input-output devices). Прогресс в области информационных технологий достигается не только благодаря возрастающей скорости процессоров и емкости запоминающих устройств, но также за счет совершенствования устройств ввода и вывода данных. Устройства ввода-вывода называются также периферийными устройствами (peripheral devices).
Устройства ввода данных
Клавиатура
Клавиатура (
keyboard
) – традиционное устройство ввода данных в компьютер. Клавиатурами оснащены как персональные компьютеры, так и терминалы мэйнфреймов. Клавиатура современного компьютера содержит обычно 101 или 102 клавиши, разделенные на 4 блока:
| алфавитно-цифровой блок – содержит клавиши латинского и национального алфавитов, а также клавиши цифр и специальных символов; |
| блок управляющих клавиш; |
| блок расширенной цифровой клавиатуры; |
| блок навигации. |
Компьютерная мышь
Мышь (
mouse
) была разработана довольно давно (в 60-х годах), но стала широко использоваться только с приходом в мир персональных компьютеров графического пользовательского интерфейса. Обычно мышь, как и клавиатура, подключается к компьютеру с помощью кабеля. Пользоваться мышью легко – вы передвигаете ее по столу, а на экране компьютера синхронно перемещается курсор. Чтобы активизировать некоторую опцию, нужно щелкнуть левой (left
) клавишей мыши. С помощью мыши можно также "рисовать" на экране картинки.
Сенсорные экраны
Сенсорные экраны (
touch
screens
) предназначены для тех, кто не может пользоваться обычной клавиатурой. Пользователь может ввести символ или команду прикосновением пальца к определенной области экрана. Сенсорные экраны используются в основном на сладах продукции, в ресторанах, супермаркетах. К примеру, в магазинах Muse Inc. (Бруклин), продающей компакт-диски, можно прослушать желаемую композицию, прикоснувшись пальцем к ее названию на экране компьютера. Слушая выбранную мелодию, вы можете одним прикосновением вызвать список других композиций исполнителя.
Устройства автоматизированного ввода информации
Устройства этого типа считывают информацию с носителя, где она уже имеется. Примерами таких систем могут служить кассовые терминалы, сканеры штрих-кодов и другие системы оптического распознавания символов. Одно из преимуществ устройств автоматизированного ввода данных состоит в том, что при их использовании исключаются некоторые ошибки, неизбежные при вводе информации с клавиатуры. Сканер штрих-кодов делает менее чем одну ошибку на 10000 операций, в то время как обученный наборщик ошибается один раз при вводе каждых 1000 строк.
Основные вида устройств автоматизированного ввода информации – системы распознавания магнитных знаков, системы оптического распознавания символов, системы ввода информации на базе светового пера, сканеры, системы распознавания речи, сенсорные датчики и устройства видеозахвата.
Системы распознавания магнитных знаков (Magnetic Inc Character Recognition, MICR) используются в основном в банковской сфере. В нижней части обычного банковского чека находится код, нанесенный специальными магнитными чернилами. В коде содержится номер банка, номер расчетного счета и номер чека. Система считывает информацию, преобразовывает ее в цифровую форму и передает в банк для обработки.
Системы оптического распознавания символов (Optical Character Recognition, OCR) преобразуют специальным образом нанесенную на носитель информацию в цифровую форму. Наиболее широко используемые устройства этого типа – сканеры штрих-кодов (bar
-
code
scanners
), которые применяются в кассовых терминалах магазинов. Эти системы используются также в больницах, библиотеках, на военных объектах, складах продукции и в компаниях по перевозке грузов. В дополнение к данным, идентифицирующим предмет, на который нанесен штрих-код, последний может содержать информацию о времени, дате и физическом положении предмета; таким образом, можно, например, отслеживать передвижение груза.
Ручные устройства распознавания информации, такие как перьевые планшеты, особенно полезны для людей, работающих в сферах сбыта продукции и сервиса – такие работники избегают "общения" с клавиатурой. Устройства перьевого ввода обычно содержат плоский экран и световое перо, похожее на шариковую ручку. Перьевые планшеты преобразуют буквы и цифры, написанные пользователем на экране, в цифровую форму, и передают эти данные в компьютер для обработки. Например, United Parcel Service (UPS), известнейшая в мире компания по доставке грузов, заменила обычные планшеты с листками бумаги, использовавшиеся водителями, на портативные перьевые планшеты. Эти устройства используются для подтверждения заказов, и передачи другой информации, необходимой для погрузки и доставки грузов. К недостаткам систем данного вида следует отнести недостаточную точность распознавания информации, написанной от руки.
Сканеры (scanners
) преобразуют в цифровую форму графическую информацию (рисунки, чертежи и пр.) и большие объемы текстовой информации. Системы распознавания речи (voice
input
devices
) преобразуют в цифровую форму произносимые пользователем слова. Существует два режима работы подобных устройств. В режиме управления (command mode) вы произносите команды (такие как "открыть документ", "запустить программу" и т.д.), которые выполняются компьютером. В режиме диктовки (dictation mode) можно надиктовывать компьютеру любой текст. К сожалению, точность распознавания речи таких систем оставляет желать лучшего. Человеческий голос имеет множество оттенков, на точность распознавания может повлиять интонация, громкость речь, окружающий шум, даже банальный насморк. Тем не менее, работа над совершенствованием этих устройств ввода информации продолжается и, несомненно, у них большое будущее. Некоторые отделения Почтовой службы США используют системы распознавания речи для повышения эффективности труда работников, занятых упаковкой и сортировкой почтовых грузов. Вместо того чтобы вводить ZIP-код, работник произносит его, в то время как его руки заняты упаковкой.
Сенсорные датчики (sensors
) – это устройства для ввода в компьютер пространственной информации. Например, корпорация General Motors использует сенсоры в своих легковых автомобилях для передачи в бортовой компьютер машины данных об окружающем пространстве и маршруте. Сенсорные датчики также нашли применение в системах виртуальной реальности, игровых приставках и симуляторах.
Устройства видеозахвата (video
capture
devices
) представляют собой небольшие цифровые видеокамеры, соединенные с компьютером. Устройства видеозахвата применяются в основном в системах видеоконференций, которые получают все большее распространение. Благодаря развитию локальных сетей и Интернет, появилась возможность организовывать видеоконференцсвязь, находясь в любой точке планеты.
Устройства вывода информации
Основные устройства вывода информации – мониторы и принтеры.
Мониторы
Мониторы (
monitors
) – наиболее популярные устройства отображения информации. Основа большинства современных мониторов – электронно-лучевая трубка, ЭЛТ (cathode
ray
tube
,
CRT
). По принципу работы ЭЛТ напоминают кинескопы, используемые в обычных телевизорах – электронная пушка испускает пучок электронов, высвечивающих на экране картинку, состоящую из точек (pixels). Чем больше точек может вместить экран, тем выше разрешение (resolution
) монитора. Большинство мониторов поддерживают режимы разрешения 800x600 и 1024x768 точек. Кроме разрешения, мониторы характеризуются следующими параметрами, определяющими качество изображения:
| размер зерна ( dot size ), дюйм (inch) – физический размер одной точки экрана монитора. Чем меньше размер зерна, тем выше качество изображения. Большинство мониторов бизнес-класса имеют размер зерна, равный 0.28 дюйма; |
| размер ЭЛТ по диагонали ( CRT size ), дюйм (inch). Еще недавно стандартом был размер ЭЛТ 14 дюймов, но сейчас в сфере бизнеса применяют мониторы с размерами ЭЛТ 15, 17, 19 и 21 дюйм; |
| частота развертки ( refresh frequency ), Гц (Hz) – частота смены кадров. Чем выше частота развертки, тем меньше устают глаза пользователя. Относительно безопасной является частота развертки от 85 Гц и выше. |
Принтеры
Принтеры (
printers
) выполняют печать информации на бумаге или пленке (результат, получаемый при печати, называют твердой копией [hard
copy
]).
Принтеры бывают матричные (dot
matrix
), струйные (inkjet
), лазерные (laser
) и термографические (thermal
transfer
). К последним относятся сублимационные и твердочернильные. Большинство принтеров печатают от 2 до 8 страниц в минуту. Линейно-матричные принтеры могут печатать до 20000 строк в минуту.
Основные характеристики принтеров:
| разрешение ( resolution ) – количество точек на один квадратный дюйм. Чем выше разрешение, тем качественнее печать. Матричные принтеры обеспечивают сравнительно низкое разрешение – от 80 до 200 точек на кв. дюйм; струйные – до 720, лазерные – до 1200, термографические – от 1200 до 5000 точек на кв. дюйм; |
| скорость печати ( speed ), страниц в минуту (ppm). Скорость печати варьируется от 2 ppm у матричных принтеров до 4-6 ppm у струйных и 4-8 ppm у лазерных. Мощные лазерные и термографические принтеры способны выводить на печать до 100 страниц в минуту; |
| поддержка цветной печати ( color ) – очень важное свойство для тех, кто занимается компьютерной графикой и дизайном. Также очень удобно пользоваться цветными принтерами при печати графиков и диаграмм. В качестве устройств цветной печати используются в основном струйные принтеры. Возможности цветной печати есть и у других типов принтеров. Однако, матричные цветные принтеры неудобны в управлении и не обеспечивают приемлемое качество печати. Лазерные и термографические принтеры способны обеспечить высочайшее качество изображения, но эти печатающие устройства пока слишком дороги для применения в бизнесе. |
Другие устройства вывода информации
Высококачественные графические документы могут быть созданы при использовании графопостроителей (plotters
). Графопостроители оснащаются набором перьев, в который входят рапидографы для рисования линий разной толщины и разного цвета. Плоттеры несколько медленнее принтеров, зато позволяют получать документы больших размеров – чертежи, карты, схемы.
Системы синтеза человеческого голоса (voice output devices) используются в современном программном обеспечении в основном для поддержки людей с ослабленным слухом или зрением. Такая система способна произносить содержимое экрана, преобразуя текстовую информацию в человеческую речь.
Запоминающее устройство — носитель информации, предназначенный для записи и хранения данных. В основе работы запоминающего устройства может лежать любой физический эффект, обеспечивающий приведение системы к двум или более устойчивым состояниям.
УСТРОЙСТВО УПРАВЛЕНИЯ ЭВМ
УСТРОЙСТВО УПРАВЛЕНИЯ ЭВМ, координирует совместную работу процессора, внешней памяти, устройств ввода-вывода и др. посредством управляющих сигналов, вырабатываемых устройством управления в соответствии с реализуемой программой.
3.4. Арифметико-логическое устройство
Арифметико-логическое устройство (АЛУ, ALU) выполняет арифметические и логические операции между регистрами или между константой и регистром. Им также могут выполняться операции над одним регистром. АЛУ напрямую подключено ко всем 32 регистрам общего назначения. При выполнении типичной одноцикловой операции в АЛУ, два операнда берутся из регистрового файла, затем, над ними выполняется операция, а результат возвращается обратно в регистровый файл.
При необходимости обработки данных из памяти данных, их необходимо вначале поместить в регистровый файл. После выполнения операции над ними, данные перезаписываются обратно в память данных из регистрового файла. Операции АЛУ разделяются на три основные категории: арифметические, логические и битовые функции. После выполнения арифметической или логической операции обновляется содержимое регистра статуса, тем самым, сигнализируя о результате операции.
Управление памятью
Windows NT поддерживает сегментностраничную модель виртуальной памяти и использует для этих целей аппаратную поддержку таких процессоров как Intel 80386 и выше, MIPS R4000, DEC Alpha и Power PC. Для этого в NT executive имеется специальный компонент – менеджер виртуальной памяти.
Менеджер ВП обеспечивает для процессов следующие наборы функций:
- управление виртуальным адресным пространством процесса;
- разделение памяти между процессами;
- защита виртуальной памяти одного процесса от других процессов.
Средства защиты памяти в Windows NT существуют в четырех формах.
- Отдельное адресное пространство для каждого процесса. Аппаратура запрещает нити доступ к физическим адресам другого процесса.
- Два режима работы: режим ядра, в котором нитям разрешен доступ к системным данным, и пользовательский режим, в котором это запрещено.
- Страничный механизм защиты. Каждая виртуальная страница имеет набор признаков, который определяет разрешенные типы доступа в пользовательском режиме и в режиме ядра.
- Объектно-ориентированная защита памяти. Каждый раз, когда процесс открывает указатель на секцию, монитор ссылок безопасности проверяет, разрешен ли доступ процесса к данному объекту.
Каждый раз, когда нить использует адрес, менеджер ВП вместе с аппаратными средствами транслирует виртуальный адрес в физический. Подсистема виртуальной памяти, управляя процессом трансляции виртуальных адресов, гарантирует, что нить одного процесса не сможет получить доступ к физической странице памяти, относящейся к другому процессу.
В дополнение к прямой защите, обеспечиваемой механизмом трансляции, каждый процессор, который поддерживает виртуальную память, реализует некоторую форму аппаратно-управляемой защиты памяти. Часто аппаратная защита бывает минимальной. Из-за этого менеджер виртуальной памяти Windows NT в гораздо большей степени зависит от аппаратуры, чем другие части операционной системы.
Каждый процесс NT executive имеет большое виртуальное адресное пространство размером в 4Гб, из которых 2 Гб резервируются для системных нужд. (Процессор MIPS R4000 требует, чтобы 2 Гб адресного пространства были зарезервированы для системы. Хотя другие процессоры требуют меньше, для переносимости системы Windows NT всегда резервирует 2 Гб.) Младшие адреса виртуального адресного пространства доступны для нитей, работающих и в пользовательском, и в привилегированном режимах, они указывают на области памяти, уникальные для каждого процесса. Старшая часть адресов доступна для нитей только тогда, когда они выполняются в привилегированном режиме. Виртуальное адресное пространство процесса показано на рисунке 1.4.
В нижней (младшей) части системной области памяти располагаются код и данные ядра, они никогда не вытесняются из памяти. Поскольку адреса из этого диапазона транслируются аппаратурой и всегда бывают действительными, доступ к этой области памяти осуществляется очень быстро. Она используется для тех частей ядра, от которых требуется максимальная производительность, например, для кода, который диспетчирует нити.
Верхняя часть системной памяти управляется менеджером виртуальной памяти и используется для хранения остальных системных данных и кода. Часть этой области резервируется для кода и данных, которые могут быть вытеснены на диск с помощью страничного механизма, а другая часть никогда не вытесняется из памяти (в ней, например, размещается код, который осуществляет страничный обмен).
В составе менеджера виртуальной памяти имеется такой компонент, как пейджер (pager). Этот код перемещает страницы между диском и памятью, представляя собой промежуточное звено между аппаратными механизмами и программно-реализуемыми стратегиями. В его функции входит:
- загрузка страницы в память при возникновении страничного прерывания,
- проверка прав доступа к отсутствующим страницам и дополнение аппаратных средств защиты страниц, загруженных в память,
- обновление структур данных подсистемы управления памятью.
Процесс принятия решения о замене страниц системой виртуальной памяти обычно включает три фазы: извлечение, размещение, замена.
Этап извлечения связан с выбором условия, при выполнении которого страница перемещается с диска в память. Существует два типа стратегий извлечения: с упреждением, когда страницы загружаются в память до того, как они оказываются необходимыми процессу, и стратегии загрузки по требованию, в соответствии с которыми страница перемещается в память только при наступлении страничного прерывания. При использовании стратегий “по требованию” при старте каждой нити происходит интенсивная загрузка страниц. Эти страницы называются начальным набором страниц. После загрузки начального набора интенсивность загрузки страниц заметно уменьшается.
Менеджер виртуальной памяти Windows NT использует стратегию “по требованию” с кластеризацией. При возникновении страничного прерывания менеджер виртуальной памяти загружает в память вызвавшую прерывание страницу, а также небольшое количество окружающих ее страниц. Эта стратегия пытается минимизировать количество страничных прерываний.
Этап размещения. Набор правил, используемых для определения места размещения новой страницы в памяти, называется стратегией размещения. В Windows NT менеджер виртуальной памяти просто выбирает первую страницу из списка свободных физических страниц. База данных физических страниц – это массив записей, пронумерованных от 0 до максимального номера страницы, зависящего от объема памяти. Каждая запись содержит информацию о соответствующей физической странице. Менеджер виртуальной памяти использует прямые связи в случае, когда процесс запрашивает доступ к виртуальному адресу в действительной виртуальной странице.
Этап замещения. Если при возникновении страничного прерывания в физической памяти нет свободных страниц, то используется стратегия замещения, которая определяет, какую виртуальную страницу нужно удалить из памяти для освобождения места для размещения новой страницы.
Менеджер виртуальной памяти Windows NT использует локальный алгоритм FIFO (First Input First Output). В соответствии с алгоритмом FIFO из памяти удаляется та страница, которая дольше всего там находится. Локальность в данном случае означает, что поиск страницы-кандидата на выгрузку осуществляется только среди страниц того процесса, который требует загрузки новой страницы. Существуют и глобальные стратегии, в соответствии с которыми поиск замещаемой страницы выполняется на множестве страниц всех процессов. Локальный вариант стратегии не дает одному процессу возможность захватить всю имеющуюся память.
Когда процесс стартует, ему назначается минимальный рабочий набор страниц. Процесс может его увеличивать до некоторого максимального размера. Если процесс требует еще больше страниц, то менеджер виртуальной памяти удаляет из рабочего набора по одной странице при загрузке каждой новой страницы. Когда размер свободной физической памяти уменьшается до некоторой критической границы, то менеджер виртуальной памяти использует прием, называемый автоматическим триммингом рабочего набора. Он просматривает страницы каждого процесса, находящиеся в памяти, сравнивает их количество с минимальным размером рабочего набора и удаляет избыточные страницы из памяти.
В Windows NT реализована сегментно-страничная модель распределения памяти. Для хранения информации о состоянии виртуальных сегментов используется набор структур, называемых дескрипторами виртуальных адресов. Когда процессу назначается новая область памяти, менеджер виртуальной памяти создает дескриптор, в котором хранится вся информация, связанная с этой областью, такая как диапазон адресов, признаки того, является ли память разделяемой или частной, будет ли процесс-потомок наследовать содержимое этой области, признаки защиты. Затем дескриптор встраивается в двоичное дерево дескрипторов данного процесса, используемое для ускорения поиска.
Для снижения объема вычислений, затрачиваемых на работу менеджера виртуальной памяти, в Windows NT минимизируется количество страничных прерываний. Для этого предпринимаются следующие меры:
- Каждому процессу предоставляется рабочий набор страниц достаточно большого размера, чтобы избежать частых страничных отказов.
Менеджер виртуальной памяти производит автоматический тримминг рабочего набора каждого процесса, чтобы сделать доступными для других процессов области памяти, занимаемые редко используемыми страницами.