Studopediya

КАТЕГОРИЯ:


Сегмент-пейджинг виртуална памет

Сегмент организация на виртуалната памет

Пейджинг виртуална памет

Виртуална памет. размяна

Алгоритми за разпределение на паметта


системи за управление на паметта са разделени в два класа: системи се движат процеси между основната памет и диск по време на тяхното изпълнение и системи, които не използват външна памет (Фигура 5.11 ..). За различни периоди на развитие на операционни системи, се характеризира с общ подход за разпределение на паметта. Някои важни и широко използвани в съвременните операционни системи, други се използват само в специализирани приложения.

1. единен многозадачна система без виртуална памет на диска. Най-простият схемата за управление на паметта е, че във всеки един момент от време е само една програма, а паметта е споделена между програмите и операционната система (фиг. 5.12.). Операционната система може да бъде:

- В дъното на паметта (RAM) - модел беше приложен към мейнфрейм и мини-компютри, които в момента не са в употреба;

- В горната част на паметта (ROM) - схемата се осъществява на някои преносими компютри, и вградени системи;

- Драйвери на устройства могат да бъдат на върха (в ROM), а останалата част от RAM паметта на системата, разположена под - модел е създаден в началото на персонални компютри (например, работещи под управлението на MS-DOS).

В такава организация на системата във всеки даден момент могат да използват само един процес. Веднага след като потребителят команда, системата копия на операционни исканата програма от диска в паметта и да го изпълнява, и показва процеса след края на подканите на екрана, и символ на новия екип чака. След получаване на командата, тя зарежда нова програма в паметта, то писането на върха на предишния.


2. многозадачност нас. Повечето съвременни системи могат едновременно да работят множество процеси. Като множество процеси, работещи във всеки един момент, което означава, че когато един процес е спряно до приключване на входно-изходни операции, може да използвате различен CPU. По този начин, многозадачност увеличава натоварването на процесора.

Метод 1 .Raspredelenie прегради фиксирана памет. Това е най-простият начин да се управлява с памет, което е дял памет в няколко области (раздели) на фиксирана стойност. Разделяне на паметта ръчно от оператора по време на стартиране на системата, или по време на неговата настройка, след това преградни граници не са се променили. Задачи, изпълнявани от подсистемата за управление на паметта на:

- Сравнение на размера на паметта, необходима за да влиза отново в процеса, с размера на свободните участъци и изборът на подходящ раздел размер;

- Процес Loading в избрания дял и изберете адресите [21].

Когато процесът се изпълнява, е опашката на най-ниската част на памет достатъчно голям, за да го (фиг. 5.13.a) настанят. Тъй като размерът на дяла непроменен, цялото пространство в секцията не се използва процес, работи изчезва. Процес съгласно Подреди отделни опашки резултати в това секции на процеса за една линия, а другият - няма опашка. Алтернативна схема е да се създаде обща линия за всички секции (фиг. 5.14.b). Процесът, който е най-близо до върха на опашката и който е подходящ за прилагане в освободената част е заредена в паметта за преработка.


Тъй като не е желателно да се харчат големи проблеми в малки участъци с помощта на алгоритъм за търсене в по-голямата част от процеса на линията на процеса се поставя в освободената част и последващото му изпълнение. За да се спре една малка част от дискриминация памет малки процеси, създадени или определени правило: в процеса на което има право да избира, може да бъде пропуснат в повечето п пъти. Всеки път, когато се игнорира процеса на подбор на тезгяха добавя единица и при фиксирана стойност на N процеса на опашката вече не се игнорира.

Този метод на управление на паметта [22] се използва в началото multiprogramming оперативни OS / 360 системи. Въпреки това, сега методът се прилага в реално време, системи, благодарение на ниската цена на изпълнение. Determinancy изчислителни системи обработват в реално време (преди известен набор от задачи, техните изисквания за памет, а понякога и моменти на старта) компенсира липсата на гъвкавост на метода на управление на паметта.

Метод 2 .Raspredelenie прегради динамична памет. Всички памет разпределени на заявлението, е безплатно. необходима паметта му [23], разпределени за всяка заявка се изпълнява в етап на процеса на създаване. След приключване на паметта се освобождава, и на място, различно процес може да бъде зареден. По този начин, във всеки даден момент памет е случайна последователност на обитаваните и свободни зони (раздели) от всякакъв размер.


Операционна система функции, предназначени за този метод за управление на паметта:

- Водене на маси на свободните и заети площи, се посочва началото адреса и размера на площите на паметта;

- Анализ на изискванията за зоните за сканиране трапезни памет и свободно секцията избор, размерът на която е достатъчна, за да се настанят на кода и данните на новия процес [24] (при създаването на нов процес);

- Сваляне на програмата в целевите сред вписванията и коригиране маси на свободните и заети площи [25];

- Обновяване на масите на свободните и заети площи след приключване на процеса.

Предимството на метода: гъвкавост фрагментацията недостатък памет - наличието на голям брой не са съседни части (фрагменти) свободна памет е малка по размер. Размери на свободни фрагменти могат да бъдат такива, че процес ще бъде в състояние да се поберат в тях, но общата сума може да надвишава необходимото количество памет.

Заделяне на памет Dynamic разделяне е в основата на управлението на паметта подсистеми много multiprogramming операционни системи 60-70s, например, OS / 360.

Метод 3. Заделяне на памет подвижни прегради. Един от начините за борба с фрагментацията. Всички заети области се движат в посока на старши или младши адреси, и свободна памет образува един регион (фиг. 5.16.).


В допълнение към функциите на предишния метод, операционната система трябва периодично да копирате съдържанието на дяла от едно място на паметта на друг, за адаптиране маси на свободните и заети площи. [26] Процедурата се нарича компресия, и се провежда или в двата края на процеса, или когато новосъздадената процес не е свободен участък с достатъчен размер. В първия случай се изисква по-малко изчислителна работа за регулиране на маси на свободните и заети площи, а във втория случай процедурата е рядко изпълнявани компресия. Въпреки компресия води до по-ефективно използване на памет, но изисква използването на допълнително време, което надхвърля ползите от този метод.

Концепцията за компресия се използва, както и използването на други техники за разпределение на паметта, например, когато се разпределя отделен процес не е един непрекъснат област памет и няколко не-съседни участъци на паметта на произволен размер (сегменти). Методът се използва в по-ранните версии на OS / 2, в която е разпределена памет сегменти, и се наблюдава едновременно фрагментацията елиминира чрез периодично движат сегменти.

Ако използвате методите на паметта за разпределение на базата на използването на външна памет, се прилага по-усъвършенствани подходи. По този начин, за да се изпълни програмата би могла, трябва да се съхранява в паметта. Количеството на RAM влияе върху характера на изчислителния процес чрез ограничаване на броя на едновременно работещи програми и размера на техните виртуални адресни пространства. Ако паметта не е достатъчно, за да гарантира приемливо ниво на multiprogramming се използва метод на организация на изчислителния процес, в който снимки на някои от процесите, изцяло или частично е динамично разтоварени на диск.

В multiprogramming режим в допълнение към активния процес [27], е спряно процеси [28] и процеси в състояние на готовност. [29] Снимки на неактивни процеси временно, докато цикълът на дейност, промие с диск. Ако подходящ изпълнение на всички процеси на един от най-разтоварени, нейното изображение от диск обратно в паметта, когато установи наличието на липса на място в RAM, качен други неактивни процеси на диска. Това виртуализация на паметта [30] ви позволява да се повиши нивото на multiprogramming, като размерът на RAM е увеличен с допълнително количество от него се заема от образа на процеса.

Компютърна памет схема за адресиране, по който се появява непрекъснато и еднообразно софтуер памет, докато в действителност отделни области на различни видове памет, използвани за действително съхранение на данни, включително и в краткосрочен план (бързо) и дългосрочен (HDDs) се нарича виртуална памет. Потребителят пише програма и преводача, използвайки виртуални адреси, тя се превръща в машинен код. Кодове и програма данни, съхранявани на дискове се използват само, когато е необходимо, и се зареждат в реалната памет. Виртуализацията RAM изпълнява набор от операционната система и хардуера на веригите процесор и софтуерни модули изпълнява следните задачи:

- Поставяне на данните в спомените на различни видове (например, поставяне на кода на програмата в паметта, част - от диска);

- Избор на изображения на процеси или части от тях, за да се премине от паметта на диска и обратно;

- Динамичното движение на данни между паметта и диска;

- Конвертиране на виртуални адреси във физически адреси.

виртуализация съхранение се осъществява въз основа на два подхода:

Метод 1: суап (смяна, смяна) - обработва изображенията напълно зачервените на диск и се върна в основната памет в своята цялост. Това е специален случай на виртуалната памет и по-лесен за изпълнение начин на споделяне на RAM и ROM. Замяната присъщо съкращения, тъй като процесът на активиране, за да я извърши, като правило, е достатъчно, за да се зареди една малка част от код сегмент да се извърши и с инструкции, част от сегмента на данни, която работи това ръководство, както и да се извършва в сегмента на стека. Когато освободите памет за изтегляне на нов процес също е доста измести само част от изображението на процес на диска. Недостатъци разменят:

- Движението на излишна информация забавя системата, и води до неефективно използване на паметта;

- Системи, които поддържат смяна не е в състояние да изпълнява процеса на изтегляне, виртуалното адресно пространство, което надвишава наличната наличната свободна памет.

Поради тези недостатъци разменят като основен механизъм за контрол с памет не се използва в съвременните операционни системи [31].

Метод 2: виртуална памет (виртуална памет) - снимка Process части (сегменти, страници) се заустват към диска и части се връщат в паметта. Методът се основава на идеята, че комбинираният размера на програмата, данните и стека може да надвишава размера на наличната физическа памет, във връзка с това, операционната система съхранява част от програмите се използват в момента, в RAM, а останалата част -. На диска [32]

Основният проблем на виртуалната памет, в резултат от множество промени в местоположението в паметта изображение на процеса, или части от тях, е да се превърне виртуалните адреси във физически адреси. Разтворът зависи от метода на структуриране на виртуален адрес пространство. В момента, методи на виртуални приложения с памет са представени от три класа: пейджъра виртуална памет, виртуалната памет сегмент, сегмент-страница виртуалната памет.

Пейджинг виртуална памет - преместване на данни между паметта и диска направи страници (част от виртуалното адресно пространство), малък размер (обикновено около 4 КВ).

Методът се използва в повечето съвременни операционни системи. виртуално адресно пространство на всеки процес е разделена на равни части, фиксирана сума за дадена система - виртуални страници (виртуални страници), което е минималната единица за разпределение на паметта [33]. Тъй като размерът на виртуален адрес пространство не е кратно на размера на страницата, на последната страница на всеки процес се допълва от сляпо зона. RAM също е разделен на части от същия размер - физическата страница (блокове, рамки). размер Page в байтове на множествена на две избрани К (512, 1024, 4096, и т.н.), което улеснява механизма за транслация на адресите.


Метод за достъп до паметта чрез виртуални адреси, която съдържа множество виртуални страници и компенсира в страницата (фиг. 5.17.). виртуален номер на страницата се използва като индекс в таблицата на страница, за да намерите запис на тази страница. Операционната система преобразува виртуалния адрес в реален адрес чрез преместване на страница от твърдия диск в RAM, когато е необходимо. Когато искането за разпределение на паметта на операционната система може да бъде преместен на страницата на твърдия диск, които не са имали оплаквания. Критични данни (код на програми за работа, код и паметта на ядрото) обикновено се намират в RAM. Например, в семейството на операционни системи Microsoft Windows, място за страници на твърди дискове за съхранение не се разпределя предварително. Потребителят може да се използва за автоматично или ръчно да укажете размера на виртуалната памет на всеки от дяловете. В тези секции създава размер на pagefile.sys файл се изисква от операционната система, която съхранява и изместена от страниците на паметта на диска.

Софтуер генерирани виртуални адреси на паметта се предават (MMU, Звено за управление на паметта) на диспечера, който преобразува виртуални адреси на физически адреси на паметта (фиг. 5.18.). Например, програмата се опитва да получите достъп до адрес 0, използвайки командата: MOV REG.0. Виртуален адрес памет 0 се прехвърля към контролера. Регулаторът определя, че този адрес попада в страницата 0 (0-4095), която показва пейджъра блок 2 (8192-12287), тя се превръща в един физически адрес 8192 и излага на автобуса. Освен това, паметта получи искане да се чете (запис) думи на 8182 и да го изпълнява.


Когато се създаде процес на операционната система товари в паметта на няколко от своите виртуални страници (начални страници на код сегмент и сегмента на данни) [34], както и за всеки процес създава една и съща маса страница [35] - информационна структура, която съдържа данни за всички виртуални страници на процеса. Писане на маса - страница ЕВРОВОК съдържа следната информация:

- Броят на физическото страницата, която се зарежда тази виртуална страница;

- Знак за присъствието инсталирани в устройството, ако виртуалната страница в основната памет;

- Знак на страница модификация, която е настроена на едно, когато пишете на адреса, определен за тази страница;

- Знак, позовавайки се на страницата (битов достъп), който е настроен на по един за всеки достъп до адреса определя на тази страница.

Симптоми присъства, модификация и обработка Hardwarily процесор вериги при извършване на операции с памет в повечето модели на процесори. маси Адрес страници, включени в контекста съответния процес. Когато е активиран, на следващия процес на операционната система зарежда адреса на масата си в специален регистър на процесора. Всеки път, когато паметта е търсене за виртуален номер на страницата, която съдържа желания адрес, след това изберете записи в таблицата на страниците, се определя от това число, и то се извлича от информацията, описваща страницата.

След това се анализира наличието на знак. Ако виртуалната страница е в паметта, на виртуалния адрес се заменя в определен влизане маса физическия адрес. Ако виртуалната страница се разменят на диск, тогава няма да има грешки страница, работещ процес в състояние на готовност, и активира различен процес от опашката на процеси, които са в състояние на готовност.

Успоредно с това, страница прекъсване манипулатор е необходима виртуална страница на диск и се опитва да го зареди в паметта. Когато е налице свободен физическа страница, мишката става веднага, ако няма свободни страници, подмяната на страницата на основата на стратегията, приета в системата разгледа въпроса за какво страница трябва да бъдат разтоварени от паметта. След като изберете страницата, която искате да напусне паметта, неговото присъствие малко се връща, и неговите модификации знак, анализирани. Ако страницата се изхвърля модифициран, новата му версия се записва на диск, на CD не е записан в другия случай, тъй като диска вече има копие. обявен Физическо страница безплатно [36].

За да се съхранява информацията за положението на разселените страница във файла за страницата, на операционната система използва области на страниците на масата или други структури, система за данни. Качи страница ви позволява да запазите паметта, но в същото време води до допълнителни разходи при получаването на физическия адрес. За да се намали липсата на страници в паметта, използващи различни методи, основните от които се кешира. Недостатъци повиканата:

- Фиксиран размер на страницата и то не съответства на размера на дадена програма или данни, структури води до вътрешна фрагментация, което се случва, се дължи на факта, че исканията за разпределяне на стойността на обема му се закръгля до най-близкото цяло число на страници. В резултат, всеки памет заявка за определен регион (в края на последното искания страница) е затворен в процес и не се използва.

- Нивото на страницата, които са за защита на инсталацията, не може да се сравнява структурата на данните на приложението, например, ако два процеса искат да споделят структури от данни, те трябва да го направят на нивото на цели страници.

- Таблица страници е разположена изцяло в RAM, така че отделни страници за поддръжка на маса за всеки процес отнема повече памет.

Един от вариантите за борба с фрагментацията на физическата памет е да се приложат пейджинг заделяне на памет в опростен вариант, без разтоварване страници на диска. В този случай, виртуалните страници на всички процеси са винаги в паметта. Програмата е разделена на части и се зарежда в коренно различни области на паметта при зареждане виртуални страници на неизползваните остатъци се образува, тъй като размерът на виртуални и физически страници са еднакви. Този режим на управление на паметта, използвана в някои специализирани операционни системи, които изискват висока реактивност на системата и възможността да се извършват с променлив набор от приложения [37].

Един метод за намаляване на разходите за съхранение на таблици страница съхранение е метод за съхраняване в паметта само активно използва част от масата, от временното изместване на неизползваната част от масата на паметта. В този случай, по-сложен структуриране на виртуалното адресно пространство, в което всички компоненти на виртуални адреси процеса е разделена на секции, и секциите са разделени на страници. Все страницы имеют одинаковый размер, а разделы содержат одинаковое количество страниц. Размер и количество страниц в разделе выбирается равным степени 2 k , в результате младшие двоичные разряды представляют смещение, средние разряды – номер виртуальной страницы, старшие разряды – номер раздела. Для каждого раздела строится собственная таблица страниц. Количество дескрипторов в таблице и их размер подбираются таким образом, чтобы объем таблицы оказался равным объему страницы. Например, в процессоре Pentium при размере страницы 4 Кбайт длина дескриптора страницы составляет 4 байта, максимальное количество записей в таблице страниц – 1024. Каждая таблица страниц описывается дескриптором, аналогичным структуре дескриптора обычной страницы. Дескрипторы сведены в таблицу разделов (каталог страниц). Физический адрес таблицы разделов активного процесса содержится в специальном регистре процессора, а страница, содержащая таблицу разделов, всегда находится в оперативной памяти.

Другим методом является использование многоуровневых таблиц страниц . Например, процессу нужно 12 Мбайт памяти: младшие 4 Мбайт – для текста программы, следующие 4 Мбайт – для данных, старшие 4 Мбайт – для стека (рис. 5.19). В таблице страниц верхнего уровня находится 1024 записи, соответствующие 10-разрядному полю Р1 . Когда виртуальный адрес предстает перед диспетчером памяти, он сначала выделяет поле Р1 и использует его значение как индекс таблицы верхнего уровня.


Записване на мястото, за което се определя от индекса на страниците най-високо ниво на масата, дава един адрес или номер на страница таблицата на стр рамка на второ ниво. Писане 0 в таблицата на страница показва таблицата първо ниво страница за текста на програмата, запис 1 точки в таблицата на страница за данни, записът 1023 точки в таблицата на страница за стека. Други вписвания не са използвани. Невярно F2 сега се използва като индекс в избраната таблица второ ниво, за да се намери номера на страницата рамка на самата страница. Ако страницата не е в паметта, на малко настоящето в записа на таблицата на страниците е нула, в резултат на грешки страница. Ако страницата е в паметта, номера на страницата рамка е взета от масата на второ ниво страница, присъединява се компенсира, създавайки физически адрес, който е изложен на шината на паметта и се предава.

маса на две нива може да бъде удължен до три, четири или повече нива. Допълнителни нива дават по-голяма гъвкавост, но ще усложни системата.

Повечето от програмите повечето от неговите приложения прави само малък брой страници, и таблица на страниците прочетете интензивно само на определен брой записи. Буфер за преобразуване (TLB, Буфер за преобразуване) или асоциативна памет - Ето защо, за да се намалят разходите за съхранение, за да подкрепи таблиците на стр специално устройство е разработен. Буфер (хардуер маса) се намира вътре в контролера на паметта и се състои от няколко записа (фиг. 5.20.). Всеки запис съдържа информация на една страница: броят на виртуалните страници, бит, установен чрез промяна на кода на страницата (флаг) защитата (която чете разрешения са дадени, пише и изпълнява), а броят на физическата страница рамката, в която се помещава тази страница. Тези полета съответстват на областите изрично в таблицата на страница, и допълнително малко е показателно за използването на запис в момента.


За това, че програмата може да се обърне страницата в TLB трябва да бъде и съответното вписване. Асоциативното търсене в тази таблица се извършва за всеки достъп до адреса виртуалната памет. Когато един виртуален адрес представлявана от управителя на памет, за да се покаже, инструментът търси присъствието на виртуалната страница в буфера TLB чрез сравняване на адреса на паралела с всички записи. Когато намерите желаната рекорд, проверява разрешенията на страницата, посочена във формата на знамена (например, ако програмата не се опитва да пише на страницата само за четене). Ако всичко върви добре, в основата на физическата страница (базовия адрес - физически адрес на началото на модула) се чете от записа и се добавя към отместването на виртуалния адрес, в резултат на пълен физически адрес. Ако броят на виртуална страница присъства в буфера TLB, но инструкцията се опитва да напише нещо на страницата, само за четене, се формира защита на грешка.

Ако лечението се извършва на адреса, който принадлежи към страницата, броят на които не е в буфера, но присъства в основната памет, управителят на паметта открива липсата на страницата и търси таблицата на стр. Тогава той премахва един от текстовете, от буфера TLB и го замества с намерени записа на страниците на масата. При изтриване на записи от буфера, промяната на малко се копира на влизането в таблицата на страниците в паметта. Други стойности са вече там.

Когато влезете в страницата, която не е в основната памет, хардуер генерира изключение нарича грешка на страницата. Той се справя операционната система. На процес на страница изключения и влизане в хардуер маса TLB операционната система следи местоположението на страниците на всеки процес в основното и външна памет.

Традиционните маси страници изискват един запис за всяка виртуална страница, тъй като те се индексират от броя на тази страница. Ако мястото на адрес се състои от две 32-байт размер на страницата на 4096 байта, докато в таблицата на страниците трябва да са повече от един милион записи, и големината на таблицата е 4 MB. Едно решение за намаляване на размера на маса е да се осигури обърнат маса страница, когато на масата има запис за рамка страница в реално памет. Например, ако един 64-битов виртуален адрес, размер 4 KB страници и 256 МВ RAM обърната маса страница изисква само 65,536 вписвания. Всеки запис песни, които се намират в блок на страница (процес, виртуална страница).

Обърнат маси страница пестене на памет, но ако виртуалното адресно пространство е много повече физическа памет, трудности с виртуалния адрес в превод адрес физически. Едно от решенията е да се използва буфер за бързо преобразуване на адреси. Ако буферът TLB може да съдържа всички често използвани страниците, превод адрес настъпва бързо. Но не успя търсене в търсачката на буфер TLB в обърнатия таблицата на страницата трябва да се направи програмно. Един от начините да се подобри е да подкрепя търсене таблицата хашиш на виртуални адреси. Всички виртуални страници, които в момента са в паметта и имащи същата хеш стойността, са ангажирани с друг. Ако масата на хеш има същия брой клетки като в машина физически страници, средна дължина на веригата не е само един запис, който значително се увеличи скоростта на показване на адреси.

Обърнат маси страница се използват в някои работни станции от IBM, Hewlett-Packard и др.

Сегмент организация на виртуалната памет - данните се движат между памет и диск, произведен сегменти (части от виртуалния адресно пространство) с всякакви размери, получени на базата на семантични стойности на данни.

виртуален адрес пространство на процес е разделен на сегменти, чийто размер се определя въз основа на семантична смисъла на информацията, съдържаща се в тях [38]. Самостоятелните сегмент може да представлява подпрограма, масив данни, и така нататък. Сегментите не са подредени една спрямо друга. Виртуалният адрес, даден от двойка числа: броят на сегментите и линейна виртуален адрес в рамките на сегмента. Методът дава възможност за споделяне на фрагменти от различни процеси на нанасяне. Например, две процеси използват подпрограма reentrancy притежаващи свойства [39]. подпрограми кодове са издадени като отделен сегмент и са включени във виртуалния адресно пространство на двата процеса. Когато физическите сегменти памет, съдържащи кодове съчетания на виртуални пространства процеси се проектира върху една и съща област на физическата памет, и двата процеса могат да получат достъп до едно и също копие на подпрограмата.

При зареждане процес в RAM се вписва само част от неговите сегменти, пълно копие на виртуална адресно пространство е на диска. За всеки сегмент на заредения операционната система търси непрекъсната площ на достатъчен размер на свободната памет. Ако по време на изпълнение на метода е достъпен от виртуален адрес, принадлежащ към сегмент, който в момента не е в паметта, на прекъсване се случи. Операционната система спира активната процес, изпълнява на следващия процес на опашката, и организира паралелно зареждане на желания сегмент от диска. При липса на памет, необходима за зареждане на сегменти, операционната система preempts неизползвана част на диска.

Когато се създаде процес и зареди своя образ в паметта, системата създава таблица на сегментите на процеса. Следващата таблица определя за всеки сегмент: базовата физическия адрес на сегмента в паметта; размер сегмент; правила за достъп до сегмента; признаци на промяна, присъствието и призив към този сегмент; друга информация. Ако виртуалният адрес пространства на няколко процеси включват същия сегмент, процесите на сегмента маси, се прави позоваване на една област от паметта, към който сегмента се зарежда в един екземпляр. Виртуалния адрес на сегмента на организацията, представено с чифт памет: брой сегмент и отместване в сегмента. Физическият адрес се получава чрез добавяне на базовия адрес на сегмента, която се определя от броя на сегмента от сегментната таблица и обем (Фиг. 5.21.).


с сегментирани функции организация на паметта на системата, подобно на системата пейджъра. Всеки път, RAM превръща виртуалния адрес в реален адрес. Периодично прекъсване случва, свързани с липсата на съответните сегменти в паметта, ако е необходимо, да се освободи памет, някои сегменти се разтоварват. Недостатъци:

- Най-сегмента като цяло се намира в физическа памет, като се започне с произволни адреси, следователно, за да се определи местоположението си, използвайки цялата си първоначална физически адрес. В определението на сегмент адрес физически се използва операция допълнение, което забавя процедурата за преобразуването на виртуален адрес в реален адрес.

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

- В процеса на работа в паметта на системата се образуват малки свободно пространство фрагменти, в които не може да се стартира всеки един сегмент. Общият размер на свободни фрагменти могат да бъдат значителна част от паметта, което води до неефективно използване.

Важно предимство на организацията на сегмента на паметта е възможността за определяне на диференцирани права за достъп до процеса на своите сегменти. Например, един сегмент данни, съдържащ основна информация за прилагане, може да имате право да "чете само" достъп, и сегмент данни, представляваща резултатите - "четат и пишат".

Сегмент-виртуална памет виртуална памет - преместване на данни между паметта и диск посредством разделяне на две нива: виртуално адресно пространство е разделено на сегменти, и след това разделен на сегменти на страницата, и единицата се движи страница данни.

Този метод е комбинация от пейджъра и сегмент механизъм за управление на паметта (фиг. 5.22.) И е насочена към реализиране на предимствата на двата подхода. Разделението на виртуална адресно пространство на процеса на сегменти ни позволява да предоставяме различни права за достъп до различни части на кода на програмата и данните. Преместването на данни между паметта и диска направени страници. За да направите това, всеки сегмент на виртуална и физическа памет се разделя на равни по размер страници [40], което позволява по-ефективно използване на памет, свеждане до минимум на фрагментацията. Всички виртуални сегменти образуват една непрекъсната линейна виртуално адресно пространство, техните координати са определени по два начина (Фигура 5.23.).:

- Linear виртуален адрес, който е преминаването на участъка по отношение на границите на генералната линия на виртуалното пространство;

- Чифт номера: номер на сегмента и отместването от началото на сегмента, и недвусмислено определяне на виртуалния адрес, определен първоначален виртуален адрес на сегмента с дадено число.

Предимство се дава на втори метод, тъй като тя дава възможност да се установи самоличността на определен сегмент от адресите и проверка на правото на достъп до нея.


За всеки процес, операционната система създава отделни сегменти маса, която съдържа описания на всички сегменти на процеса. Сегментът ЕВРОВОК включва: базовата виртуалния адрес на сегмента, неговия размер, разрешенията, модификацията на знаци, присъствие и се хареса на този сегмент. В базовия адрес определя първоначален отсечката във виртуалното адресно пространство на виртуалния адрес (ако сегмент памет организация показва първоначалния сегмент на физическия адрес, възложени му в резултат на зареждането му в паметта). Основния сегмент виртуален адрес може еднозначно преобразуване на адреса, определени като двойка (брой сегмент, сегмент смяна) до линейна виртуален адрес, който след това се превръща в адрес механизъм физическа пейджъра.


размер Page в байтове на множествена на две избрани К, което опростява механизма превръщане виртуални адреси за физически. Виртуални страници са номерирани в рамките на виртуална адресно пространство на всеки процес, и физическата страница - в рамките на RAM. Когато се създаде процес в само една част от страницата с памет се зарежда, а останалите се изтеглят, ако е необходимо. Периодично, системата разтоварва неизползвани страници, освобождавайки памет за нови страници.

Операционната система е процес за всяка страница таблица, която показва съответствие с виртуални страници на физически страници. Базовият адрес на таблицата на сегментите и на страниците таблици са част от процеса на неговия контекст. При процеса на активация, тези адреси се зареждат в специален регистър и използва механизма за преобразуване на адреси. Конвертиране на виртуален адрес във физическото се провежда в два етапа (Фигура 5.24.):

1. При използване на оригиналния механизъм сегментиране виртуален адрес се преобразува в линеен сегмент на виртуалния адрес. За да направите това, на адреса, се изчислява сегмент ЕВРОВОК, неговите полета са анализирани и тестовете за извършването на дадена операция. Ако е разрешен достъп до сегмента, линията се изчислява чрез добавяне на виртуален адрес сегмент базовия адрес, дескриптора, извлечена от и офсет определен в източник виртуален адрес.

2. Когато се използва механизмът за пейджинг за производството на линеен виртуален адрес се превръща физически адрес. Линейната резултат трансформация виртуалния адрес е представен като двойка (номера на страницата в страницата отместване), чрез разделяне на долните битове [41]. Старши ниво линеен виртуален адрес, съдържащ редица виртуална страница се заменят с броя на физическите страници, взети от страниците на масата. По-ниското ниво на виртуалния адрес, съдържащ отместването, остават непроменени.


Сегмент-пейджинг виртуалната памет се осъществява в процесор Intel Pentium. виртуален Неговата адресно пространство е сегментиран процес. Превръщане на виртуален адрес за физически адрес се извършва на два етапа. Първо, адрес източник се превръща в междинно съединение линия на виртуален адрес 32-битов адрес пространство. След това, на страницата за реализация, който показва виртуална линейно адресно пространство за физическа (фиг. 5.24.). Архитектурата на Intel Pentium процесор сегмент непрекъснато пространство съществува само в линейната адресно пространство на процеса, а не във физическия адрес пространство на цялата система. Следователно, неизползваната част на сегмента може да бъде преместен на диска, а останалите остават в паметта. На практика само някои операционни системи използват хардуерните възможности на процесора. Други операционни системи използват една страница-проста конфигурация, в която всички сегменти са с големина от 4 GB или компенсират 0 по отношение на линейната адресно пространство.

Когато се използва различен метод за прилагане на сегментиран механизъм за виртуална памет и процес виртуалното пространство също разделен на сегменти, и всеки сегмент е разделен на виртуални страници, виртуална страница, но не преброени в цялата адресното пространство на процеса, а в рамките на сегмента. Виртуалният адрес в този случай се изразява с три пъти (броят сегмент, номер на страница в страницата офсет). процес Зарежда се извършва страница от операционната система, с някои страници в RAM, а някои - на диска. За всеки процес, като създадете таблица на сегменти, всеки сегмент - Таблица страници. Когато се активира, адрес процес на съответния сегмент масата е заредена в специален регистър процесор. таблица страница съдържа описания на страници. Но сегментната таблица съдържа сегмент дескриптори, които описват местоположението на таблицата на страницата на физическата памет, вместо описва местоположението на сегментите във виртуалното адресно пространство. Преобразуване на виртуални адреси на физическите адреси се провежда в три етапа (Фигура 5.25.)

- На броя на сегмент, определен в виртуалния адрес, физически адрес извлечена съответната страница таблицата на сегментите на маса;

- Броя на виртуалната страница дадени в виртуалния адрес на таблицата на страниците дескриптор се екстрахира, който показва броя на физическите страници;

- За броя на физическите страници присъединява офсет (най-младшите битове на виртуалния адрес).


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

В други системи, хардуер поддържа сегментиране и максимален брой сегменти не се засича. Тъй като споделянето на паметта е предоставена на нивото на цели страници, общи софтуерни определени технологични сегменти трябва да съдържа цяло число брой страници. Схема се използва, когато сегментите са достатъчно големи, за да се намали вътрешната фрагментация.

Съставители и операционната система следват някои общи споразумения за това как тя трябва да се използва виртуална адресно пространство на процеса, по-специално с публичен адрес започва потребителски код и данни за площ. Ако се създаде единна таблица страница за целия процес адресно пространство, това ще бъде много голям, въпреки факта, че повечето от страниците не се използват в процеса. За да се намалят разходите за съхранение на структурата на системата, операционната система може да поддържа отделна таблица страница за всеки сегмент и маркирайте я разрешение за достъп до всяка страница.

<== Предишна лекция | На следващата лекция ==>
| Сегмент-пейджинг виртуална памет

; Дата: 03.01.2014; ; Прегледи: 552; Нарушаването на авторските права? ;


Ние ценим Вашето мнение! Беше ли полезна публикуван материал? Да | не



ТЪРСЕНЕ:


Вижте също:

  1. Административно-правна организация на управление в областта на заетостта, труда и социалните въпроси.
  2. Административно-правна организация на управлението в прогнозирането на социалното развитие.
  3. Административно-правна организация на управление в областта на финансите и кредитиране.
  4. Б. Световната организация за интелектуална собственост (СОИС)
  5. Борбата за власт и реорганизацията на силови структури
  6. Brigade организация на труда
  7. В диверсифицирани организации основа на структурната строителство е бизнес - единица
  8. В този случай, основният елемент на паметта се показва винаги в едно и също място на кеша?
  9. В основата на кеша на принципите на времеви и пространствени местни програми.
  10. Входни данни - е процес на предаване на информация от външно устройство за съхранение или вложения в RAM за по-нататъшна обработка на клетките.
  11. Видове памет и техните характеристики
  12. Видове памет.




zdes-stroika.ru - Studopediya (2013 - 2017) на година. Тя не е автор на материали, и дава на студентите с безплатно образование и използва! Най-новото допълнение , Al IP: 66.102.9.24
Page генерирана за 0.07 секунди.