ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

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

     

    Інформатика, програмування
    1. Для чого потрібна пам'ять? Які бувають види пам'яті?
    (Розділ, необхідна для поняття призначення пам'яті взагалі)


    Компактна мікроелектронна "пам'ять" широко застосовується в сучасній апаратурі
    самого різного призначення. Але тим не менш розмова про класифікацію пам'яті,
    її видах слід почати з визначення місця і ролі, відведеної пам'яті в ЕОМ.
    Пам'ять є однією із самих головних функціональних частин машини,
    призначеної для запису, збереження і видачі команд і оброблюваних даних.
    Слід сказати, що команди і дані поступають в ЕОМ через пристрій вводу, на
    виході якого вони одержують форму кодових комбінацій 1 і 0. Основна пам'ять як
    правило складається з запам'ятовуючих пристроїв двох видів оперативного (ОЗУ) і
    постійного (ПЗУ).
    ОЗП призначений для збереження змінної інформації; воно допускає зміну
    свого вмісту в ході виконання обчислювального процесу. Таким чином,
    процесор бере із ОЗП код команди і, після обробки будь-яких даних,
    результат назад поміщається в ОЗУ. Причому можливе розміщення в ОЗУ нових
    даних на місці колишніх, які при цьому перестають існувати. В осередках
    відбувається стирання старої інформації і запис туди нової. З цього видно, що
    ОЗУ є дуже гнучкою структурою та добре працює у перезаписувати
    інформацію в свої осередки необмежену кількість разів по ходу виконання
    програми. Тому ОЗП грає значну роль в ході формування віртуальних
    адрес.
    ПЗП містить такий вид інформації, яка не повинна змінюватися у ході
    виконання процесором програми. Таку інформацію складають стандартні
    підпрограми, табличні дані, коди фізичних констант і постійних
    коефіцієнтів. Ця інформація заноситься в ПЗП попередньо, і блокується
    шляхом пережіганія легкоплавких металевих перемичок в структурі ПЗП. У ході
    роботи процесора ця інформація може тільки читатися. Таким чином ПЗУ
    працює тільки в режимах зберігання і зчитування.
    З наведених вище характеристик видно, що функціональні можливості ОЗУ ширше
    ніж ПЗУ: оперативний запам'ятовуючий пристрій може працювати в якості
    постійного, тобто в режимі багаторазового зчитування одноразово записаної
    інформації, а ПЗУ не може бути використане як ОЗУ. Це висновок, в
    свою чергу, приводить до висновку, що ПЗУ не бере участі в процесі формування
    віртуальної пам'яті. Але безперечно, ПЗУ має свої достоїнства, наприклад зберігати
    інформацію при збої, відключення живлення (властивість енергонезалежності). Для
    забезпечення надійної роботи ЕОМ при відмовах харчування нерідко ПЗУ використовується в
    як пам'яті програм. У такому випадку програма заздалегідь "зашивається" у ПЗУ.


    2. Мікросхеми пам'яті.
    (Де, знаходиться інформація при роботі комп'ютера?)


    Як було сказано раніше, у сучасних комп'ютерах використовується так звана
    електронна пам'ять. Для побудови ОЗП, ПЗП, реєстрових ЗУ в даний час
    широко застосовують напівпровідникові інтегральні мікросхеми, які
    виготовляють за спеціальною напівпровідникової технології з застосуванням
    інтегральних схем (ІС) та великих інтегральних схем (ВІС) на основі кремнію з
    високим ступенем інтеграції.


    Рис.1 Рис.2

    На малюнках 1 і 2 зображені мікросхеми пам'яті як функціональних вузлів: рис. 1
    ОЗУ, рис. 2 ПЗУ. Основною складовою частиною мікросхеми ОЗП є масив
    елементів пам'яті, об'єднаних в матрицю накопичувача. Елемент пам'яті (ЕП) може
    зберігати один біт інформації. Кожен ЕП обов'язково має свою адресу. Для
    звернення до ЕП необхідно його "вибрати" за допомогою коду адреси, сигнали якого
    підводять до відповідних висновків мікросхеми. ПЗУ побудовано аналогічно, а
    функції ЕП в мікросхемах ПЗУ виконують перемички у вигляді провідників.
    Це був короткий екскурс в так звані "ресурси" машинної пам'яті, необхідний
    для більш глибокого розуміння як функціонування комп'ютера, так і основний
    теми проекту.

    3. Віртуальна пам'ять: Що це таке? Для чого це потрібно?
    (Розглядає питання організації ВП)

    Отже, ми впритул підійшли до проблеми віртуальної пам'яті: що це таке і для
    чого це потрібно? Справа в тому, що з розвитком і появою нових комп'ютерних
    технологій, машини безсумнівно змінилися на краще: у світі
    професійних програмістів вже не існує поняття "ОЗУ на феритових
    сердечниках "або" накопичувачів на магнітних стрічках ". Що й казати, з
    винаходом персонального комп'ютера, навіть простий непрофесійний
    користувач отримав можливість використовувати ПК для власних цілей і потреб.
    Фірмою Intel ™ і іншими виробниками обчислювальної техніки були випущені
    комп'ютери досить прості в обігу (у порівнянні з величезними ламповими
    IBM1401 або "Унівак П"). Комп'ютери нового покоління *
    ----< Br /> * Фірмою Texas Instruments ® випущена модель 486DX475Mhz.
    мали процесори Intel ™ 80386, 80486, з 16ти і 32х розрядними шинами, величезним
    швидкодією (2566Mhz). Ці персоналки великий крок вперед у розвитку
    комп'ютерних технологій. Разом з цим у користувача з'явилася тенденція
    "осідлати" швидку машину змусити її робити якомога більше. Як економити
    машинний час і в той же час виробляти більше? Відповідь на це питання було
    знайдений за допомогою організації мультипрограмній роботи ЕОМ. Цей метод був
    визнаний дуже зручним, тому що при організації мультипрограмному циклу:
    1. Машина не простоювала дарма: при одночасному виконанні декількох програм і
    команд у роботі процесора з'являлася нова функція аналіз і розподіл
    машинного часу, відведеного на виконання кожної програми;
    2. За кожний машинний такт (внаслідок до черговості або рівнем пріоритету,
    загальним часом, що вимагаються на виконання команди) виконувалася одна або
    кілька команд.
    Дійсно, метод мультипрограмній роботи виявився приголомшливо ефективним,
    але для його успішної реалізації було потрібно дуже багато оперативної пам'яті, так
    як будь-яка програма, яка може бути викликана згодом, залишає
    невелику (а іноді і дуже велику!) свою частину резидентної в оперативній
    пам'яті. Можливі два варіанти: зберегти більшу частину ОЗУ вільної, за
    потреби завантажуючи в ОП ту чи іншу програму, що вимагає безпосереднього
    виконання і, після цього, відпрацювавши з даною програмою, відчистити вміст
    ОП для завантаження нової програми. Другий варіант полягає в тому, щоб відразу
    завантажити в ОП Машини всі потрібні програми, таким чином заповнивши її до
    підстави і потім дати процесору команду на виконання. Перший варіант не
    є прикладом мультипрограмній організації. Другий варіант є. Отже,
    безсумнівно, другий варіант найбільш підходящий, але тут ми стикаємося з
    проблемою нестачі оперативної пам'яті. У сучасних комп'ютерах ємність ОЗУ
    (аналог RAM) не перевищує 1MB, 384KB з яких зарезервовані під ПЗУ, ППЗУ,
    BIOS ... Разом залишається 640KB "чистої" оперативної пам'яті але в ній помістяться дві
    три програми і не більше.
    Добре видно, що впровадження більш раціонального рішення стикається з
    єдиною проблемою пам'яті. Але чи можна якимось чином вирішити цю проблему?
    Саме на цьому етапі на допомогу користувачеві приходить віртуальна пам'ять, що
    дозволяє модифікувати ресурси пам'яті, зробити об'єм оперативної пам'яті
    набагато більше, для того, щоб користувач, помістивши туди якомога більше
    програм, реально заощадив час і підвищив ефективність своєї праці.
    "Відкриття" віртуальної пам'яті (далі ВП) внесло величезну контрибуцію в розвиток
    сучасних технологій, полегшило роботу як професійного програміста, так
    і звичайного користувача, забезпечуючи процес більш ефективного вирішення завдань на
    ЕОМ. Виникає багато питань: як влаштована ВП, як вона функціонує, яким
    чином при використанні ВП ресурси звичайної фізичної пам'яті "збільшуються"
    у багато разів, чи використовуються для цієї мети будь-які "підручні" засоби
    (пристрої) ..? Дійсно, виникає безліч цікавих питань,
    відповіді на які будуть дані в наступних параграфах.
    Чому віртуальна пам'ять також носить назву математичної, що здається? Як
    можна реорганізувати ОЗУ таким чином, щоб її обсяг подвоївся, потроївся?
    Перевага ВП полягає в тому, що обсяг ОЗУ не може бути збільшена ні
    практично, ні теоретично. (Це просто неможливо ні якими засобами
    не можна оптимізувати або перетворити комірки пам'яті, для того, щоб, скажімо,
    поміщати туди два біта інформації замість одного). Але як же побудована ВП? Справа в
    тому, що при роботі машини, що використовує віртуальну пам'ять, обов'язково
    використовується зовнішні запам'ятовуючі пристрої (ВЗП), що звичайно представляє
    собою накопичувач на гнучкому магнітному диску або жорсткому диску типу "вінчестер".
    (Останнє пристрій використовується частіше).
    Дійсно, використання віртуальної пам'яті обов'язково має на увазі
    звернення до диску тому що при розробці і впровадженню систем з таким методом
    організації пам'яті, було представлено, що ячейкіоператівной пам'яті і пам'яті на
    диску будуть являти собою єдине ціле. За своєю суттю СП не така вже
    складна структура навпаки, брак оперативної пам'яті компенсується
    наявністю вільного дискового простору який задіяний в ролі ОП.
    Необхідно розуміти, що частина програм, які ми не змогли розмістити в ОП
    через її нестачі, (див. поч. § 3) тепер будуть розміщені на диску і це буде
    еквівалентно розміщення в оперативній пам'яті. Віртуальна пам'ять представляє
    собою сукупність всіх елементів пам'яті оперативної і зовнішньої, що мають наскрізну
    нумерацію від нуля до граничного значення адреси. Використання ВЗП дуже
    зручно, тому що в цей час користувач оперує із загальним адресним
    простором і йому байдуже яка фізична пам'ять при цьому використовується
    зовнішня чи внутрішня. При роботі ВП всього лише мається на увазі різниця між
    віртуальними адресами та фізичними. Цікаво простежити за формуванням
    адресного простору при використанні ВП. Як же адресне поле може бути
    збільшено? Справа в тому, що при роботі машини з ВП, використовуються методи
    сторінкової і сегментної організації пам'яті, зміст яких розглянуто в наступних
    параграфах.

    4. Віртуальна Пам'ять при сторінкової організації
    (Сторінкова організація ВП, формування віртуальних адрес)


    Як було сказано раніше, для більш ефективного функціонування ЕОМ використовується
    динамічний метод розподілу пам'яті. Це означає, що процес розподілу
    пам'яті здійснюється безпосередньо в ході рішення задачі з урахуванням попереднього
    стану машини і опису масивів даних. Наприклад процес компіляції з
    мов високого рівня відводить певну область пам'яті під кожну
    змінну, масив, структуру. В даний час процес динамічного
    розподілу пам'яті здійснюється методом відносної адресації (з
    використанням віртуальних адрес), у вигляді сторінкової і сегментної організації
    пам'яті.
    Розглянемо першу форму організації ВП при її сторінкової організації (СО). Потрібно
    відзначити дуже важливий пункт, що при СВ, всі ресурси пам'яті, як оперативної,
    так і зовнішньої представляються для користувача єдиним цілим. Користувач
    працює з спільним адресним простором і не замислюється яка пам'ять при цьому
    використовується: оперативна або зовнішня, а ця спільна пам'ять носить назву
    віртуальної (що моделюється). Віртуальна пам'ять розбивається на сторінки, які
    містять певну фіксовану кількість комірок пам'яті. При цьому одна
    сторінка математичної пам'яті не може бути більше або менше за інших все
    сторінки повинні бути однакові за кількістю осередків. Типові розміри сторінок
    256, 512, 1024, 2048 Байт і більше (числа кратні 256).



    Рис.3

    Так звана фізична пам'ять, яка включає в себе ОЗУ і ВЗП так само
    розбивається на сторінки обсяг яких повинен відповідати розмірам ВП, інакше,
    через неправильності розмірів, осередки фізичної пам'яті не будуть збігатися з
    осередками ВП, що призведе до плутанини і "зависання" системи. На малюнку 3
    зображений спосіб формування сторінок ВП з фізичної пам'яті. Осередки ОЗУ
    розбиваються на сторінки однакового обсягу (наприклад 1024 Байт), кожна з
    яких може містити будь-яку інформацію. У ВЗП, представленим накопичувачем
    типу "вінчестер", процесор резервує певні сектори з якими
    згодом буде працювати ВП. Усе це складається разом і являє собою
    єдину структуру ВП.
    При роботі користувача, одна з його програм може знаходиться в ОП (реально в
    мікросхемі на рис. 3), а інша в ВЗП (на диску). При цьому абсолютно не
    помітно, що користувач працює з математичними адресами, тому в
    процесі операцій процесор може звертатися тільки до ОП (або СОП
    Сверхоператівная пам'ять) у разі виконання першої програми, або до диска, якщо
    виконується друга програма. Але під час роботи другої програми, операційна
    система повинна організувати перепис тієї сторінки, де знаходиться другий
    програма, в Оперативну Пам'ять.
    Користувач не замислюється над цим, але в цей момент сторінка ВП з диска, як
    б накладається на вільну * сторінку ВП. Таким чином, при виконанні навіть
    однієї програми, різні частини цієї програми можуть знаходиться в ОП (СВП) або
    на магнітних носіях, а одні й ті ж клітинки загальної фізичної пам'яті можуть
    називатися різними адресами.
    Адресна частина команди в призначених для користувача програмах повинна містити адресу
    математичної сторінки та адресу слова, яке повинно знаходитися в цій сторінці
    (ключове слово). При розподілі пам'яті між різними частинами програми,
    процесор бере на себе функції перетворення адреси, що знаходиться в
    математичної сторінці, на адресу фізичної сторінки. За цією адресою
    розташовується потрібне слово, яке може зберігається як у ВП, так і в зовнішній
    пам'яті. Сукупність адреси фізичної сторінки та адреси слова всередині цієї
    сторінки утворює фізичну адресу операнда.
    Відповідність між номерами фізичних та математичних сторінок встановлюється
    спеціальною програмою операційної системи, яка носить назву менеджер
    (диспетчер) пам'яті. Як правило ця програма є резидентної і управляє
    всіма ресурсами машинної пам'яті. Для 286х процесорів використовують менеджер
    himem.sys, а для 386х і 486х машин emm386.sys і qemm.sys За допомогою таких
    програм формується так звана сторінкова таблиця, яка міститься в
    сверхоператівную пам'ять, що володіє найбільшим швидкодією. Ця таблиця
    є невід'ємною частиною організації ВП з СВ, тому що в ній міститься вся
    інформація про сторінки, на даний момент знаходяться в пам'яті. У сторінкової
    таблиці знаходяться адреси програм, рівень їх пріоритету і т. д. Зміст
    сторінкової таблиці буде докладно описано нижче.
    Розглянемо приклад перетворення віртуальних адрес у фізичні. Нехай
    віртуальна пам'ять містить 8 сторінок по 2048 Байт в кожній сторінці. Для
    компактності прикладу, припустимо, що фізична пам'ять має ємність 4
    сторінки (по 2 Кб відповідно). При зверненні до фізичної пам'яті для
    проведення будь

    14ти бітовий віртуальну адресу

     3х бітовий 11ті бітовий адреса в межах обраної нд
    номер нд

    Рис.4

    -----< Br /> Ця сторінка не обов'язково може бути вільною. Подробиці про
    стратегіях заміни (своппірованія) сторінок див у § 8


    яких операцій (записи або вибірки операндів, виконання команди або
    здійснення передачі керування), програмою формується 14ти бітовий адреса,
    відповідний віртуального адресою, що визначає клітинки в проміжку від 0
    до 16 Кб 1. У даному прикладі 14ти бітовий адресу як би розбивається на 3х бітовий
    номер віртуальної сторінки і 11ті бітовий усередині тієї сторінки, номер якої
    визначений тим самим 3х двійкового номером. Приклад коду адреси при сторінкової
    організації пам'яті показаний на малюнку 4. А зв'язок між номерами сторінок і самими
    віртуальними адресами показана на малюнку 5. Отже, розглянемо малюнок 4: 3х
    бітовий номер віртуальної сторінки 110 (в binформате) відповідає номерами 6 і
    6h (dec і hexформати) необхідно пам'ятати, що всі операції в машині здійснюються
    в шістнадцятковому форматі. Таким чином, вибирається сторінка з номером 6 і
    внутрішнім адресою 00101001110B (14Eh). Значить по малюнку 5, цей фізичний
    адреса буде відповідати віртуального адресою 12288 ...
    Сторінка Віртуальні адреси


    Рис.5
    Це означає, що шоста сторінка віртуальної пам'яті починається з адреси 12288 і
    закінчується за адресою 14335. Загальний обсяг віртуальної сторінки складає 2048
    Байт (2 Кб).
    Для визначення фізичної адреси призначеної для користувача програми, резидентний
    диспетчер пам'яті під керуванням операційної системи повинен встановити
    місцезнаходження віртуальної сторінки. Фізична сторінка пам'яті, яка
    відповідає віртуальної, може знаходиться в оперативній пам'яті, але може також
    бути і на диску. Як було сказано раніше, для того щоб встановити відповідність
    між віртуальною та фізичної сторінками, ОС звертається до сторінкової таблиці,
    кожний з рядків якої містить по одному запису для кожної з восьми
    віртуальних сторінок. Як же організована ця сторінкова таблиця? Запис у
    рядку містить три поля Перше однобітовое поле по суті є прапором в цій
    комірці може знаходиться або включений, або вимкнений біт (1 або 0), що
    вказує на конкретне місцезнаходження сторінки: якщо в цьому полі міститься
    код нуля це підказує процесору, що необхідну сторінку треба шукати у
    зовнішньої пам'яті, якщо значення біта в даному полі дорівнює 1, то шукана сторінка
    вже знаходиться в оперативній пам'яті. Таким чином, всі функції єдиного
    біти в цьому полі приймати значення True або False. Друге поле містить адресу
    зовнішньої пам'яті. Ця адреса стане необхідний якщо шуканої сторінки немає в
    оперативної пам'яті, а вона знаходиться в ВЗП і її треба переписати в ОЗП для роботи
    з програмою, що знаходиться в цій сторінці. За цією адресою машина звертається до
    віртуальній сторінці, що зберігається на диску і копіює її вміст в ОЗУ. Важливе
    зауваження полягає в тому, що якщо в першому однобітовом поле прапор знаходиться в
    стані 1, то друге поле автоматично ігнорується, тому що шукана
    сторінка вже "сидить" у ВП і немає ніякої необхідності "MOV CX, ADDRESS"
    (засилати в регістр CX адреса зовнішньої НД для його обробки). Після того як
    машина відпрацює з даною сторінкою ВП і потреба в ній зникне (можливо на
    якийсь час), ця сторінка назад переноситься на диск, звільняючи місце для
    іншої сторінки яка потрібна машині в даний момент для продовження роботи.
    Нарешті третє поле, функціональне навантаження якого вказувати номер сторінки
    оперативної пам'яті, в якій знаходиться необхідна інформація. Якщо потрібної
    сторінки немає в ОП, а вона знаходиться на диску (біт першого поля вимкнено), то
    третє поле ігнорується. На малюнку 6 зображена схема сторінкова організація
    віртуальної пам'яті.

     
    Рис.6 Сторінкова організація Віртуальної Пам'яті.

    Отже, при розподілі пам'яті в машині, супервізор формує сторінкову
    таблицю. Входом до цієї таблиці є номер математичної сторінки, в якій
    знаходиться потрібна комірка пам'яті. Якщо адресна сторінка знаходиться в ОП, то
    формування адреси відбувається наступним чином: двох бітовий номер сторінки
    заноситься в два лівих розряду адресного регістра оперативної пам'яті, а адреса
    усередині віртуальної сторінки (11 біт вихідного адреси) переписується у 11 правих
    розрядів адресного регістра. Це дуже добре показано на правій частині малюнка.
    P
         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status