Студопедия Главная Случайная страница Обратная связь

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

Віртуальна пам'ять UNIX





Модель пам'яті в системі UNIX досить проста. Кожен процес має три сегменти: код, дані і стек, як показано на мал. 6.8. У машині з лінійним адресним простором код звичайно розташовується в нижній частині пам'яті, а за ним йдуть дані. Стек міститься у верхній частині пам'яті. Розмір коду фіксований, а дані і стек можуть збільшуватися або зменшуватися. Таку модель легко реалізувати практично на будь-якій машині. Вона використовується в операційній системі Solaris.

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

Опис, даний вище (віртуальна пам'ять з підкачуванням сторінок за вимогою), у цілому підходить для Berkeley UNIX. Однак Sysytem V (і Solaris) має деякі особливості, що дозволяють користувачам керувати віртуальною пам'яттю. Найважливішою є здатність процесу відображати файл або частину файла на частину його адресного простору. Наприклад, якщо файл в 12 Кбайт відображається на віртуальну адресу 144 К, то в осередку задресою 144 К буде знаходитися перше слово цього файлу. Таким чином, можна здійснювати ввод-вивод файлу без застосування системних викликів. Оскільки розмір деяких файлів може перевищувати розмір віртуального адресного простору, можна відображати не весь файл, а тільки його частину. Щоб здійснити відображення, спочатку потрібно відкрити файл і одержати дескриптор файлу (file descriptor). Дескриптор використовується для ідентифікації файлу, який потрібно відобразити. Потім процес робить виклик paddr=rnap (virtua1_address.lengtfi.protec1on.flags.fd.fi]e_offset) який відображає length, починаючи з filejoffset у файлі, у віртуальний адресний простір, починаючи з virtual_address. Параметр flags вимагає, щоб система вибрала віртуальну адресу, що потім повертається в paddr. Відображувана область повинна містити ціле число сторінок і повинна бути вирівняна в гра-iniiax сторінки. Параметр protection визначає дозвіл на читання, запис iвиконання (у будь-якій комбінації). Відображення можна надалі видалити за допомогою команди unmap.

У той самий файл можна одночасно відображати декілька процесів. Є два варіанти поділу загальних сторінок. У першому випадку розділяються всі границі, тому записи, вироблені одним процесом, помітні всім іншим процесам. Ця можливість забезпечує між процесами тракт із високою пропускною здатністю. В другому випадку сторінки розділяються всіма процесами до тих пір, поки який-небудь процес не змінить їх. Як тільки один із процесів намагається зробити запис у сторінку, він одержує помилку захисту, у результаті його операційна система видає йому копію цієї сторінки, у яку можна робити запис. Така схема використовується в тому випадку, коли для кожного з декількох процесів потрібно створити ілюзію, що тільки він відображається у файл.







Дата добавления: 2015-04-16; просмотров: 433. Нарушение авторских прав; Мы поможем в написании вашей работы!




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


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


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


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Измерение следующих дефектов: ползун, выщербина, неравномерный прокат, равномерный прокат, кольцевая выработка, откол обода колеса, тонкий гребень, протёртость средней части оси Величину проката определяют с помощью вертикального движка 2 сухаря 3 шаблона 1 по кругу катания...

Неисправности автосцепки, с которыми запрещается постановка вагонов в поезд. Причины саморасцепов ЗАПРЕЩАЕТСЯ: постановка в поезда и следование в них вагонов, у которых автосцепное устройство имеет хотя бы одну из следующих неисправностей: - трещину в корпусе автосцепки, излом деталей механизма...

Понятие метода в психологии. Классификация методов психологии и их характеристика Метод – это путь, способ познания, посредством которого познается предмет науки (С...

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

Ведение учета результатов боевой подготовки в роте и во взводе Содержание журнала учета боевой подготовки во взводе. Учет результатов боевой подготовки - есть отражение количественных и качественных показателей выполнения планов подготовки соединений...

Сравнительно-исторический метод в языкознании сравнительно-исторический метод в языкознании является одним из основных и представляет собой совокупность приёмов...

Studopedia.info - Студопедия - 2014-2026 год . (0.012 сек.) русская версия | украинская версия