Главная · Поиск книг · Поступления книг · Top 40 · Форумы · Ссылки · Читатели

Настройка текста
Перенос строк


    Прохождения игр    
Demon's Souls |#13| Storm King
Demon's Souls |#12| Old Monk & Old Hero
Demon's Souls |#11| Мaneater part 2
Demon's Souls |#10| Мaneater (part 1)

Другие игры...


liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня
Rambler's Top100
Образование - Различные авторы Весь текст 2311.07 Kb

Программирование и кодирование

Предыдущая страница Следующая страница
1 ... 91 92 93 94 95 96 97  98 99 100 101 102 103 104 ... 198
         гантского существующего оборудования и  программного  обеспечения
         ограничивают ее немедленную пригодность в качестве решения.
              Поскольку LIM EMS практична, немедленно доступна и совмести-
         ма вверх со всеми существующими системами, работающими под управ-
         лением MS-DOS, она стала коммерчески и технически успешным спосо-
         бом  для  программ DOS для преодоления барьера 640К.  Фактически,
         некоторые промышленные наблюдатели   предполагают,  что эффектив-
         ность решения LIM EMS в действительности удлинит  жизнь систем на
         основе MS-DOS на несколько лет за точку их предполагавшегося тех-
         нологического устаревания.

              LIM EMS  3.2

              Первая широко поддержанная версия LIM EMS за номером 3.2 бы-
         ла опубликована в сентябре 1985 г.   Она определила протокол рас-
         ширенной памяти, обеспечивавший надлежащим образом спроектирован-
         ные  программные  приложения  памятью  для  данных   или   кодов,
         переключаемую  банками,  объемом до 8 Мбайт.  Данная спецификация
         включала в себя средства,  которые позволяли нескольким  активным
         приложениям использовать  эту  память  одновременно без взаимного
         влияния.
              Способность для  многих  программ,  использующих расширенную
         память, сосуществовать особенно выгодна разработчикам резидентных
         программ,  по завершении остающихся в памяти,  по крайней мере, в
         двух аспектах.  Во-первых,  такая программа может  хранить  часть
         своих  данных или кода в расширенной памяти,  что уменьшает объем
         обычно  занимаемой ею памяти.  Во-вторых, конфликтов между такими
         и другими программами из-за использования расширенной памяти мож-
         но избежать,  так как LIM EMS определяет конкретные соглашения по
         программированию,  которые предотвращают появление таких конфлик-
         тов.

                          Идеи и терминология LIM EMS 3.2

              Основная схема LIM EMS 3.2 работает следующим образом:
              1. На  машине может быть установлено до 8 Мбайт ОЗУ на одной
         или нескольких платах. В отличие от многообразных плат памяти на-
         копитель  на этих платах делится на страницы по 16 Кбайт.  Расши-
         ренная память не адресуется приложениями DOS непосредственно, так
         как она не появляется в младших 640 К адресного пространства пер-
         сонального компьютера.
              2. Эти платы памяти также содержат набор регистров соответс-
         твия, которые управляются программно для установления отображения
         какой-либо  из  16-Кбайтных страниц на плате (платах) расширенной
         памяти на любую из четырех 16-Кбайтных зон  в  64-Кбайтной  части
         адресного пространства персонального компьютера, именуемого стра-
         ничным кадром. Страничный кадр размещается где-то в резервном ад-
         ресном пространстве персонального компьютера над 640К и ниже пре-
         дела адресации 8086/8 - 1  М.  Каждая  зона  в  страничном  кадре
         называется  физической  страницей  и  определяется  числом 0 - 3.
         Страничный кадр образует окно, через которое правильно написанная
         программа  может  получить  доступ  ко  всей емкости памяти платы
         (плат) расширенной памяти.  Процесс изменения содержимого регист-
         ров  отображения плат для обеспечения доступности страницы расши-
         ренной памяти программе называется страничным отображением.
              3. Управление системой расширенной памяти,  включая странич-
         ное отображение,  выполняется программной компонентой, называемой
         Менеджер  расширенной  памяти  или ЕММ (Expanded Memory Manager),
         которая поставляется изготовителем платы расширенной  памяти.  Во

                                      - 7-6 -
         многом так же,  как DOS и BIOS обеспечивают программный интерфейс
         между приложением и аппаратурой ЦВМ,  находящейся ниже него,  ме-
         неджер расширенной памяти обеспечивает программный интерфейс меж-
         ду приложением и системой расширенной памяти.  Менеджер расширен-
         ной  памяти  загружается в память так же,  как драйвер клавиатуры
         DOS  во время загрузки и сообщается с программами через программ-
         ное прерывание 67h, используя механизм передачи параметров, срав-
         нимый с интерфейсом прерывания 21h DOS.
              4. По запросу программы менеджер расширенной памяти размеща-
         ет набор из одной или более логических страниц для  программы. Он
         также размещает обработчик (handle), который программа использует
         в последующих запросах расширенной памяти к менеджеру расширенной
         памяти,  для определения набора страниц расширенной памяти, с ко-
         торыми нужно работать.  Во многом таким же образом как обработчик
         файлов DOS используется ОС для отслеживания файлов, открытых каж-
         дой программой,  обработчики расширенной памяти используются  ме-
         неджером  расширенной  памяти для отслеживания множества активных
         страниц расширенной памяти каждой программы.  Формат  обработчика
         неопределен, за исключением того факта, что он является 16-битной
         величиной.  Номера логических страниц,  связанные с обработчиком,
         отсчитываются относительно нуля до значения, на единицу меньшего,
         чем количество страниц, запрошенных программой.
              5. Когда  от менеджера расширенной памяти запрашивается обс-
         луживание, программа определяет конкретную страницу в 16К  расши-
         ренной  памяти,  которую  она желает использовать,  путем задания
         комбинации обработчика и номера логической страницы.
              Примечание: Ранние  версии  спецификации  используют  термин
         идентификатор (ID) процесса, а не термин обработчик для ссылки на
         множество страниц расширенной памяти. Разработчики LIM EMS внача-
         ле предполагали, что каждая программа будет размещать только одно
         множество страниц,  подразумевая соответствие один к одному между
         программами и идентификаторами процессов.  На  практике,  однако,
         многие  программы  запрашивают более одного набора страниц расши-
         ренной памяти. Как Вы увидите позже, это законный и полезный при-
         ем программирования.  Однако,  факт,  что одна программа могла бы
         обладать более  чем одним идентификатором процесса EMS, запутывал
         многих пользователей, что и подсказало изменение терминологии.
              6. Менеджер расширенной памяти LIM EMS 3.2 системы расширен-
         ной  памяти  обеспечивает  14  функций,  вызываемых пользователем
         (плюс две резервные функции),  которые приложения используют  для
         получения  информации  о  страницах расширенной памяти и работы с
         ними.

                    Улучшенная спецификация расширенной памяти

              Вскоре сформировалось второе объединение в компьютерной про-
         мышленности  для  продвижения улучшенной спецификации расширенной
         памяти. Результатом его усилий, которое поддерживалось корпораци-
         ями AST Research, Quadram и Ashton-Tate была вверх совместимая (с
         LIM EMS 3.2) схема расширенной памяти, именуемая AQA EEMS.

                             Ограничение размера окна
              Основное ограничение  схемы  LIM  EMS 3.2 с точки зрения AQA
         заключалось в ничтожном размере окна страничного кадра, равном 64
         Кбайт.  Через такое небольшое окно в расширенную память программа
         может иметь доступ только к 4 16-Кбайтным  страницам  расширенной
         памяти из 512 возможных (8 мегабайт), поддерживаемых спецификаци-

                                      - 7-7 -
         ей.  AQA EEMS позволяет программе обращаться,  по крайней мере  в
         теории,  к  максимум  64 16-Кбайтных страниц расширенной памяти в
         любой данный момент времени. Быстрый подсчет (думающие в двоичном
         коде могут сдвигать биты) показывает,  что при этом память,  при-
         годная для отображения должна составлять до 1 Мбайта!  Но  подож-
         дите,  спросите Вы, как там насчет всех видеобуферов и ПЗУ BIOS в
         пространстве над 640К, не говоря о DOS и приложениях в пространс-
         тве ниже 640К? Учтено ли это в регистрах отображения?
              Нет. Действительность,  с которой имеет дело EEMS та  же,  с
         которой  обращается LIM EMS;  AQA EEMS просто работает с этой ре-
         альностью более смело.  LIM EMS 3.2 - пример консервативной в са-
         мом худшем смысле философии проектирования. Например, разработчи-
         ки определили,  что персональный компьютер с  платой  улучшенного
         графического адаптера (EGA) и сетевой платой, содержащей ПЗУ, мо-
         жет обладать только 64 К неиспользуемого  адресного  пространства
         над  640К.  Адресным пространством ниже 640К уже твердо управляет
         DOS.  Таким  образом,  для  разработчиков  LIM  EMS  3.2  остался
         64-Кбайтный страничный кадр.
              Разработчики AQA оценивали задачу с другой точки зрения. Они
         рассуждали,  что стандартный персональный компьютер с CGA или MDA
         обладает достаточным адресным пространством выше 640К для отобра-
         жения,  по  крайней  мере,  12 страниц EMS одновременно.  И фирма
         Quarterdeck Office Systems,  не уступая ничего  DOS,  разработала
         расширитель ОС, называемый DESQView, который может менять местами
         программы ниже и выше 640К.  Если бы DESKView была способна  под-
         ставлять почти мгновенную операцию отображения страниц вместо от-
         носительно медленного процесса обмена местами (своппинга), ее по-
         тенциал  в  качестве высокопроизводительной многозадачной системы
         для IBM PC сильно возрос бы.
              Фирма AST разработала плату,  способную к отображению памяти
         через  адресное  пространство  1  Мбайт,  снабдив  таким  образом
         DESKView механизмом,  необходимым для быстрого переключения между
         программами. Практические ограничения, однако, препятствуют пере-
         отображение тех частей адресного пространства, которые занимаются
         ПЗУ BIOS, дисплейным адаптером и памятью на основной плате, необ-
         ходимой для загрузки системы.
              Схема EEMS на рынке пользуется ограниченным успехом. Сочета-
         ние путаницы в продаже продукции,  вызванной AST и Quadram, и вя-
         лой поддержки ее функциональных расширений другими основными раз-
         работчиками  программного  обеспечения  персонального  компьютера
         ограничили ее рост в качестве главного  альтернативного стандарта
         для LIM EMS. Разработчики были довольны, что EEMS, по крайней ме-
         ре,  совместима вверх с LIM EMS,  но многие из них,  очевидно, не
         думают, что данные расширения, которые она предлагает, стоят  за-
         трат, если расширения влекут за собой потерю  совместимости  вниз
         со схемой LIM.

                                    LIM EMS 4.0

              Вне зависимости  от  результатов  рынка  кто-то в лагере LIM
         должен был найти в AQA EEMS что-либо  привлекательное.  Поскольку
         приближался  к  выпуску  продукт фирмы Microsoft - Windows 2.0 (а
         величина памяти, требовавшаяся для работы с ним, все росла), идея
         получить возможность переключать задачи быстро в памяти ниже 640К
         должна была приобрести заметную привлекательность. И  может быть,
         пространство  над 640К не было заполнено целиком,  поскольку даже
         IBM PS/2 с контроллером дисплея VGA  имел  пространство  для,  по

                                      - 7-8 -
Предыдущая страница Следующая страница
1 ... 91 92 93 94 95 96 97  98 99 100 101 102 103 104 ... 198
Ваша оценка:
Комментарий:
  Подпись:
(Чтобы комментарии всегда подписывались Вашим именем, можете зарегистрироваться в Клубе читателей)
  Сайт:
 

Реклама