Архітектура пам'яті Windows CE 6

Автор: Пользователь скрыл имя, 15 Декабря 2012 в 15:23, реферат

Описание работы

Якщо коротко, нова модель пам'яті дає можливість для запуску практично необмеженого числа процесів і під кожен процес виділяється 2Гб віртуальної пам'яті. Щоб врахувати це, стара архітектура була замінена на нову, в якій тільки один процес відображається в просторі користувача в будь-який момент часу. Позитивною стороною даного підходу є те, що з тих пір, як простір користувача більше не упаковано бездіяльними процесскамі, що виконуються процеси можуть використовувати значно більше віртуальної пам'яті ніж раніше. Негативної строною є перш за все взаємодія процесів, де відображення пам'яті через процеси стає набагато більш складним і з цим пов'язаний штраф продуктивності.
Спадщина (Legacy)
Перш ніж вдаватися в деталі нової архітектури, давайте нагадаємо, що модель пам'яті СЕ5 виглядає наступним чином. Я не буду вдаватися в подробиці, оскільки є багато інформації про архітектуру пам'яті CE 5:

Модель віртуальної пам'яті Windows CE 5
Простір користувача CE 5 розділене на 32 слота процесу, кожен займає 32 МБ віртуальної пам'яті, і область розділяється пам'яті, в якій будь-які процеси можуть розподілити віртуальну пам'ять. У цієї архітектури фактично є свої коріння в самих перших версіях Windows CE, розробленої вже більше 10 років тому. Обмежуючи розмір та максимальне число процесів, всі процеси можуть бути відображені в просторі користувача весь час, дуже зменшуючи складність ядра.
В той час 32 МБ вважали великою кількістю віртуальної пам'яті для процесу, і здатність керувати 32 процесами одночасно на вкладеному пристрої була більш ніж достатньо для більшості виробників пристрою. Коротше кажучи, це був справедливий компроміс між роботою і гнучкістю.
Детальна модель пам'яті СЕ6
Таким чином, що можна сказати про нову модель пам'яті? Вона все ще розділена : 2Гб простір ядра і 2Гб простір користувача, це єдине, що є спільним між моделяім пам'яті СЕ5 і СЕ6.
В РЄ 6 кожному процесу виділяється 1 Гб віртуальної пам'яті. Це можливо завдяки тому, що цей 1Гб пам'яті включається коли йде перемикання процесів (на відміну від CE 5 і вище, де всі процеси є доступними в просторі користувача весь час). Оскільки процеси не поділяють один з одним простір користувача, максимальне число запущених процесів вже не обмежується. Хоча говорять про можливість запуску понад 32000 процесів, реальне обмеження встановлюється доступною фізичної пам'яттю. Обсяг фізичної пам'яті, який повинен бути виділений для кожного процесу, призведе до вичерпання пам'яті задовго до того, як число процесів досягне 32k. Але, давайте просто скажемо, що модель нового ядра і пам'яті більше не є обмежує чинником, коли мова заходить про запущених процесах ..
Простір Користувача
Тепер, давайте більш детально розглянемо як розділена віртуальна пам'ять у CE 6:

Простір користувача Windows CE 6
Починаючи c підставі, досягаючи позначки в 1 Гбайт, розташоване простір, про який згадувалося вище. У мітці 1 Гбайт знаходяться 512 МБ для використання dll, вище за який, у нас є 256 МБ для підтримки підключаються файлів. Нагорі, у нас є 255 МБ загальнодоступною системної динамічної пам'яті, залишається захисне неотображаемое простір в 1 МБ між простором ядра і простором користувача.
Тепер, простір процесу в 1 Гбайт відображає код виконуваної програми процесу і дані, його розподілу VM і будь-які файли з поданою пам'яттю. В області dll буде те ж саме відображення через процеси з причин оптимізації. У той час як кодові сторінки розділені через процеси, сторінки даних у цій області будуть унікальними фізичними сторінками для кожного процесу. dll тепер завантажені і ростуть від основи, протилежно стилю стека, що сходить завантаження, що використовується в CE 5 і раніше.
Область файлу з поданою пам'яттю знаходиться в установленому місцезнаходження в просторі користувача. Це зроблено з причин забезпечення сумісності. Нарешті, загальнодоступна системна динамічна пам'ять - область, де компоненти OS і процеси можуть бзопасно обмінятися інформацією. У той час як компоненти OS можуть осущестлять читання/запис в цій області тільки з дозволу, процесам, які працюють у просторі користувача, можуть бути дані права тільки на читання або читання/запис.
Простір ядра
Модель пам'яті для простору ядра також змінилася

Хоча вона виглядає досить знайоме, дві області по 512Мб не змінилися, і пастка простору до цих пір там на вершині купи, але є деякі важливі зміни, які слід відзначити. Перш за все область128Mb kernel XIP DLL безпосередньо над 1GB, 128Mb зарезервовані для використання об'єкта Store. Відразу ж після цього, є два слоти по 256Mb віртуальної пам'яті ядра.

Работа содержит 1 файл

Документ Microsoft Office Word.docx

— 17.80 Кб (Скачать)

Якщо коротко, нова модель пам'яті дає можливість для запуску практично необмеженого числа процесів і під кожен процес виділяється 2Гб віртуальної пам'яті. Щоб врахувати це, стара архітектура була замінена на нову, в якій тільки один процес відображається в просторі користувача в будь-який момент часу.

Позитивною стороною даного підходу є те, що з тих пір, як простір користувача більше не упаковано бездіяльними процесскамі, що виконуються процеси можуть використовувати значно більше віртуальної пам'яті ніж раніше. Негативної строною є перш за все взаємодія процесів, де відображення пам'яті через процеси стає набагато більш складним і з цим пов'язаний штраф продуктивності.

Спадщина (Legacy)

Перш ніж вдаватися в деталі нової архітектури, давайте нагадаємо, що модель пам'яті СЕ5 виглядає наступним чином. Я не буду вдаватися в подробиці, оскільки є багато інформації про архітектуру пам'яті CE 5:

Модель віртуальної пам'яті Windows CE 5

Простір користувача CE 5 розділене на 32 слота процесу, кожен займає 32 МБ віртуальної пам'яті, і область розділяється пам'яті, в якій будь-які процеси можуть розподілити віртуальну пам'ять. У цієї архітектури фактично є свої коріння в самих перших версіях Windows CE, розробленої вже більше 10 років тому. Обмежуючи розмір та максимальне число процесів, всі процеси можуть бути відображені в просторі користувача весь час, дуже зменшуючи складність ядра.

В той час 32 МБ вважали великою кількістю віртуальної пам'яті для процесу, і здатність керувати 32 процесами одночасно на вкладеному пристрої була більш ніж достатньо для більшості виробників пристрою. Коротше кажучи, це був справедливий компроміс між роботою і гнучкістю.

Детальна модель пам'яті СЕ6

Таким чином, що можна сказати про нову модель пам'яті? Вона все ще розділена : 2Гб простір ядра і 2Гб простір користувача, це єдине, що є спільним між моделяім пам'яті СЕ5 і СЕ6.

В РЄ 6 кожному процесу виділяється 1 Гб віртуальної пам'яті. Це можливо завдяки тому, що цей 1Гб пам'яті включається коли йде перемикання процесів (на відміну від CE 5 і вище, де всі процеси є доступними в просторі користувача весь час). Оскільки процеси не поділяють один з одним простір користувача, максимальне число запущених процесів вже не обмежується. Хоча говорять про можливість запуску понад 32000 процесів, реальне обмеження встановлюється доступною фізичної пам'яттю. Обсяг фізичної пам'яті, який повинен бути виділений для кожного процесу, призведе до вичерпання пам'яті задовго до того, як число процесів досягне 32k. Але, давайте просто скажемо, що модель нового ядра і пам'яті більше не є обмежує чинником, коли мова заходить про запущених процесах ..

Простір Користувача

Тепер, давайте більш детально розглянемо як розділена віртуальна пам'ять у CE 6:

Простір користувача Windows CE 6

Починаючи c підставі, досягаючи позначки в 1 Гбайт, розташоване простір, про який згадувалося вище. У мітці 1 Гбайт знаходяться 512 МБ для використання dll, вище за який, у нас є 256 МБ для підтримки підключаються файлів. Нагорі, у нас є 255 МБ загальнодоступною системної динамічної пам'яті, залишається захисне неотображаемое простір в 1 МБ між простором ядра і простором користувача.

Тепер, простір процесу в 1 Гбайт відображає код виконуваної програми процесу і дані, його розподілу VM і будь-які файли з поданою пам'яттю. В області dll буде те ж саме відображення через процеси з причин оптимізації. У той час як кодові сторінки розділені через процеси, сторінки даних у цій області будуть унікальними фізичними сторінками для кожного процесу. dll тепер завантажені і ростуть від основи, протилежно стилю стека, що сходить завантаження, що використовується в CE 5 і раніше.

Область файлу з поданою пам'яттю знаходиться в установленому місцезнаходження в просторі користувача. Це зроблено з причин забезпечення сумісності. Нарешті, загальнодоступна системна динамічна пам'ять - область, де компоненти OS і процеси можуть бзопасно обмінятися інформацією. У той час як компоненти OS можуть осущестлять читання/запис в цій області тільки з дозволу, процесам, які працюють у просторі користувача, можуть бути дані права тільки на читання або читання/запис.

Простір ядра

Модель пам'яті для простору ядра також змінилася

Хоча вона виглядає досить знайоме, дві області по 512Мб не змінилися, і пастка простору до цих пір там на вершині купи, але є деякі важливі зміни, які слід відзначити. Перш за все область128Mb kernel XIP DLL безпосередньо над 1GB, 128Mb зарезервовані для використання об'єкта Store. Відразу ж після цього, є два слоти по 256Mb віртуальної пам'яті ядра.


Информация о работе Архітектура пам'яті Windows CE 6