Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по операционным системам(1).DOC
Скачиваний:
76
Добавлен:
02.05.2014
Размер:
1.44 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 – библиотек, поэтому многие функции ядра доступны программам через механизм динамической компоновки.

Драйверы.

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

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

На этом пути есть несколько неприятных моментов:

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

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

в-третьих, аппаратура постоянно совершенствуется. Новые периферийные устройства не всегда совместимы со старыми. Поэтому старые программы либо не работают на новых ПК, либо работают не так как нужно.

В составе OS/2 поставляется набор драйверов для всех стандартных устройств ПК, что исключает необходимость работы с аппаратурой на уровне портов. В крайнем случае, можно использовать драйверы производителя аппаратуры. Нужно только убедиться, что он предназначен для той версии ОС, которая используется на ПК.

Так же как в MS DOS в OS/2 драйверы подключаются в файле конфигурации config.sys Однако в отличие от DOS файл конфигурации содержит две команды подключения драйверов – BASEDEV и DEVICE. Первая подключает базовые драйверы, без которых работа OS/2 невозможна, вторая – все остальные.