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



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

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

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

САНИТАРНО-МИКРОБИОЛОГИЧЕСКОЕ ИССЛЕДОВАНИЕ ВОДЫ, ВОЗДУХА И ПОЧВЫ Цель занятия.Ознакомить студентов с основными методами и показателями...

Меры безопасности при обращении с оружием и боеприпасами 64. Получение (сдача) оружия и боеприпасов для проведения стрельб осуществляется в установленном порядке[1]. 65. Безопасность при проведении стрельб обеспечивается...

Весы настольные циферблатные Весы настольные циферблатные РН-10Ц13 (рис.3.1) выпускаются с наибольшими пределами взвешивания 2...

Основные структурные физиотерапевтические подразделения Физиотерапевтическое подразделение является одним из структурных подразделений лечебно-профилактического учреждения, которое предназначено для оказания физиотерапевтической помощи...

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

Тема 2: Анатомо-топографическое строение полостей зубов верхней и нижней челюстей. Полость зуба — это сложная система разветвлений, имеющая разнообразную конфигурацию...

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