Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
34
Добавлен:
02.05.2014
Размер:
1.46 Mб
Скачать

Модель памяти flat.

Схема преобразования адресов процессора 386 позволяет работать с сегментами очень большого размера – порция 4 Гбайт. Это намного больше, чем нужно для программирования в среде OS/2.

В результате можно полностью отказаться от использования сегментированной модели памяти. Для этого достаточно установить базовый адрес, получаемый с помощью сегментных регистров процессора, равным нулю. После этого одним только уменьшением 32-разрядного смещения можно адресовать любую область памяти.

Соответствующая модель памяти называется моделью FLAT или сплошной (несегментированной) моделью памяти.

Таким образом, составляя 32-разрядные программы для OS\2 можно забыть про селекторы, сегментные регистры, модификаторы near и far. Содержимым сегментных регистров управляет ОС. Программисту это делать запрещено. В состав программного интерфейса OS\2 входят многочисленные функции, с помощью которых приложение может получать блоки памяти нужного размера и с нужными характеристиками.

Файловая система.

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

ОС OS\2 способна работать как с файловой системой DOS, так и со своей собственной системой HPFS. Кроме того в OS\2 есть средства монтирования других файловых систем.

OS\2 можно установить в существующий раздел диска, созданный в стандарте DOS, либо в созданный заново раздел HPFS. При этом OS\2 будет иметь доступ к обоим разделам.

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

Для повышения производительности IBM OS\2 была создана файловая система (High Performance File System) HPSF – высокопроизводительная файловая система. Эта файловая система оптимизирована для мультизадачной среды и ускоряет одновременную работу программ с файлами, расположенными на дисках большого объема. Специальный алгоритм размещения файлов значительно уменьшает фрагментацию файлов, что повышает производительность системы. При размещении файла для него подбирается подходящий непрерывный свободный участок диска и оставляется некоторый запас свободного пространства. Когда файл расширяется, для него выделяются в первую очередь секторы из зарезервированного для этого файла участка диска. Если же размер файла увеличился значительно, для него может быть выделен еще один или несколько свободных участков.

При использовании HPFS можно использовать имена файлов размером до 254 символов. Имя может содержать строчные и прописные буквы, пробелы и другие символы в произвольном количестве.

В дополнение к обычным атрибутам файлов как «только для чтения», «скрытый», «системный» и «архивированный» OS/2 хранит для каждого файла набор расширенных атрибутов. Это тип файла, комментарий и ключевые слова для поиска, пиктограммы для визуального представления файлов и т.д.

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

Библиотеки динамической компоновки.

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

В мультизадачной среде такой подход приведет к неэкономному использованию оперативной памяти, так как в нее будет загружено несколько копий одних и тех же модулей.

В OS/2, как и в других мультизадачных операционных системах применяется динамическая компоновка, исключающая дублирование кода функций. Для этого группы используемых вместе функций объединяются в файлы с расширением имени .dll, которые называются библиотеками динамической компоновки, динамическими библиотеками или просто DLL - библиотеками.

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

Этим достигается значительная экономия памяти, поэтому динамические библиотеки очень широко используются в практике программирования. Ядро OS/2 в основном состоит из DLL – библиотек, поэтому многие функции ядра доступны программам через механизм динамической компоновки.

Соседние файлы в папке Операционные системы