Состав и назначение системного программного обеспечения

Операционная система MS DOS Среди системных программ центральное место занимает ОС, которая состоит из следующих частей:

базовая система ввода-вывода (BIOS), находящаяся в ПЗУ. BIOS также содержит программу вызова загрузчика операционной системы;

загрузчик ОС - короткая программа, находящаяся в первом секторе системной дискеты. Ее функция заключается в считывании в память двух модулей: Ю.SYS и MS DOS.SYS, на чем процесс загрузки и завершается.

дисковые файлы Ю.SYS (дополнение к BIOS) загружает MS DOS.SYS, драйверы устройств из файла CONFIG.SYSи передает управление MS DOS.SYS, который в свою очередь инициализирует системные таблицы DOS, загружает командный процессор и передает ему управление;

- командный процессор COMMAND.СОМ, обрабатывающий команды, вводимые пользователем, прежде всего считывает из корневого каталога загружаемого диска файл AUTOEXEC.ВАТ (если он существует) и выполняет включенные в него команды. Выполнив последнюю команду этого файла, командный процессор выводит на экран запрос и входит в цикл ожидания команд оператора.

Файл конфигурации CONFIG.SYS

CONFIG.SYS представляет собой просто текстовый файл, содержащий перечень специальных инструкций для DOS, т.е. команд для создания конфигурации.

Имя файла CONFIG.SYS зарезервировано в DOS, и находиться он должен в корневом каталоге на диске С. Создать или откорректировать CONFIG.SYS можно с помощью любого текстового редактора.

Файл CONFIG.SYS выполняет три функции:

1) позволяет расширить возможности машины путем установки "устройств", работа с которыми в самой DOS не предусмотрена;

2) применяется для установки некоторых параметров DOS;

3) задает распределение оперативной памяти и других ресурсов компьютера.

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

Кроме команд DOS в файл АUTOЕХЕС.ВАТ обычно включают следующие команды:

RЕМ[любые символы] - комментарии;

ЕСНО ОFF/ОN - отображать или не отображать на экран выполняемые команды;

РАТН=С:\dir 1; C:\dir2;... - команда настройки пути поиска исполняемых файлов.

Пример файла АUTOЕХЕС.ВАТ:

echo off

rem установка пути поиска программ

path с:\dос;с:\nс; с:\windows

rem запуск "русификатора" экрана и клавиатуры

rk

rem запуск антивирусной программы

с:\adinf\adinf.exe

rem запуск операционной оболочки WINDOWS

В ОС принято определять наименование устройств различными именами. Так, например, имена устройств внешней памяти названы буквами латинского алфавита: А: и В: называются дисководы гибких дискет, С:, Б:, и т.д. - разделы жесткого диска.

Командный язык ОС. Для каждой из ОС существует язык ОС - системные команды, с помощью которых пользователь обращается к аппаратным средствам ПК. Приведем некоторые из команд операционной системы MS DOS:

DIR имя диска - просмотр текущего директория;

COPY CON имя файла - создание текстового файла с клавиатуры;

ТУРЕ имя файла с расширением - просмотр содержимого файла на экране монитора;

REN имя диска:\директорий\имя файла новое имя файла - переименование файла;

DEL имя файла - уничтожение файла;

СОРТ имя файла1+имя файла2+... имя результирующего файла -копирует содержимое одного или нескольких файлов в результирующий файл;

DISKCOPY имя диска-источника: имя диска-приемника: - копирует целиком диск-источник на диск-приемник;

FORMAT имя устройства/ ключи - форматирует диск.

Md имя диска] директорий - создание директории.

Cd имя диска\директорий - смена директория.

Rd имя диска\директорий - удаление директория.

Понятие операционной системы.

Операционная система (ОС) - комплекс системных и управляющих программ, предназначенных для наиболее эффективного использования всех ресурсов вычислительной системы (ВС) (Вычислительная система - взаимосвязанная совокупность аппаратных средств вычислительной техники и программного обеспечения, предназначенная для обработки информации) и удобства работы с ней.

Назначение ОС - организация вычислительного процесса в вычислительной системе, рациональное распределение вычислительных ресурсов между отдельными решаемыми задачами; предоставление пользователям многочисленных сервисных средств, облегчающих процесс программирования и отладки задач. Операционная система исполняет роль своеобразного интерфейса (Интерфейс - совокупность аппаратуры и программных средств, необходимых для подключения периферийных устройств к ПЭВМ) между пользователем и ВС, т.е. ОС предоставляет пользователю виртуальную ВС. Это означает, что ОС в значительной степени формирует у пользователя представление о возможностях ВС, удобстве работы с ней, ее пропускной способности. Различные ОС на одних и тех же технических средствах могут предоставить пользователю различные возможности для организации вычислительного процесса или автоматизированной обработки данных.

В программном обеспечении ВС операционная система занимает основное положение, поскольку осуществляет планирование и контроль всего вычислительного процесса. Любая из компонент программного обеспечения обязательно работает под управлением ОС.

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

История создания и развития операционных систем.

1. Стандарт CP/M

Начало созданию операционных систем для микроЭВМ положила ОС СР/М. Она была разработана в 1974 году, после чего была установлена на многих 8-разрядных машинах. В рамках этой операционной системы было создано программное обеспечение значительного объема, включающее трансляторы с языков Бейсик, Паскаль, Си, Фортран, Кобол, Лисп, Ада и многих других, текстовые (Текстовые процессоры - это наиболее широко используемый вид прикладных программ. Они позволяют подготавливать документы гораздо быстрее и удобнее, чем с помощью пишущей машинки. Текстовые процессоры позволяют использовать различные шрифты символов, абзацы произвольной формы, автоматически переносят слова на новую строку, позволяют делать сноски, включать рисунки, автоматически нумеруют страницы и сноски и т.д) и табличные процессоры, системы управления базами данных, графические пакеты (Система управления базами данных (СУБД) - позволяет управлять большими информационными массивами - базами данных), символьные отладчики и другие проблемно ориентированные программы.

Успех системы в значительной степени был обусловлен ее предельной простотой и компактностью, возможностью быстрой настройки на различные конфигурации ПЭВМ. Первая версия системы занимала всего 4 К, что было весьма важно в условиях ограниченности объемов памяти ПЭВМ того времени.

2. Операционные системы типа DOS

ОС типа DOS стала доминирующей с появлением 16-разрядных ПЭВМ, использующих 16-разрядные микропроцессоры типа 8088 и 8086. С точки зрения долголетия ни одна операционная система для микрокомпьютеров не может даже приблизиться к DOS. С момента появления в 1981 году DOS распространилась настолько широко, что завоевала право считаться самой популярной в мире ОС. Несмотря на некоторые свои недостатки и на то, что большая ее часть основывается на разработках 70-х годов, DOS продолжает существовать и распространяться и поныне. Хорошо это или плохо, она, вероятно, будет доминировать на рынке операционных систем в течение ближайшего времени. В настоящее время для DOS разработан огромный фонд программного обеспечения. Имеются трансляторы (Транслятор - программа, автоматически преобразующая программу на языке программирования в последовательность инструкций. Разновидности трансляторов - компилятор, интерпретатор) для практически всех популярных языков высокого уровня, включая Бейсик, Паскаль, Фортран, Си, Модула-2, Лисп, Лого, АПЛ, Форт, Ада, Кобол, ПЛ-1, Пролог, Смолток и др.; причем для большинства языков существует несколько вариантов трансляторов. Имеются инструментальные средства для разработки программ в машинных кодах - ассемблеры, символьные отладчики и др. Эти инструментальные средства сопровождаются редакторами, компоновщиками и другими сервисными системами, необходимыми для разработки сложных программ. Кроме системного программного обеспечения для DOS создано множество прикладных программ.

3. Стандарт MSX

Этот стандарт определял не только ОС, но и характеристики аппаратных средств для школьных ПЭВМ. Согласно стандарту MSX машина должна была иметь оперативную память объемом не менее 16 К, постоянную память объемом 32 К с встроенным интерпретатором языка Бейсик, цветной графический дисплей с разрешающей способностью 256х192 точек и 16 цветами, трехканальный звуковой генератор на 8 октав, параллельный порт для подключения принтера и контроллер для управления внешним накопителем, подключаемым снаружи.

Операционная система такой машины должна была обладать следующими свойствами: требуемая память - не более 16 К, совместимость с СР/М на уровне системных вызовов, совместимость с DOS по форматам файлов на внешних накопителях на основе гибких магнитных дисков, поддержка трансляторов языков Бейсик, Си, Фортран и Лисп. Таким образом, эта операционная система, получившая название MSX-DOS, учитывала необходимость поддержки обширного программного обеспечения, разработанного для СР/М, и одновременно ориентировалась на новые в то время разработки, связанные с DOS.

4. Операционные системы, основанные на графическом интерфейсе

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

Операционные системы для этих машин были спроектированы так, чтобы максимально использовать возможности работы с графикой. В них используется многооконный интерфейс и манипулятор "мышь". Для выбора той или иной операции или рабочего объекта на экран выводится несколько условных графических символов (пиктограмм), среди которых пользователь делает выбор с помощью "мыши".

5. Пи - система

В начальный период развития персональных компьютеров была создана операционная система USCD p-system. Основу этой системы составляла так называемая П-машина - программа, эмулирующая гипотетическую универсальную вычислительную машину. П-машина имитирует работу процессора, памяти и внешних устройств, выполняя специальные команды, называемые П-кодом. Программные компоненты Пи-системы (в том числе компиляторы) составлены на П-коде, прикладные программы также компилируются в П-код. Таким образом, главной отличительной чертой системы являлась минимальная зависимость от особенностей аппаратуры ПЭВМ. Именно это обеспечило переносимость Пи-системы на различные типы машин. Компактность П-кода и удобно реализованный механизм подкачки позволял выполнять сравнительно большие программы на ПЭВМ, имеющих небольшую оперативную память.

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

6. Операционные системы семейства UNIX

Система UNIX приобрела популярность в связи с ее успешным использованием на мини-ЭВМ. Этот успех послужил толчком к тому, чтобы создать подобную систему и для персональных компьютеров. Как правило, различные версии ОС, относящихся к этому семейству, имеют свои названия, но в основных чертах повторяют особенности UNIX.

UNIX - операционная система, которая позволяет осуществить выполнение работ в многопользовательском и многозадачном режиме. Поначалу она предназначалась для больших ЭВМ, чтобы заменить MULTICS. UNIX является очень мощным средством в руках программиста, но требует очень большого объёма ОЗУ и пространства диска. Несмотря на попытки стандартизировать эту операционную систему, существует большое количество различных его версий, главным образом потому, что она была распространена в виде программы на языке Си, которую пользователи стали модифицировать для своих собственных нужд.

Главной отличительной чертой этой системы является ее модульность и обширный набор системных программ, которые позволяли создать благоприятную обстановку для пользователей-программистов. Система UNIX органически сочетается с языком Си, на котором написано более 90% ее собственных модулей. Командный язык системы практически совпадает с языком Си, что позволяло очень легко комбинировать различные программы при создании больших прикладных систем.

UNIX имеет "оболочку", с которой пользователь непосредственно взаимодействует, и "ядро", которое, собственно, и управляет действиями компьютера. Компьютер выводит в качестве приглашения для ввода команд долларовый знак. Из-за продолжительности пользования этой операционной системы количество команд весьма велико. В добавление к командам по управлению файлами, которые присутствуют в любой операционной системе, UNIX имеет, по крайней мере, один текстовый редактор, а также форматер текста и компилятор языка Си, что позволяет, по мере надобности, модифицировать "оболочку".

От UNIX многие другие операционные системы переняли такие функции, как переназначение, канал и фильтр; однако UNIX имеет несомненно преимущество в том, что она с самого начала разрабатывалась как многопользовательская и многозадачная операционная система. Имена файлов могут иметь 14 знаков, причём в именах файлов различаются заглавные и строчные буквы. Первоначальный набор команд операционной системы расширился до 143 в версии 7.0; в версии System III добавилась ещё 71 команда, ещё 25 - в Berkeley 4.1 и следующие 114 в Berkeley 4.2. Из-за такого обилия команд UNIX не относится к самым удобным для пользователя языкам. Работа облегчается, если применять графический пользовательский интерфейс, но поскольку такое количество команд и без того занимает значительный объём памяти, этот интерфейс требует ещё большего объёма памяти и пространства диска.

Разновидности современных операционных систем

1. MS-DOS

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

Ограничения DOS

Без сомнения, главная отличительная черта вычислительных систем 90-х годов - графический интерфейс пользователя (graphical user interface, GUI). Сторонники GUI утверждают, что этот ориентированный на непосредственное визуальное восприятие обрабатываемых объектов интерфейс сильно ускоряет работу с ПК и за счет простоты освоения делает его более доступным массовому потребителю.

Более серьезный недостаток - ограничение памяти, доступной DOS-программ - 640 К. На самом деле DOS может использовать до 1 Mb ОЗУ, но архитектура IBM PC сокращает доступную память до 640 К. Есть множество обходных путей - отображаемая память, расширенная память, расширители DOS, блоки верхней памяти, создаваемые диспетчерами памяти для процессора 80386, но факт остается фактом: не существует естественного способа, позволяющего прикладным программам использовать мегабайты ОЗУ, установленные на современных машинах.

Единственный надежный способ преодолеть эти барьеры раз и навсегда - заставить процессор работать в защищенном режиме. Но ни DOS, ни ее прикладные программы не способны работать в этом режиме, поэтому огромные пространства расширенной памяти остаются недоступными для большинства программ.

Скелетная природа DOS привлекает разработчиков программного обеспечения. Большинство основных прикладных программ общаются с экраном, клавиатурой и принтером в обход DOS, так как предоставляемые ею услуги по организации интерфейса с этими и другими устройствами совершенно недостаточны. DOS, например, не поддерживает ввод-вывод через последовательный порт по прерываниям. Программисты тратят довольно много времени на написание драйверов для сотен различных принтеров и видеоадаптеров. Конфигурации оборудования бывают настолько разнообразными, что трудно написать программу, которая работала бы на любом IBM-совместимом компьютере. Кроме общей файловой системы DOS здесь мало чем может помочь.

Прикладная программа, написанная для Windows, наоборот, будет работать на любом ПК, удовлетворяющем жестким требованиям Windows. Что важно, ответственность за подготовку драйверов перекладывается с разработчика программного обеспечения на изготовителя оборудования, так что разработчик может посвятить больше времени работе над ядром программы.

Не так-то просто обучиться пользоваться различными DOS-программами. В DOS нет стандартного интерфейса для прикладных программ, поэтому то, что работает в одной программе, вероятнее всего, не будет работать в другой. Для того чтобы записать файл в Windows-программе достаточно выбрать пункт Save из меню File. В программе WordPerfect for DOS для того, чтобы начать этот процесс, необходимо нажать F10. В пакете Lotus 1-2-3 - /FS. Этот список можно продолжать сколько угодно. Исследования показывают, что средний пользователь IBM-совместимого ПК регулярно используют две-три прикладные программы, пользователи же компьютеров Macintosh - почти вдвое больше. Одно из возможных объяснений такой разницы состоит в том, что благодаря подобию программных изделий для Macintosh пользователь, знакомый с одной прикладной программой, легче осваивает другие.

Еще один "черный шар" против DOS - полное отсутствие мультизадачности. DOS предназначена для одновременного выполнения только одной программы, и попытки заставить ее работать по-другому (за исключением некоторых очень специфичных случаев) чреваты крахом системы. Даже резидентные программы (TSR), являющиеся ограниченным, но все же весьма полезным исключением из правила, осложняют дело, когда конфликтуют друг с другом или с другими элементами системы. Имеется большое количество изделий различных фирм, обеспечивающих мультизадачность или переключение задач в системах, базирующихся на DOS, но ни одна из них не может сравниться по эффективности с такой операционной системой, как OS/2, которая с самого начала была предназначена для одновременной работы нескольких программ.

Сила в простоте

Одна из наиболее очевидных сильных сторон DOS - умеренные требования к оборудованию. Для того, чтобы работать с Windows на более или менее приемлемой скорости, необходим как минимум ПК на основе процессора 80386 с не менее чем 4Мбайт ОЗУ. Если надо DOS может вполне нормально работать с 640 Кбайт и на процессоре 8088. DOS-программы работают быстро, по большей части благодаря тому, что большинство из них использует текстовый режим дисплея. Даже графические DOS-программы, как правило, в несколько раз быстрее своих Windows-аналогов, так как над ними не довлеет GDI (Graphics Device Interface, интерфейс графического устройства, компонент Windows, который используется программами для вывода на экран). То, что один толкует как недостаток, другому кажется достоинством. Для пользователя, знакомого с командами DOS и достаточно быстро работающего на клавиатуре, командная строка - оружие, а не ловушка.

Простота DOS позволяет делать то, что неосуществимо в более сложных операционных средах. Например, можно с помощью команды DEBUG создать очень мощные утилиты. API (application programming interface, интерфейс прикладных программ) DOS достаточно прост, и даже начинающие программисты могут научиться писать полезные программы. В то же время API Windows очень сложен и для овладения им необходимо несколько месяцев. Кроме того, создание программ для Windows требует изощренных инструментальных средств, в частности редакторов ресурсов, компиляторов и отладчиков, работающих в этой операционной системе. Не случайно, что для Windows гораздо меньше условно бесплатного и бесплатного программного обеспечения.

2. Windows 3.1x

Ключевой идеей Windows является обеспечение полной независимости программ от аппаратуры. Система Windows 3.1 изначально создавалась так, чтобы полностью взять на себя общение с конкретным типом дисплея или принтера. Как пользователю, так и программисту, создающему приложение под Windows предоставлены универсальные средства, снимающие проблему обеспечения совместимости с конкретной аппаратурой (аппаратная совместимость) и программным обеспечением (программная совместимость).

Унифицированный единый графический интерфейс с пользователем облегчает изучение новых программных продуктов.

Одним из средств, обеспечивающих программную совместимость, является механизм обмена данными между различными приложениями. Специальный "почтовый ящик" (clipboard) Windows 3.1 позволяет пользователю переносить информацию из одного приложения в другое, не заботясь о ее формате и представлении. В отличии от профессиональных операционных систем, где механизм обмена данных между программами доступен только программисту, в Windows 3.1 это делается очень просто и наглядно для пользователя.

Механизм обмена данных между приложениями - жизненно важное свойство многозадачной среды. И в настоящее время производители программного обеспечения пришли уже к выводу, что для переноса данных из одного приложения в другое одного "почтового ящика" явно недостаточно. Появился новый, более универсальный механизм - OLE (Object Linking Embedded - Встроенная Объектная Связь), который позволяет переносить из одного приложения в другое разнородные данные.

Windows не только позволяет работать с привычным программным продуктом, но и предлагает дополнительные возможности (запуск нескольких программ одновременно, быстрое переключение с одной программы на другую, обмен данными между ними и т.п.). Обеспечена возможность работы со всеми прикладными программами MS-DOS (текстовыми процессорами, СУБД, электронными таблицами и пр.).

Windows 3.1 может работать в одном из трех режимов: Real (реальном), Standart (стандартном), 386 Enhanced (расширенном). В процессе установки Windows анализирует имеющиеся аппаратные ресурсы и автоматически устанавливает режим, наиболее полно использующий возможности имеющейся аппаратуры.

В реальном режиме Windows 3.1 не использует аппаратные возможности, не поддерживаемые MS-DOS (этот режим является единственно возможным для машин с процессором 8086/8088): как и в MS-DOS, пользователь ограничен оперативной памятью в 640 Кбайт.

В стандартном режиме (возможном на компьютерах с процессором 80286 или 80386) Windows 3.1 полностью использует имеющуюся на компьютере расширенную память, загружая туда все приложения, написанные специально для Windows. Программы DOS загружаются в обычную память.

В расширенном режиме (возможном на компьютерах с процессором 80386 и выше) при запуске приложений (как Windows, так и обычных программ для MS-DOS) Windows 3.1 поддерживает т.н. режим виртуальной машины (запускаемой программе как бы выделяется свой собственный компьютер со всеми ресурсами), реализуя многозадачную среду.

Windows 3.1 позволяет запускать одновременно несколько программ (в том числе одну и ту же программу несколько раз), с возможностью мгновенного переключения с одной программы на другую. Это позволяет инициировать длительный процесс (печать, сортировку и копирование больших объемов данных) и заняться другой работой, а не ждать, пока он закончится.indows 3.1x

3. Windows 95

Windows 95 представляет собой продукт эволюционного развития системы Windows 3.1x и не означает полного разрыва с прошлым. Хотя она несет в себе много важных изменений по сравнению с 16-разрядной архитектурой Windows, в ней сохранены некоторые важнейшие свойства ее предшественницы. Результатом стало появление гибридной ОС, способной работать с 16-разрядными прикладными программами Windows, программами, унаследованными от DOS, и старыми драйверами устройств реального режима и в то же время совместимой с истинными 32-разрядными прикладными программами и 32-разрядными драйверами виртуальных устройств.

Среди наиболее важных усовершенствований, появившихся в Windows 95, - изначально заложенная в ней способность работать с 32-разрядными многопотоковыми прикладными программами, защищенные адресные пространства, вытесняющая многозадачность, намного более широкое и эффективное использование драйверов виртуальных устройств и возросшее применение 32-разрядных хипов для хранения структур данных системных ресурсов. Ее наиболее существенный недостаток состоит в относительно слабой защищенности от плохо работающих программ, содержащих ошибки.

Каждая собственная прикладная программа Windows 95 видит неструктурированное 4 Gb-ное адресное пространство, в котором размещается она сама плюс системный код и драйверы Windows 95. Каждая 32-разрядная прикладная программа выполняется так, как будто она монопольно использует весь ПК. Код прикладной программы загружается в это адресное пространство между отметками 2 и 4 Gb. Хотя 32-разрядные прикладные программы "не видят" друг друга, они могут обмениваться данными через буфер обмена (Clipboard), механизмы DDE и OLE. Все 32-разрядные прикладные программы выполняются в соответствии с моделью вытесняющей многозадачности, основанной на управлении отдельными потоками. Планировщик потоков, представляющий собой составную часть системы управления виртуальной памятью (VMM), распределяет системное время среди группы одновременно выполняемых потоков на основе оценки текущего приоритета каждого потока и его готовности к выполнению. Вытесняющее планирование позволяет реализовать намного более плавный и надежный механизм многозадачности, чем кооперативный метод, используемый в Windows 3.1x.

Системный код Windows 95 размещается выше границы 2 Gb. В пространстве между отметками 2 и 3 Gb находятся системные библиотеки DLL кольца 3 и любые DLL, используемые несколькими программами. (32-разрядные процессоры фирмы Intel предоставляют четыре уровня аппаратной защиты, поименованные, начина с кольца 0 до кольца 3. Кольцо 0 наиболее привилегированно.) Компоненты кольца 0 в системе Windows 95 отображаются в пространство между 3 и 4 Gb. Эти важные участки кода с максимальным уровнем привилегий содержат подсистему управления виртуальными машинами (VMM), файловую систему и драйверы VxD.

Область памяти между 2 и 4 Gb отображается в адресное пространство каждой 32-разрядной прикладной программы, т. е. оно совместно используется всеми 32-разрядными прикладными программами в вашем ПК. Такая организация позволяет обслуживать вызовы API непосредственно в адресном пространстве прикладной программы и ограничивает размер рабочего множества. Однако за это приходится расплачиваться снижением надежности. Ничто не может помешать программе, содержащей ошибку, произвести запись в адреса, принадлежащие системным DLL, и вызвать крах всей системы.

В области между 2 и 3 Gb также находятся все запускаемые вами 16-разрядные прикладные программы Windows. С целью обеспечения совместимости эти программы выполняются в совместно используемом адресном пространстве, где они могут испортить друг друга так же, как и в Windows 3.1x.

Адреса памяти ниже 4 Mb также отображаются в адресное пространство каждой прикладной программы и совместно используются всеми процессами. Благодаря этому становится возможной совместимость с существующими драйверами реального режима, которым необходим доступ к этим адресам. Это делает еще одну область памяти незащищенной от случайной записи. К самым нижним 64 К этого адресного пространства 32-разрядные прикладные программы обращаться не могут, что дает возможность перехватывать неверные указатели, но 16-разрядные программы, которые, возможно, содержат ошибки, могут записывать туда данные.

4. Windows NT

Windows NT по существу представляет собой операционную систему сервера, приспособленную для использования на рабочей станции. Этим обусловлена архитектура, в которой абсолютная защита прикладных программ и данных берет верх над соображениями скорости и совместимости. Чрезвычайная надежность Windows NT обеспечивается ценой высоких системных затрат, поэтому для получения приемлемой производительности необходимы быстродействующий процессор и по меньшей мере 16 Mb ОЗУ. Как и в OS/2 Warp, в системе Windows NT безопасность нижней памяти достигается за счет отказа от совместимости с драйверами устройств реального режима. В среде Windows NT работают собственные 32-разрядные NT-прикладные программы, а также большинство прикладных программ Windows 95. Так же, как OS/2 Warp и Windows 95, система Windows NT позволяет выполнять в своей среде 16-разрядные Windows- и DOS-программы.

Схема распределения памяти Windows NT разительно отличается от распределения памяти систем Windows 95 и OS/2 Warp. Собственные прикладным программам выделяется 2 Gb особого адресного пространства, от границы 64 К до 2 Gb (первые 64 К полностью недоступны). Прикладные программы изолированы друг от друга, хотя могут общаться через буфер обмена Clipboard, механизмы DDE и OLE.

В верхней части каждого 2 Gb блока прикладной программы размещен код, воспринимаемый прикладной программой как системные библиотеки DLL кольца 3. На самом деле это просто заглушки, выполняющие перенаправление вызовов, называемые DLL клиентской стороны (client-side DLLs). При вызове большинства функций API из прикладной программы библиотеки DLL клиентской стороны обращаются к локальным процедурам (Local Process Communication - LPC), которые передают вызов и связанные с ним параметры в совершенно изолированное адресное пространство, где содержитс собственно системный код. Этот сервер-процесс (server process) проверяет значения параметров, исполняет запрошенную функцию и пересылает результаты назад в адресное пространство прикладной программы. Хотя сервер-процесс сам по себе остается процессом прикладного уровня, он полностью защищен от вызывающей его прикладной программы и изолирован от нее.

Между отметками 2 и 4 Gb расположены низкоуровневые системные компоненты Windows NT кольца 0, в том числе ядро, планировщик потоков и диспетчер виртуальной памяти. Системные страницы в этой области наделены привилегиями супервизора, которые задаются физическими схемами кольцевой защиты процессора. Это делает низкоуровневый системный код невидимым и недоступным по записи для программ прикладного уровня но приводит к падению производительности во врем переходов между кольцами.

Для 16-разрядных прикладных Windows-программ Windows NT реализует сеансы Windows on Windows (WOW). Как и OS/2 Warp, Windows NT дает возможность выполнять 16-разрядные программы Windows индивидуально в собственных пространствах памяти или совместно в разделяемом адресном пространстве. Почти во всех случаях 16- и 32-разрядные прикладные программы Windows могут свободно взаимодействовать, используя OLE (при необходимости через особые процедуры thunk) независимо от того, выполняются они в отдельной или общей памяти. Собственные прикладные программы и сеансы WOW выполняются в режиме вытесняющей многозадачности, основанной на управлении отдельными потоками. Множественные 16-разрядные прикладные программы Windows в одном сеансе WOW выполняются в соответствии с кооперативной моделью многозадачности. Windows NT может также выполнять в многозадачном режиме несколько сеансов DOS. Поскольку Windows NT имеет полностью 32-разрядную архитектуру, не существует теоретических ограничений на ресурсы GDI и USER.

5. OS/2 Warp

В апреле 1987 г. компании IBM и Microsoft объявили о совместных планах по созданию новой операционной системы: OS/2. Прошло несколько лет, и мир стал свидетелем "бракоразводного процесса", в результате чего у OS/2 остался один родитель - компания IBM, а фирма Microsoft отдала все симпатии любимому детищу, имя которому Windows. Важно помнить, что OS/2 - это новая операционная система с графическим интерфейсам пользователя (ГИП), в то время как Windows представляет собой ГИП, работающий "поверх" DOS.

OS/2 является полностью защищенной операционной системой, благодаря чему невозможны конфликты между программами в памяти. Многозадачная система OS/2 способна выполнять одновременно несколько прикладных программ: например, Вы можете начать пересчет электронной таблицы, запустить печать документа в текстовом редакторе, связной пакет для приема/передачи сообщений электронной почты, а затем продолжить поиск записей в базе данных.

Система OS/2 поддерживает многопроцессные прикладные программы, рассчитанные на одновременное выполнение нескольких внутренних функций. Примерами могут служить текстовый редактор, в котором печать документа и проверка правописания осуществляются параллельно; электронная таблица с возможностью одновременного выполнения функций пересчета и просмотра или база данных, в которой можно совмещать функции обновления и поиска записей.

Архитектура OS/2 Warp Connect 3.0 во многом похожа на архитектуру Windows 95, но в ее концепции заложено меньше компромиссов, связанных с использованием старого 16-разрядного кода. В результате появилась ОС с лучшими, чем у Windows 95, средствами защиты, в которой можно выполнять программы OS/2, Win16 и DOS, однако несовместимая с 16-разрядными драйверами устройств. 32-разрядные прикладные программы Windows не могут выполняться в среде OS/2 Warp.

Собственным 32-разрядным прикладным программам OS/2 доступно 4 Gb-ное отдельное адресное пространство. Код прикладных программ отображается в диапазон адресов от 0 до 512 Mb, системный код OS/2 отображается в пространство от 512 Mb до 4 Gb. Эта область системного кода используется совместно всеми процессами. Исполняемые 32-разрядные прикладные программы изолированы друг от друга, хотя они могут общаться между собой с помощью средств вырезания и вставки (cut-and-paste) или механизма DDE OS/2. В системе OS/2 Warp применяется модель вытесняющей многозадачности собственных прикладных программ, основанная на управлении отдельными потоками.

Такая организация обладает во многом теми же достоинствами и недостатками, что свойственны Windows 95. Выделение системных ресурсов происходит гладко, а вызовы, направляемые в системные API, могут обслуживаться без существенных накладных расходов, так как системные DLL расположены в тех же адресных пространствах, что и вызывающая прикладная программа. Размер рабочего множества тоже удерживается в разумных пределах, так как не нужно создавать множественные экземпляры системных DLL. Но защита не гарантируется, поскольку плохо работающие прикладные программы все же могут испортить важные системные области.

Однако в некоторых важных аспектах OS/2 Warp превосходит систему Windows 95. Проблемы ограниченности системных ресурсов не существует, так как в OS/2 Warp не используются 64 К хипы для хранения структур данных системных DLL. Эта ОС также предоставляет несколько служебных средств, отсутствующих в Windows, в том числе модель системных объектов (SOM) и REXX, мощный командный язык, используемый на многих платформах фирмы IBM.

В дополнение к собственным 32-разрядным прикладным программам, OS/2 Warp может выполнять 16-разрядные прикладные программы Windows. В зависимости от того, какую версию вы приобрели, OS/2 Warp использует для этой цели либо копию Microsoft Windows 3.1, либо собственные библиотеки Win-OS/2. В любом случае вы можете по своему выбору запустить сеанс Windows для каждой Windows-программы или выполнять все Windows-программы в совместно используемом адресном пространстве. Последний подход может обеспечить лучшую совместимость, но грозит обернуться потерей устойчивости, так как в этом случае ОС работает в сущности подобно Windows 3.1x. OS/2 Warp позволяет также запускать прикладные программы DOS на легко конфигурируемых виртуальных машинах DOS, работающих в режиме вытесняющей многозадачности.

Архитектура OS/2 не предназначена для запуска в ней драйверов устройств реального режима, поэтому ваши аппаратные средства должны поставляться с собственными драйверами OS/2. Преимущество такого подхода в том, что OS/2 может полностью защитить первые 4 Mb памяти прикладной программы, т. е. область, которая по-прежнему остается незащищенной от аварийных сбоев в среде Windows 95.

18 вопрос


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: