Page 23 - 6571
P. 23

Один з підходів полягає в тому, що сучасні комп’ютерні сис-
            теми не є монолітними, а мають багаторівневу структуру. Це дає
            можливість реалізувати загальну пам’ять на будь-якому з рівнів.
            Згідно даного підходу спільна пам’ять має апаратну реалізацію,

            як в «справжньому» мультипроцесорі. Існує одна копія операцій-
            ної системи з одним набором таблиць, зокрема таблицею розпо-
            ділу  пам’яті.  Якщо  процесору  необхідно  більше  пам’яті,  то  він

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

            ня  мультикомп’ютера  та  операційної  системи,  що  здатна  моде-
            лювати  спільну  пам’ять,  надаючи  єдиний  віртуальний  адресний

            простір, розбитий на сторінки. При такому підході будемо мати
            розподілену спільну пам’ять (Distributed Shared Memory, DSM), в
            якій кожна сторінка розташована в одному із модулів пам’яті, а
            кожна  машина  володіє  своєю  власною  віртуальною  пам’яттю  і

            власною  таблицею  сторінок.  Якщо  процесор  викликає  команду
            LOAD або STORE, звертаючись до сторінки, якої у нього немає, то
            генерується  системна  помилка.  Після  цього  операційна  система

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

            пам’ять, і виконання перерваної команди поновлюється. У дано-
            му  випадку,  операційна  система  одержує  відсутні  сторінки  не  з
            диска, а з пам’яті. При цьому у користувача складається вражен-

            ня, що машина має єдину спільну пам’ять.
                  Ще  один  підхід  полягає  у  програмній  реалізації  спільної
            пам’яті  через  систему  користувача  реального  часу.  При  такому

            підході абстракцію спільної пам’яті створює мова  програмуван-
            ня, і ця абстракція реалізується компілятором (тобто модель спі-
            льної  пам’яті  може  залежати  від  мови  програмування).  Напри-

            клад,  модель  Linda  заснована  на  абстракції  спільного  простору
            кортежів (записів даних, що містять набори полів). Процеси будь-
            якої машини можуть взяти кортеж із спільного простору або від-
            правити його у спільний простір. Оскільки доступ до цього прос-

            тору  повністю  контролюється  програмно  (системою  реального


                                                        22
   18   19   20   21   22   23   24   25   26   27   28