Студопедия — Віртуальна пам'ять UNIX
Студопедия Главная Случайная страница Обратная связь

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

Віртуальна пам'ять 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; просмотров: 408. Нарушение авторских прав; Мы поможем в написании вашей работы!



Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

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

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

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

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

Мотивационная сфера личности, ее структура. Потребности и мотивы. Потребности и мотивы, их роль в организации деятельности...

Классификация ИС по признаку структурированности задач Так как основное назначение ИС – автоматизировать информационные процессы для решения определенных задач, то одна из основных классификаций – это классификация ИС по степени структурированности задач...

Механизм действия гормонов а) Цитозольный механизм действия гормонов. По цитозольному механизму действуют гормоны 1 группы...

Алгоритм выполнения манипуляции Приемы наружного акушерского исследования. Приемы Леопольда – Левицкого. Цель...

ИГРЫ НА ТАКТИЛЬНОЕ ВЗАИМОДЕЙСТВИЕ Методические рекомендации по проведению игр на тактильное взаимодействие...

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